SlideShare a Scribd company logo
What is Revision
   Control
• Allows multiple people to collaborate on a
  file.
Apple
Oranges
Cherries
Milk
Apple Pear Chinese
Noodles
Pomegranate
Strawberries
Bananas
$ rc add 2009-12-11.txt
$ rc commit -m 'Added the Grocery List for
Friday 11 Dec, 2009.'

Recommended for you

Google App Engine
Google App EngineGoogle App Engine
Google App Engine

Google App Engine allows users to develop and run web applications on Google's infrastructure without having to manage servers. It provides automatic scaling, a data store based on BigTable, user authentication through Google accounts, and scheduled tasks. Applications run in a secure sandbox and are only able to access other computers through HTTP and email. The SDK allows local development and testing before deploying apps to Google's servers from Windows or Mac computers.

appenginepygta
The Internet and Your Business
The Internet and Your BusinessThe Internet and Your Business
The Internet and Your Business

The document discusses the importance for businesses to have an online presence and manage their online reputation. It recommends that businesses (1) register on all review sites and social networks to look accessible to customers, (2) have their own website to control their online search results, and (3) give away their expertise for free through content instead of traditional advertising which people dislike. Maintaining an online presence helps businesses respond to customer feedback and introduces prospective customers to accurate information about the company.

GTALUG Presentation on CouchDB
GTALUG Presentation on CouchDBGTALUG Presentation on CouchDB
GTALUG Presentation on CouchDB

Apache CouchDB is a distributed, schema-free document-oriented database accessible via RESTful HTTP/JSON API. It provides features like replication with bi-directional conflict detection/resolution and queryable/indexable documents using JavaScript views. Each record is stored as a document with flexible structure. CouchDB embraces REST and uses JSON, avoiding complexity of XML. It allows querying and indexing documents with JavaScript and supports features like distributed architecture and replication between nodes.

gtalugpygtacouchdb
$ rc log
reversion: 1
author: Myles Braithwaite
summary: Added the Grocery List for Friday
11 Dec, 2009.
Apple
Oranges
Cherries
Milk
Chinese White Pear Apple Pear Chinese
Noodles
Pomegranate
Strawberries
Bananas
$ rc status
Modified: 2009-12-11.txt
$ rc commit -m "It's called a Chinese
White Pear not a Apple Pear Chinese Fruit"
$ rc diff -r 1
diff -r 1 2009-12-11.txt
--- a/2009-12-11.txt	 Thu Dec 03 15:45:38
+++ b/2009-12-11.txt	 Thu Dec 03 15:51:39
@@ -2,7 +2,7 @@
 Oranges
 Cherries
 Milk
-Apple Pear Chinese Fruit
+Chinese White Pear
 Noodles
 Pomegranate
 Strawberries

Recommended for you

The Devil and HTML5
The Devil and HTML5The Devil and HTML5
The Devil and HTML5

The document provides an overview of HTML5 and its new features. It begins by explaining that HTML5 is not a programming language and is mainly used to write web pages. It then discusses how browsers have become application platforms, prompting the need to adopt HTML5. The document outlines some of the major new features in HTML5, including semantic elements like header and nav, new input types, geolocation, local storage, offline web applications, and video playback. It also addresses questions around the future of Flash and which companies are pushing adoption of HTML5.

gtalughtml5
Take a Stroll in the Bazaar
Take a Stroll in the BazaarTake a Stroll in the Bazaar
Take a Stroll in the Bazaar

How to Turn a Pile of Python Files Into an Open Source Project. You have written some Python code, you think it would be useful to the world, and you would like to give back to the open source world. But where do you start? This talk will give you some guidance on how you can release your project

pyconca2015pythonopen source
Becoming a Git Master
Becoming a Git MasterBecoming a Git Master
Becoming a Git Master

This document provides tips and techniques for becoming a Git master, including: 1. Creating aliases to simplify common Git commands like committing and adding remotes. Aliases allow parameters and bash functions for complex commands. 2. Using features like assume-unchanged to hide files from Git and rerere to automate resolving similar conflicts. 3. Interactive rebasing to polish commit histories by squashing, rewording, and fixing up commits. Rebasing rewrites history so care is needed. 4. Techniques for preventing history tampering like reject force pushes and signing tags for verification. GPG keys can be stored and imported in Git. 5. Handling project dependencies with build tools or

developmentdvcsgit
$ rc log
reversion: 1
author: Myles Braithwaite
summary: Added the Grocery List for Friday
11 Dec, 2009.

