annotate 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
rev   line source
bgneal@1 1 .. role:: strike
bgneal@1 2 :class: strike
bgneal@1 3
bgneal@0 4 Introduction to Distributed Version Control with Mercurial
bgneal@0 5 ==========================================================
bgneal@0 6
bgneal@0 7 ----
bgneal@0 8
bgneal@1 9 (Sublimal Message)
bgneal@1 10 ==================
bgneal@1 11
bgneal@1 12 (We should be using this at work... )
bgneal@1 13 -------------------------------------
bgneal@1 14
bgneal@1 15 (Seriously... )
bgneal@1 16
bgneal@1 17 ----
bgneal@1 18
bgneal@1 19
bgneal@0 20 # whoami
bgneal@0 21 ========
bgneal@0 22
bgneal@0 23 Brian Neal <bgneal1@rockwellcollins.com>
bgneal@0 24
bgneal@0 25 Started at Rockwell Collins in July 1999
bgneal@0 26
bgneal@1 27 Perhaps you've recognized me from the following programs:
bgneal@0 28
bgneal@0 29 - UMS (July 1999 - Spring 2000)
bgneal@0 30 - Surgical Strike - (Spring - Fall 2000)
bgneal@0 31 - JTRS 2B - (Fall 2000 - Summer 2001)
bgneal@0 32 - SCAMP SEP - (Summer 2001 - October 2004)
bgneal@0 33 - TTNT (January 2005 - Present)
bgneal@0 34
bgneal@0 35 ----
bgneal@0 36
bgneal@0 37 Brief History of Version Control Tools
bgneal@0 38 ======================================
bgneal@0 39
bgneal@0 40 First Generation
bgneal@0 41 ----------------
bgneal@0 42
bgneal@1 43 - No networking!
bgneal@1 44 - Concurrency method: locks
bgneal@0 45 - Examples:
bgneal@0 46
bgneal@0 47 - SCCS - 1972
bgneal@0 48 - RCS - 1982
bgneal@0 49
bgneal@0 50 ----
bgneal@0 51
bgneal@0 52 Brief History of Version Control Tools
bgneal@0 53 ======================================
bgneal@0 54
bgneal@0 55 Second Generation
bgneal@0 56 -----------------
bgneal@0 57
bgneal@0 58 - Client/Server networking; CVCS (Centralized Version Control)
bgneal@1 59 - Concurrency method: merge before commit
bgneal@0 60 - Examples:
bgneal@0 61
bgneal@0 62 - CVS - 1990
bgneal@0 63 - IBM Rational ClearCase - 1992
bgneal@0 64 - Visual SourceSafe - 1994
bgneal@0 65 - Perforce - 1995
bgneal@0 66 - SVN - 2000
bgneal@0 67
bgneal@0 68 ----
bgneal@0 69
bgneal@0 70 Brief History of Version Control Tools
bgneal@0 71 ======================================
bgneal@0 72
bgneal@0 73 Third Generation
bgneal@0 74 ----------------
bgneal@0 75
bgneal@0 76 - Distributed networking; DVCS (Distributed Version Control)
bgneal@1 77 - Concurrency method: commit then merge
bgneal@1 78 - Examples:
bgneal@0 79
bgneal@0 80 - Bitkeeper - 2000
bgneal@0 81 - Darcs - 2003
bgneal@0 82 - Monotone - 2003
bgneal@0 83 - Git - 2005
bgneal@0 84 - **Mercurial** - 2005
bgneal@0 85 - Fossil - 2006
bgneal@0 86 - Bazaar - 2007
bgneal@1 87 - Veracity - 2011
bgneal@1 88
bgneal@1 89 ----
bgneal@1 90
bgneal@1 91 What is a CVCS Again?
bgneal@1 92 =====================
bgneal@1 93
bgneal@1 94 .. image:: images/cvcs.png
bgneal@1 95
bgneal@1 96 ----
bgneal@1 97
bgneal@1 98 What is a CVCS Again?
bgneal@1 99 =====================
bgneal@1 100
bgneal@1 101 Basic SVN commands:
bgneal@1 102
bgneal@1 103 - add, remove, copy, move, mkdir
bgneal@1 104 - checkout, commit, update, revert
bgneal@1 105 - merge, resolved, diff
bgneal@1 106 - status
bgneal@1 107 - lock, unlock
bgneal@1 108
bgneal@1 109 ----
bgneal@1 110
bgneal@1 111 So what's a DVCS look like?
bgneal@1 112 ===========================
bgneal@1 113
bgneal@1 114 .. image:: images/dvcs.png
bgneal@1 115
bgneal@1 116 All repositories are peers. By convention only, one repository is designated the master.
bgneal@1 117 It is possible for all peers to exchange changes.
bgneal@1 118
bgneal@1 119 ----
bgneal@1 120
bgneal@1 121 So what's a DVCS look like?
bgneal@1 122 ===========================
bgneal@1 123
bgneal@1 124 Mercurial (hg) vs SVN commands:
bgneal@1 125
bgneal@1 126 - add, remove, copy, move, :strike:`mkdir`
bgneal@1 127 - :strike:`checkout`, commit, update, revert
bgneal@1 128 - merge, resolve, diff
bgneal@1 129 - status
bgneal@1 130 - :strike:`lock, unlock`
bgneal@1 131
bgneal@1 132 Additional "distributed commands":
bgneal@1 133
bgneal@1 134 - clone, push, pull
bgneal@1 135 - incoming, outgoing
bgneal@1 136 - serve
bgneal@1 137