Mercurial > public > dvcs_intro_brownbag
view slides.rst @ 1:0c3b42165692
More work on the slides.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Tue, 08 Nov 2011 20:52:15 -0600 |
parents | 2fcab9db4f47 |
children | 802024c24c4e |
line wrap: on
line source
.. role:: strike :class: strike Introduction to Distributed Version Control with Mercurial ========================================================== ---- (Sublimal Message) ================== (We should be using this at work... ) ------------------------------------- (Seriously... ) ---- # whoami ======== Brian Neal <bgneal1@rockwellcollins.com> Started at Rockwell Collins in July 1999 Perhaps you've recognized me from the following programs: - UMS (July 1999 - Spring 2000) - Surgical Strike - (Spring - Fall 2000) - JTRS 2B - (Fall 2000 - Summer 2001) - SCAMP SEP - (Summer 2001 - October 2004) - TTNT (January 2005 - Present) ---- Brief History of Version Control Tools ====================================== First Generation ---------------- - No networking! - Concurrency method: locks - Examples: - SCCS - 1972 - RCS - 1982 ---- Brief History of Version Control Tools ====================================== Second Generation ----------------- - Client/Server networking; CVCS (Centralized Version Control) - Concurrency method: merge before commit - Examples: - CVS - 1990 - IBM Rational ClearCase - 1992 - Visual SourceSafe - 1994 - Perforce - 1995 - SVN - 2000 ---- Brief History of Version Control Tools ====================================== Third Generation ---------------- - Distributed networking; DVCS (Distributed Version Control) - Concurrency method: commit then merge - Examples: - Bitkeeper - 2000 - Darcs - 2003 - Monotone - 2003 - Git - 2005 - **Mercurial** - 2005 - Fossil - 2006 - Bazaar - 2007 - Veracity - 2011 ---- What is a CVCS Again? ===================== .. image:: images/cvcs.png ---- What is a CVCS Again? ===================== Basic SVN commands: - add, remove, copy, move, mkdir - checkout, commit, update, revert - merge, resolved, diff - status - lock, unlock ---- So what's a DVCS look like? =========================== .. image:: images/dvcs.png All repositories are peers. By convention only, one repository is designated the master. It is possible for all peers to exchange changes. ---- So what's a DVCS look like? =========================== Mercurial (hg) vs SVN commands: - add, remove, copy, move, :strike:`mkdir` - :strike:`checkout`, commit, update, revert - merge, resolve, diff - status - :strike:`lock, unlock` Additional "distributed commands": - clone, push, pull - incoming, outgoing - serve