reversion: 2
author: Other Person
summary: It's called a Chinese White Pear
not a Apple Pear Chinese Fruit
• Attempt to merge changes between two
  commits.
Apple
Oranges
Cherries
Milk
Chinese White Pear
Noodles
Pomegranate
Strawberries
Bananas
Tea
$ rc commit -m 'Added tea to the list'

Recommended for you

Git For Beginer
Git For BeginerGit For Beginer
Git For Beginer

The document discusses the three main states that code can be in with Git: unmodified, staged, and committed. It explains how to use commands like git add, git commit, git status, and git diff to transition code between these states and view changes. It also covers branching, merging, rebasing and rewriting history with commands like git branch, git merge, git rebase and git reset.

Get Good With Git
Get Good With GitGet Good With Git
Get Good With Git

This document provides an overview and introduction to using the version control system Git. It covers basic Git concepts and operations including configuration, the three main states files can be in, committing changes, viewing history and logs, branching, merging, rebasing, tagging, and collaborating remotely. The document also discusses some internals of Git including how objects are stored and how Git and other version control systems originated.

hoffmanlab techtalk
Git real slides
Git real slidesGit real slides
Git real slides

This document provides an introduction to Git basics and concepts. It covers version control systems and why distributed version control is useful. It then discusses how Git originated from the Linux kernel project. The document reviews basic Git commands and workflows for setting up a repository, tracking and committing changes. It also covers viewing differences between commits, staging files, and undoing or amending commits. Finally, it discusses sharing repositories remotely including adding remotes, pushing and pulling from remote repositories, and cloning repositories from remote URLs.

Apple @done
Oranges @done
Cherries @done
Milk
Chinese White Pear
Noodles
Pomegranate
Strawberries
Bananas
$ rc commit -m 'Went to the Grocery store
and picked up Apples, Oranges, and
Cherries.'

The Repository is Out of Sync. Please
merge the new changes.
$ rc merge
Merge was successful.
$ rc commit -m 'Merging changes'
Strawberries
Bananas
<<< HEAD
Tea (Chai)
>>>>
<<<< 6
Tea (Green)
>>>>

Recommended for you

Git_real_slides
Git_real_slidesGit_real_slides
Git_real_slides

This document provides an introduction to Git basics and concepts. It covers version control systems and why distributed version control is useful. It then discusses how Git originated from the Linux Kernel project. The document reviews basic Git commands and workflows for setting up a repository, tracking and committing changes. It also covers viewing differences between commits, staging files, and undoing or amending commits. Finally, it discusses sharing repositories remotely including adding remotes, pushing and pulling from remote repositories, and cloning repositories from remote URLs.

git realgit slidegit scm
Loading...git
Loading...gitLoading...git
Loading...git

The document provides an introduction and overview of Git. It begins with an introduction of the presenter and then asks poll questions to gauge who is and isn't using source code management systems. It then proceeds to explain what Git is, why it's useful, how to configure and set up a Git repository, how to add and commit changes, create and switch branches, undo changes, and work with remote repositories and resolve conflicts.

Introducción a git y GitHub
Introducción a git y GitHubIntroducción a git y GitHub
Introducción a git y GitHub

Diapositivas de la charla dada por la gente de uno21.com.ar (@luke_ar y @matitanio) en la UP, el día 21/08/2012. Próximamente en otras universidades :)

cvsintrogithub
Mercurial
Myles Braithwaite
me@mylesbraithwaite.com
@mylesb
History


• Matt Machall
• Originally developed for the Linux Kernel.
• For some reason Torvalds’ picked Git?
Quick Facts


• Implemented in the awesome Python
  programming language.
 • But includes a binary diff written in C.
• Originally written to run on Linux.
• But it has been successfully ported to run
  natively on Mac OS X, Windows, and
  other Unix-like systems.

Recommended for you

Build Golang projects properly with Makefiles
Build Golang projects properly with MakefilesBuild Golang projects properly with Makefiles
Build Golang projects properly with Makefiles

The document discusses best practices for building Golang projects using Makefiles. It recommends using Makefiles to define targets for building, installing, and cleaning projects for easy and portable compilation. Makefiles allow setting compile-time variables like version numbers and build timestamps. Using the Git commit hash instead of timestamps helps ensure reproducible builds that do not change with each compilation. Defining targets, variables, and build logic in Makefiles provides a consistent way to develop, build, and manage Golang projects.

Becoming a Git Master - Nicola Paolucci
Becoming a Git Master - Nicola PaolucciBecoming a Git Master - Nicola Paolucci
Becoming a Git Master - Nicola Paolucci

Wrapped in a single session, you'll find the concepts and techniques that convert the average Git practitioner into a master of the craft. We'll go from technical topics like "efficient conflict resolution" and "effective code cleanup," to the often-asked "how to handle project dependencies with Git" and "how to manage massive repositories." And much more.

Git walkthrough
Git walkthroughGit walkthrough
Git walkthrough

Git walkthrough outlines the basics of using Git including source control, configuration, viewing history, undoing changes, tagging, branching, and hosting on platforms like GitHub. It discusses initializing and cloning repositories, adding, committing, and pushing changes. Specific commands are demonstrated for status checking, diffing, resetting, merging, and more. New features introduced in Git 2.0 such as improved defaults for push and add are also reviewed.

espacegitgithub
• Python (http://hg.python.org)
• Mozilla (http://hg.mozilla.org)
• OpenSolaris
• OpenJDK (http://hg.openjdk.java.net)
• OpenOffice.org
• More here: http://j.mp/ProjectUsingHg
Installation (Linux)
# Debian or Ubuntu
$ aptitude install mercurial

# Fedora
$ yum install mercurial

# Gentoo
$ emerge mercurial

# OpenSolaris
$ pkg install SUNWmercurial
Installation (Windows)


• Download and install the official exe.
• Download TortoiseHg (http://tortoisehg.org)
 • Integrates Mercurial directly into explorer.
Installation (Mac OS X)


• Install the DMG file.

Recommended for you

Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017

This document provides numerous examples of Git aliases that can help streamline workflows. It begins by demonstrating aliases for common commands like status, last commit, checkout, add, commit, reset, and grep. It then shows more advanced aliases for managing branches, commits, and reflogs. Throughout, it emphasizes that aliases can make workflows more efficient by avoiding repetitive tasks and that teams should consider sharing standardized aliases. It concludes by encouraging readers to continually learn Git, customize workflows for their needs, and view themselves as craftspeople improving their skills.

codemotion milan 2017
Did you git yet?
Did you git yet?Did you git yet?
Did you git yet?

Git is a distributed version control system that provides three main benefits over centralized systems. It allows for offline development, has no single point of failure since anyone can clone a repository, and supports multiple remote repositories. Common Git commands are used to initialize a repository, add and commit changes, manage branches, merge code between branches, and recover from mistakes. Branching best practices include using feature branches for new work and following models like Git Flow to structure team workflows.

gitsoftware engineeringsoftware development
Git basics
Git basicsGit basics
Git basics

Git is a distributed version control system designed to handle small and large projects with speed and efficiency. It allows for fast branching and merging. Git keeps an archive of all code changes over time, allows comparing changes and reverting to old releases, and provides accountability. The basic Git workflow involves modifying files in the working directory, staging files to add a snapshot to the staging area, and committing files which permanently stores the snapshot. Remote branches allow collaborating on code by fetching and pushing changes between local and remote repositories. Common commands include pull, push, commit, branch, tag, merge, and checkout.

version controlgit
Installation (PyPi)


$ easy_install mercurial

$ pip install mercurial
Installation from Source

$ wget http://mercurial.selenic.com/
release/mercurial-1.4.1.tar.gz
$ tar -xzf mercurial-1.4.1.tar.gz
$ cd mercurial-1.4.1
$ python setup.py build
$ sudo python setup.py install
$ hg --version
Mercurial Distributed SCM (version 1.4.1)
$ $EDITOR ~/.hgrc

[ui]
username = Myles Braithwaite <me@myles.tk>
$ export P_DIR=~/GroceryList
$
$ # Create an empty repository on your
$ # local machine.
$ mkdir $P_DIR; cd $P_DIR
$ hg init
$
$ # Clone a remote repository.
$ hg clone ssh://hg.mb/grocery_list $P_DIR
destination directory: /home/m/GroveryList
...
3 files updated, 0 files merged, 0 files
removed, 0 files unresolved

Recommended for you

Working with Git
Working with GitWorking with Git
Working with Git

Working with Git – a simple introduction for those used to working with a VCS like Subversion. Explains concepts and shows examples. Feel free to steal slides for your own purposes.

svnworkflowversion control
Get going with_git_ppt
Get going with_git_pptGet going with_git_ppt
Get going with_git_ppt

1. Git is a distributed version control system designed by Linus Torvalds to track changes in source code during software development. It allows for fast branching and merging of code. 2. In Git, code is stored on local and remote repositories. The basic Git workflow involves initializing a local repository, making changes to code, staging files, committing changes, and pushing commits to a remote repository. 3. Git provides tools to tag specific points in a code's history, such as releases. Tags can be annotated, with a message, to provide context around the code at that snapshot.

git
Git Concepts, Commands and Connectivity
Git Concepts, Commands and ConnectivityGit Concepts, Commands and Connectivity
Git Concepts, Commands and Connectivity

This document provides an overview of Git basics across multiple levels. At level 1, it introduces Git as a distributed version control system and covers basic Git commands and workflows for setting up a local repository, tracking and committing changes. Level 2 covers additional commands for staging changes, viewing differences, resetting and undoing commits, and sharing a repository by adding a remote and pushing/pulling from it. Remote repositories can be hosted or self-managed, and multiple remotes can be used for environments like production, test, etc. Heroku is also mentioned as a hosting platform that can be set up as a remote.

git
$ echo 'Apple' > cat 2009-12-08.txt
$ hg status
? 2009-12-08.txt
$ hg add 2009-12-08.txt
$ hg status
A 2009-12-08.txt
$ hg commit -m 'Added the grocery list for
9th Dec. 2009.'
$ hg status
M 2009-12-08.txt
$ hg diff
diff -r 012549b5c017 2009-12-08.txt
--- a/2009-12-08.txt	 19:42:25
+++ b/2009-12-08.txt 19:44:46
@@ -1,1 +1,2 @@
 Apples
+Pizza
$ hg commit -m 'I am hungry for some
Pizza.'
$ hg log -l 2
changeset:    14:848072d17be0
tag:          tip
user:         Myles Braithwaite
date:         19:49:10
summary:      I am hungry for some Pizza

changeset:   13:012549b5c017
user:        Myles Braithwaite
date:        19:42:25
summary:     Added the grocery list for
9th Dec. 2009.
$ hg annotate 2009-12-08.txt
13: Apples
14: Pizza
15: Nuts
16: Hot Chocolate Mix

Recommended for you

Git - Get Ready To Use It
Git - Get Ready To Use ItGit - Get Ready To Use It
Git - Get Ready To Use It

This document provides an introduction to using Git. Some key points: - Git is a distributed version control system that is different from CVS/SVN in that nearly every operation is local and Git stores snapshots of files rather than differences. - The basics of using Git involve recording changes by checking status, adding files, committing changes, and working with remotes like origin. - Additional topics covered include undoing changes, working with others through branching and merging, tagging versions, and using tools like interactive mode and stashing.

gitworkshopdevelopment
Tool Time
Tool TimeTool Time
Tool Time

The document discusses various productivity tools and techniques for working with Git and on Mac OS X. It provides tips for using Git aliases and commands to simplify workflows. It recommends using TextMate for coding and leveraging its code completion features. It also recommends using multiple monitors, Exposé, Spaces and keyboard shortcuts in Mac OS X to improve efficiency. Priority zones are outlined for focusing on communication, primary work and other tasks.

mac os xgittextmate
Advanced Git
Advanced GitAdvanced Git
Advanced Git

Advanced Git presents the following Git related subjects: - Merging vs. Rebasing. - Reset, Checkout, and Revert. - Advanced Git log. - Git Hooks. - Refs and Reflog. - Git Aliases.

resetrevertrebase
$ hg tags
tip                   16:54c53457b1ac
2009-12-04            9:d1361977c248
$ hg tag 2009-12-08
$ hg tags
tip                   17:21598a08291c
2009-12-08            16:54c53457b1ac
2009-12-04             9:d1361977c248
$ cat .hgtags
d1361977c2... 2009-12-04
54c53457b1... 2009-12-08
# If we cloned the repository.
$ hg push

$ hg push ssh://hg.mb/grocery_list
$ hg pull ssh://hg.mb/grocery_list
pulling from ssh://hg.mb/grocery_list
searching for changes
...
(run 'hg update' to get a working copy)
$ hg update
1 files updated, 0 files merged, 0 files
removed, 0 files unresolved

Recommended for you

Git Introduction
Git IntroductionGit Introduction
Git Introduction

After talking to several Drupal followers during our last meetup, I realised quite a few people still don't employ version control. I strongly consider this best practice when building a site, and thought it would be a good opportunity to go over its importance and how you can make it work for you. Git offers several advantages: • It's super fast • It's easy. • And no you don't need to be familiar with Command Line code (there are several great GUI's out there). GIT Version Control works by keeping track of all successive changes you make to a site. The biggest advantage of this is easily undoing any mistakes you might make along the way. It's a great feeling to know Version Control has your back that you can roll back if something goes catastrophically wrong. It's also a big bonus in collaborative development. As soon as more than one person works on a project things get a lot more complicated. What happens when 2 edits effect the same file? How do you know what's new, what's old and what's changed? No worries, simply merge the variations and let GIT deal with the rest. GIT is not just for the developers of this world but can be a life saver for themers, site maintainers and the like. Most people will admit they should use it, but either don't know how or believe it's hard to integrate. The reality is that it's actually pretty simple and once you start integrating GIT into your workflow you'll ask yourself "Why the hell did I keep using ftp" - I know I did. FTP is so yesterday, its slow, it's cumbersome to use and it's a very manual method. Switch to GIT, start using GIT, and never look back.

drupalversion controlphp
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy

Not so much to say

Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence

Our Linux Web Hosting plans offer unbeatable performance, security, and scalability, ensuring your website runs smoothly and efficiently. Visit- https://onliveserver.com/linux-web-hosting/

cheap linux hosting
$ hg log -l 2
changeset:    20:6dfef8e8a348
tag:          tip
user:         Other Person
summary:      Remove some things fromthe
list that were already entered on Friday'
list.

changeset:     19:1564f5195566
date:          16:30:18
summary:       Added a shopping list for
Sat. 12 Dec.   2009
$ hg diff -r 19
diff -r 1564f5195566 2009-12-12.odt
Binary file 2009-12-12.odt has changed
$ # Using an extension we can call an
$ # external program to run the diff.
$ hg extdiff -p oodiff -r 19
--- GroceryList.1565f5195566/2009-12-12.odt
+++ GroveryList/2009-12-12.odt
@@ -1,12 +1,4 @@

-   Oranges
-
-   Apples
-
-   Bananas
-
-   Cereal
-
    Cherios

    Beer
$ # To enable external diff's extension.
$ $EDITOR .hg/hgrc
[extensions]
extdiff =

Recommended for you

WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf

Profile portofolio

Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM

Quantum Communications Q&A with Gemini LLM. These are based on Shannon's Noisy channel Theorem and offers how the classical theory applies to the quantum world.

quantum communicationsshannon's channel theoremclassical theory
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf

These fighter aircraft have uses outside of traditional combat situations. They are essential in defending India's territorial integrity, averting dangers, and delivering aid to those in need during natural calamities. Additionally, the IAF improves its interoperability and fortifies international military alliances by working together and conducting joint exercises with other air forces.

air force fighter planebiggest submarinezambia port
$ hg serve -n "Shopping List"
GTALUG Short Talk On Mercurial
GTALUG Short Talk On Mercurial
.hgignore
# use global syntax.
syntax: glob
*.pyc
*.pyo
*~

# switch to regular expressions syntax.
syntax: regexp
^.pc/

Recommended for you

What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024

This is a powerpoint that features Microsoft Teams Devices and everything that is new including updates to its software and devices for May 2024

microsoft teamsmicrosoft
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...

Have you noticed the OpenSSF Scorecard badges on the official Dart and Flutter repos? It's Google's way of showing that they care about security. Practices such as pinning dependencies, branch protection, required reviews, continuous integration tests etc. are measured to provide a score and accompanying badge. You can do the same for your projects, and this presentation will show you how, with an emphasis on the unique challenges that come up when working with Dart and Flutter. The session will provide a walkthrough of the steps involved in securing a first repository, and then what it takes to repeat that process across an organization with multiple repos. It will also look at the ongoing maintenance involved once scorecards have been implemented, and how aspects of that maintenance can be better automated to minimize toil.

dartflutteropenssf
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf

Solar Storms (Geo Magnetic Storms) are the motion of accelerated charged particles in the solar environment with high velocities due to the coronal mass ejection (CME).

solar storms
Find out more...


• http://mercurial.selenic.com
Other cool stuff...


• Google Code (http://code.google.com/p)
• Bitbucket (http://bitbucket.org)

More Related Content

Viewers also liked

LessCSS Presentation @ April 2015 GTALUG Meeting
LessCSS Presentation @ April 2015 GTALUG MeetingLessCSS Presentation @ April 2015 GTALUG Meeting
LessCSS Presentation @ April 2015 GTALUG Meeting
Myles Braithwaite
 
extending-php
extending-phpextending-php
extending-php
tutorialsruby
 
Django GTALUG Presentation
Django GTALUG PresentationDjango GTALUG Presentation
Django GTALUG Presentation
Myles Braithwaite
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
Myles Braithwaite
 
The Internet and Your Business
The Internet and Your BusinessThe Internet and Your Business
The Internet and Your Business
Myles Braithwaite
 
GTALUG Presentation on CouchDB
GTALUG Presentation on CouchDBGTALUG Presentation on CouchDB
GTALUG Presentation on CouchDB
Myles Braithwaite
 
The Devil and HTML5
The Devil and HTML5The Devil and HTML5
The Devil and HTML5
Myles Braithwaite
 
Take a Stroll in the Bazaar
Take a Stroll in the BazaarTake a Stroll in the Bazaar
Take a Stroll in the Bazaar
Myles Braithwaite
 

Viewers also liked (8)

LessCSS Presentation @ April 2015 GTALUG Meeting
LessCSS Presentation @ April 2015 GTALUG MeetingLessCSS Presentation @ April 2015 GTALUG Meeting
LessCSS Presentation @ April 2015 GTALUG Meeting
 
extending-php
extending-phpextending-php
extending-php
 
Django GTALUG Presentation
Django GTALUG PresentationDjango GTALUG Presentation
Django GTALUG Presentation
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
The Internet and Your Business
The Internet and Your BusinessThe Internet and Your Business
The Internet and Your Business
 
GTALUG Presentation on CouchDB
GTALUG Presentation on CouchDBGTALUG Presentation on CouchDB
GTALUG Presentation on CouchDB
 
The Devil and HTML5
The Devil and HTML5The Devil and HTML5
The Devil and HTML5
 
Take a Stroll in the Bazaar
Take a Stroll in the BazaarTake a Stroll in the Bazaar
Take a Stroll in the Bazaar
 

Similar to GTALUG Short Talk On Mercurial

Becoming a Git Master
Becoming a Git MasterBecoming a Git Master
Becoming a Git Master
Nicola Paolucci
 
Git For Beginer
Git For BeginerGit For Beginer
Git For Beginer
Trung Huynh
 
Get Good With Git
Get Good With GitGet Good With Git
Get Good With Git
Hoffman Lab
 
Git real slides
Git real slidesGit real slides
Git real slides
Lucas Couto
 
Git_real_slides
Git_real_slidesGit_real_slides
Git_real_slides
Khanh NL-bantoilatoi
 
Loading...git
Loading...gitLoading...git
Loading...git
Rafael García
 
Introducción a git y GitHub
Introducción a git y GitHubIntroducción a git y GitHub
Introducción a git y GitHub
Lucas Videla
 
Build Golang projects properly with Makefiles
Build Golang projects properly with MakefilesBuild Golang projects properly with Makefiles
Build Golang projects properly with Makefiles
Raül Pérez
 
Becoming a Git Master - Nicola Paolucci
Becoming a Git Master - Nicola PaolucciBecoming a Git Master - Nicola Paolucci
Becoming a Git Master - Nicola Paolucci
Atlassian
 
Git walkthrough
Git walkthroughGit walkthrough
Git walkthrough
Mahmoud Said
 
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Codemotion
 
Did you git yet?
Did you git yet?Did you git yet?
Did you git yet?
Michael Fong
 
Git basics
Git basicsGit basics
Git basics
Amit Sawhney
 
Working with Git
Working with GitWorking with Git
Working with Git
Pete Nicholls
 
Get going with_git_ppt
Get going with_git_pptGet going with_git_ppt
Get going with_git_ppt
Miraz Al-Mamun
 
Git Concepts, Commands and Connectivity
Git Concepts, Commands and ConnectivityGit Concepts, Commands and Connectivity
Git Concepts, Commands and Connectivity
Raja Soundaramourty
 
Git - Get Ready To Use It
Git - Get Ready To Use ItGit - Get Ready To Use It
Git - Get Ready To Use It
Daniel Kummer
 
Tool Time
Tool TimeTool Time
Tool Time
Ken Collins
 
Advanced Git
Advanced GitAdvanced Git
Advanced Git
Sergiu-Ioan Ungur
 
Git Introduction
Git IntroductionGit Introduction
Git Introduction
Gareth Hall
 

Similar to GTALUG Short Talk On Mercurial (20)

Becoming a Git Master
Becoming a Git MasterBecoming a Git Master
Becoming a Git Master
 
Git For Beginer
Git For BeginerGit For Beginer
Git For Beginer
 
Get Good With Git
Get Good With GitGet Good With Git
Get Good With Git
 
Git real slides
Git real slidesGit real slides
Git real slides
 
Git_real_slides
Git_real_slidesGit_real_slides
Git_real_slides
 
Loading...git
Loading...gitLoading...git
Loading...git
 
Introducción a git y GitHub
Introducción a git y GitHubIntroducción a git y GitHub
Introducción a git y GitHub
 
Build Golang projects properly with Makefiles
Build Golang projects properly with MakefilesBuild Golang projects properly with Makefiles
Build Golang projects properly with Makefiles
 
Becoming a Git Master - Nicola Paolucci
Becoming a Git Master - Nicola PaolucciBecoming a Git Master - Nicola Paolucci
Becoming a Git Master - Nicola Paolucci
 
Git walkthrough
Git walkthroughGit walkthrough
Git walkthrough
 
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
 
Did you git yet?
Did you git yet?Did you git yet?
Did you git yet?
 
Git basics
Git basicsGit basics
Git basics
 
Working with Git
Working with GitWorking with Git
Working with Git
 
Get going with_git_ppt
Get going with_git_pptGet going with_git_ppt
Get going with_git_ppt
 
Git Concepts, Commands and Connectivity
Git Concepts, Commands and ConnectivityGit Concepts, Commands and Connectivity
Git Concepts, Commands and Connectivity
 
Git - Get Ready To Use It
Git - Get Ready To Use ItGit - Get Ready To Use It
Git - Get Ready To Use It
 
Tool Time
Tool TimeTool Time
Tool Time
 
Advanced Git
Advanced GitAdvanced Git
Advanced Git
 
Git Introduction
Git IntroductionGit Introduction
Git Introduction
 

Recently uploaded

Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
rajancomputerfbd
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
ArgaBisma
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Chris Swan
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
welrejdoall
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
Safe Software
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
BookNet Canada
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
HackersList
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 

Recently uploaded (20)

Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 

GTALUG Short Talk On Mercurial

  • 2. • Allows multiple people to collaborate on a file.
  • 4. $ rc add 2009-12-11.txt $ rc commit -m 'Added the Grocery List for Friday 11 Dec, 2009.'
  • 5. $ rc log reversion: 1 author: Myles Braithwaite summary: Added the Grocery List for Friday 11 Dec, 2009.
  • 6. Apple Oranges Cherries Milk Chinese White Pear Apple Pear Chinese Noodles Pomegranate Strawberries Bananas
  • 7. $ rc status Modified: 2009-12-11.txt $ rc commit -m "It's called a Chinese White Pear not a Apple Pear Chinese Fruit"
  • 8. $ rc diff -r 1 diff -r 1 2009-12-11.txt --- a/2009-12-11.txt Thu Dec 03 15:45:38 +++ b/2009-12-11.txt Thu Dec 03 15:51:39 @@ -2,7 +2,7 @@ Oranges Cherries Milk -Apple Pear Chinese Fruit +Chinese White Pear Noodles Pomegranate Strawberries
  • 9. $ rc log reversion: 1 author: Myles Braithwaite summary: Added the Grocery List for Friday 11 Dec, 2009. reversion: 2 author: Other Person summary: It's called a Chinese White Pear not a Apple Pear Chinese Fruit
  • 10. • Attempt to merge changes between two commits.
  • 12. $ rc commit -m 'Added tea to the list'
  • 13. Apple @done Oranges @done Cherries @done Milk Chinese White Pear Noodles Pomegranate Strawberries Bananas
  • 14. $ rc commit -m 'Went to the Grocery store and picked up Apples, Oranges, and Cherries.' The Repository is Out of Sync. Please merge the new changes.
  • 15. $ rc merge Merge was successful. $ rc commit -m 'Merging changes'
  • 18. History • Matt Machall • Originally developed for the Linux Kernel. • For some reason Torvalds’ picked Git?
  • 19. Quick Facts • Implemented in the awesome Python programming language. • But includes a binary diff written in C.
  • 20. • Originally written to run on Linux. • But it has been successfully ported to run natively on Mac OS X, Windows, and other Unix-like systems.
  • 21. • Python (http://hg.python.org) • Mozilla (http://hg.mozilla.org) • OpenSolaris • OpenJDK (http://hg.openjdk.java.net) • OpenOffice.org • More here: http://j.mp/ProjectUsingHg
  • 22. Installation (Linux) # Debian or Ubuntu $ aptitude install mercurial # Fedora $ yum install mercurial # Gentoo $ emerge mercurial # OpenSolaris $ pkg install SUNWmercurial
  • 23. Installation (Windows) • Download and install the official exe. • Download TortoiseHg (http://tortoisehg.org) • Integrates Mercurial directly into explorer.
  • 24. Installation (Mac OS X) • Install the DMG file.
  • 25. Installation (PyPi) $ easy_install mercurial $ pip install mercurial
  • 26. Installation from Source $ wget http://mercurial.selenic.com/ release/mercurial-1.4.1.tar.gz $ tar -xzf mercurial-1.4.1.tar.gz $ cd mercurial-1.4.1 $ python setup.py build $ sudo python setup.py install $ hg --version Mercurial Distributed SCM (version 1.4.1)
  • 27. $ $EDITOR ~/.hgrc [ui] username = Myles Braithwaite <me@myles.tk>
  • 28. $ export P_DIR=~/GroceryList $ $ # Create an empty repository on your $ # local machine. $ mkdir $P_DIR; cd $P_DIR $ hg init $ $ # Clone a remote repository. $ hg clone ssh://hg.mb/grocery_list $P_DIR destination directory: /home/m/GroveryList ... 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
  • 29. $ echo 'Apple' > cat 2009-12-08.txt $ hg status ? 2009-12-08.txt $ hg add 2009-12-08.txt $ hg status A 2009-12-08.txt $ hg commit -m 'Added the grocery list for 9th Dec. 2009.'
  • 30. $ hg status M 2009-12-08.txt $ hg diff diff -r 012549b5c017 2009-12-08.txt --- a/2009-12-08.txt 19:42:25 +++ b/2009-12-08.txt 19:44:46 @@ -1,1 +1,2 @@ Apples +Pizza $ hg commit -m 'I am hungry for some Pizza.'
  • 31. $ hg log -l 2 changeset: 14:848072d17be0 tag: tip user: Myles Braithwaite date: 19:49:10 summary: I am hungry for some Pizza changeset: 13:012549b5c017 user: Myles Braithwaite date: 19:42:25 summary: Added the grocery list for 9th Dec. 2009.
  • 32. $ hg annotate 2009-12-08.txt 13: Apples 14: Pizza 15: Nuts 16: Hot Chocolate Mix
  • 33. $ hg tags tip 16:54c53457b1ac 2009-12-04 9:d1361977c248 $ hg tag 2009-12-08 $ hg tags tip 17:21598a08291c 2009-12-08 16:54c53457b1ac 2009-12-04 9:d1361977c248
  • 34. $ cat .hgtags d1361977c2... 2009-12-04 54c53457b1... 2009-12-08
  • 35. # If we cloned the repository. $ hg push $ hg push ssh://hg.mb/grocery_list
  • 36. $ hg pull ssh://hg.mb/grocery_list pulling from ssh://hg.mb/grocery_list searching for changes ... (run 'hg update' to get a working copy) $ hg update 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  • 37. $ hg log -l 2 changeset: 20:6dfef8e8a348 tag: tip user: Other Person summary: Remove some things fromthe list that were already entered on Friday' list. changeset: 19:1564f5195566 date: 16:30:18 summary: Added a shopping list for Sat. 12 Dec. 2009
  • 38. $ hg diff -r 19 diff -r 1564f5195566 2009-12-12.odt Binary file 2009-12-12.odt has changed
  • 39. $ # Using an extension we can call an $ # external program to run the diff. $ hg extdiff -p oodiff -r 19 --- GroceryList.1565f5195566/2009-12-12.odt +++ GroveryList/2009-12-12.odt @@ -1,12 +1,4 @@ - Oranges - - Apples - - Bananas - - Cereal - Cherios Beer
  • 40. $ # To enable external diff's extension. $ $EDITOR .hg/hgrc [extensions] extdiff =
  • 41. $ hg serve -n "Shopping List"
  • 44. .hgignore # use global syntax. syntax: glob *.pyc *.pyo *~ # switch to regular expressions syntax. syntax: regexp ^.pc/
  • 45. Find out more... • http://mercurial.selenic.com
  • 46. Other cool stuff... • Google Code (http://code.google.com/p) • Bitbucket (http://bitbucket.org)