comparison slides.html @ 16:048e5aea6d36 tip

Updates for June 2012 presentation.
author Brian Neal <bgneal@gmail.com>
date Mon, 25 Jun 2012 19:51:34 -0500
parents 3547bba86af2
children
comparison
equal deleted inserted replaced
15:70e53cce4ad0 16:048e5aea6d36
72 <aside class="source"> 72 <aside class="source">
73 Source: <a href="slides.rst">slides.rst</a> 73 Source: <a href="slides.rst">slides.rst</a>
74 </aside> 74 </aside>
75 75
76 <aside class="page_number"> 76 <aside class="page_number">
77 1/33 77 1/37
78 </aside> 78 </aside>
79 </footer> 79 </footer>
80 </div> 80 </div>
81 </div> 81 </div>
82 82
83 <!-- slide source: slides.rst --> 83 <!-- slide source: slides.rst -->
84 <div class="slide-wrapper"> 84 <div class="slide-wrapper">
85 <div class="slide"> 85 <div class="slide">
86 <div class="inner"> 86 <div class="inner">
87 87
88 <header><h1>(Subliminal Message)</h1></header> 88 <header><h1>Agenda</h1></header>
89 89
90 90
91 <section><img alt="images/stop.jpg" src="images/stop.jpg" /></section> 91 <section><ul class="simple">
92 92 <li>Brief history of version control tools</li>
93 </div> 93 <li>Features of distributed version control</li>
94 <div class="presenter_notes"> 94 <li>Brief introduction to Mercurial</li>
95 <header><h1>Presenter Notes</h1></header> 95 </ul></section>
96 <section> 96
97 97 </div>
98 </section> 98 <div class="presenter_notes">
99 </div> 99 <header><h1>Presenter Notes</h1></header>
100 <footer> 100 <section>
101 101
102 <aside class="source"> 102 </section>
103 Source: <a href="slides.rst">slides.rst</a> 103 </div>
104 </aside> 104 <footer>
105 105
106 <aside class="page_number"> 106 <aside class="source">
107 2/33 107 Source: <a href="slides.rst">slides.rst</a>
108 </aside>
109
110 <aside class="page_number">
111 2/37
108 </aside> 112 </aside>
109 </footer> 113 </footer>
110 </div> 114 </div>
111 </div> 115 </div>
112 116
141 <aside class="source"> 145 <aside class="source">
142 Source: <a href="slides.rst">slides.rst</a> 146 Source: <a href="slides.rst">slides.rst</a>
143 </aside> 147 </aside>
144 148
145 <aside class="page_number"> 149 <aside class="page_number">
146 3/33 150 3/37
151 </aside>
152 </footer>
153 </div>
154 </div>
155
156 <!-- slide source: slides.rst -->
157 <div class="slide-wrapper">
158 <div class="slide">
159 <div class="inner">
160
161 <header><h1>Disclaimers</h1></header>
162
163
164 <section><ul class="simple">
165 <li>This is not a sales pitch</li>
166 <li>I actually <span class="strike">like</span> respect Subversion<ul>
167 <li>I'm the &quot;Subversion guy&quot; on my team</li>
168 <li>I developed SVN training and have given it ~9-10 times</li>
169 <li><a class="reference external" href="http://subversion.tigris.org/issues/show_bug.cgi?id=3919">http://subversion.tigris.org/issues/show_bug.cgi?id=3919</a></li>
170 </ul>
171 </li>
172 <li>I am not an expert<ul>
173 <li>I'm probably making this look too easy</li>
174 </ul>
175 </li>
176 </ul></section>
177
178 </div>
179 <div class="presenter_notes">
180 <header><h1>Presenter Notes</h1></header>
181 <section>
182
183 </section>
184 </div>
185 <footer>
186
187 <aside class="source">
188 Source: <a href="slides.rst">slides.rst</a>
189 </aside>
190
191 <aside class="page_number">
192 4/37
193 </aside>
194 </footer>
195 </div>
196 </div>
197
198 <!-- slide source: slides.rst -->
199 <div class="slide-wrapper">
200 <div class="slide">
201 <div class="inner">
202
203 <header><h1>Why learn about DVCS?</h1></header>
204
205
206 <section><ul class="simple">
207 <li>DVCS have exploded in the open source world<ul>
208 <li>Interestingly, Subversion is growing in corporate environments</li>
209 </ul>
210 </li>
211 <li>Frustration with current tools</li>
212 <li>Interesting to see how the tools have evolved<ul>
213 <li>As a software practitioner, you should know what your options are</li>
214 </ul>
215 </li>
216 </ul></section>
217
218 </div>
219 <div class="presenter_notes">
220 <header><h1>Presenter Notes</h1></header>
221 <section>
222
223 </section>
224 </div>
225 <footer>
226
227 <aside class="source">
228 Source: <a href="slides.rst">slides.rst</a>
229 </aside>
230
231 <aside class="page_number">
232 5/37
147 </aside> 233 </aside>
148 </footer> 234 </footer>
149 </div> 235 </div>
150 </div> 236 </div>
151 237
180 <aside class="source"> 266 <aside class="source">
181 Source: <a href="slides.rst">slides.rst</a> 267 Source: <a href="slides.rst">slides.rst</a>
182 </aside> 268 </aside>
183 269
184 <aside class="page_number"> 270 <aside class="page_number">
185 4/33 271 6/37
186 </aside> 272 </aside>
187 </footer> 273 </footer>
188 </div> 274 </div>
189 </div> 275 </div>
190 276
222 <aside class="source"> 308 <aside class="source">
223 Source: <a href="slides.rst">slides.rst</a> 309 Source: <a href="slides.rst">slides.rst</a>
224 </aside> 310 </aside>
225 311
226 <aside class="page_number"> 312 <aside class="page_number">
227 5/33 313 7/37
228 </aside> 314 </aside>
229 </footer> 315 </footer>
230 </div> 316 </div>
231 </div> 317 </div>
232 318
267 <aside class="source"> 353 <aside class="source">
268 Source: <a href="slides.rst">slides.rst</a> 354 Source: <a href="slides.rst">slides.rst</a>
269 </aside> 355 </aside>
270 356
271 <aside class="page_number"> 357 <aside class="page_number">
272 6/33 358 8/37
273 </aside> 359 </aside>
274 </footer> 360 </footer>
275 </div> 361 </div>
276 </div> 362 </div>
277 363
297 <aside class="source"> 383 <aside class="source">
298 Source: <a href="slides.rst">slides.rst</a> 384 Source: <a href="slides.rst">slides.rst</a>
299 </aside> 385 </aside>
300 386
301 <aside class="page_number"> 387 <aside class="page_number">
302 7/33 388 9/37
303 </aside> 389 </aside>
304 </footer> 390 </footer>
305 </div> 391 </div>
306 </div> 392 </div>
307 393
329 <aside class="source"> 415 <aside class="source">
330 Source: <a href="slides.rst">slides.rst</a> 416 Source: <a href="slides.rst">slides.rst</a>
331 </aside> 417 </aside>
332 418
333 <aside class="page_number"> 419 <aside class="page_number">
334 8/33 420 10/37
335 </aside> 421 </aside>
336 </footer> 422 </footer>
337 </div> 423 </div>
338 </div> 424 </div>
339 425
369 <aside class="source"> 455 <aside class="source">
370 Source: <a href="slides.rst">slides.rst</a> 456 Source: <a href="slides.rst">slides.rst</a>
371 </aside> 457 </aside>
372 458
373 <aside class="page_number"> 459 <aside class="page_number">
374 9/33 460 11/37
375 </aside> 461 </aside>
376 </footer> 462 </footer>
377 </div> 463 </div>
378 </div> 464 </div>
379 465
411 <aside class="source"> 497 <aside class="source">
412 Source: <a href="slides.rst">slides.rst</a> 498 Source: <a href="slides.rst">slides.rst</a>
413 </aside> 499 </aside>
414 500
415 <aside class="page_number"> 501 <aside class="page_number">
416 10/33 502 12/37
417 </aside> 503 </aside>
418 </footer> 504 </footer>
419 </div> 505 </div>
420 </div> 506 </div>
421 507
453 <aside class="source"> 539 <aside class="source">
454 Source: <a href="slides.rst">slides.rst</a> 540 Source: <a href="slides.rst">slides.rst</a>
455 </aside> 541 </aside>
456 542
457 <aside class="page_number"> 543 <aside class="page_number">
458 11/33 544 13/37
459 </aside> 545 </aside>
460 </footer> 546 </footer>
461 </div> 547 </div>
462 </div> 548 </div>
463 549
475 <li>Switching between branches will blow your mind</li> 561 <li>Switching between branches will blow your mind</li>
476 </ul> 562 </ul>
477 </li> 563 </li>
478 <li>Initial pull down of an entire repository <em>might</em> be slower than a CVCS<ul> 564 <li>Initial pull down of an entire repository <em>might</em> be slower than a CVCS<ul>
479 <li>Then again, you might be surprised</li> 565 <li>Then again, you might be surprised</li>
480 <li>Mercurial, for example, stores an entire repository in less space than 566 <li>Mercurial, for example, stores an <em>entire</em> repository in less space than
481 a SVN working copy in many cases</li> 567 a SVN working copy in many cases</li>
482 </ul> 568 </ul>
483 </li> 569 </li>
484 </ul></section> 570 </ul></section>
485 571
495 <aside class="source"> 581 <aside class="source">
496 Source: <a href="slides.rst">slides.rst</a> 582 Source: <a href="slides.rst">slides.rst</a>
497 </aside> 583 </aside>
498 584
499 <aside class="page_number"> 585 <aside class="page_number">
500 12/33 586 14/37
501 </aside> 587 </aside>
502 </footer> 588 </footer>
503 </div> 589 </div>
504 </div> 590 </div>
505 591
532 <aside class="source"> 618 <aside class="source">
533 Source: <a href="slides.rst">slides.rst</a> 619 Source: <a href="slides.rst">slides.rst</a>
534 </aside> 620 </aside>
535 621
536 <aside class="page_number"> 622 <aside class="page_number">
537 13/33 623 15/37
538 </aside> 624 </aside>
539 </footer> 625 </footer>
540 </div> 626 </div>
541 </div> 627 </div>
542 628
551 <section><ul class="simple"> 637 <section><ul class="simple">
552 <li>Imagine a team split between Cedar Rapids &amp; Richardson...</li> 638 <li>Imagine a team split between Cedar Rapids &amp; Richardson...</li>
553 <li>With a CVCS, you have to pick where to put the server</li> 639 <li>With a CVCS, you have to pick where to put the server</li>
554 <li>The remote location is stuck with network latency &amp; associated problems</li> 640 <li>The remote location is stuck with network latency &amp; associated problems</li>
555 <li>With a DVCS, each site can have a central repository<ul> 641 <li>With a DVCS, each site can have a central repository<ul>
556 <li>The two central repos can be synched when convenient or even scripted</li> 642 <li>The two central repos can be synch'ed when convenient or even scripted</li>
557 </ul> 643 </ul>
558 </li> 644 </li>
559 </ul> 645 </ul>
560 <img alt="images/split_geography.png" src="images/split_geography.png" /></section> 646 <img alt="images/split_geography.png" src="images/split_geography.png" /></section>
561 647
571 <aside class="source"> 657 <aside class="source">
572 Source: <a href="slides.rst">slides.rst</a> 658 Source: <a href="slides.rst">slides.rst</a>
573 </aside> 659 </aside>
574 660
575 <aside class="page_number"> 661 <aside class="page_number">
576 14/33 662 16/37
577 </aside> 663 </aside>
578 </footer> 664 </footer>
579 </div> 665 </div>
580 </div> 666 </div>
581 667
611 <aside class="source"> 697 <aside class="source">
612 Source: <a href="slides.rst">slides.rst</a> 698 Source: <a href="slides.rst">slides.rst</a>
613 </aside> 699 </aside>
614 700
615 <aside class="page_number"> 701 <aside class="page_number">
616 15/33 702 17/37
617 </aside> 703 </aside>
618 </footer> 704 </footer>
619 </div> 705 </div>
620 </div> 706 </div>
621 707
646 <aside class="source"> 732 <aside class="source">
647 Source: <a href="slides.rst">slides.rst</a> 733 Source: <a href="slides.rst">slides.rst</a>
648 </aside> 734 </aside>
649 735
650 <aside class="page_number"> 736 <aside class="page_number">
651 16/33 737 18/37
652 </aside> 738 </aside>
653 </footer> 739 </footer>
654 </div> 740 </div>
655 </div> 741 </div>
656 742
664 750
665 <section><ul class="simple"> 751 <section><ul class="simple">
666 <li>Subversion has a bad reputation for merging<ul> 752 <li>Subversion has a bad reputation for merging<ul>
667 <li>Some of this is not warranted...<ul> 753 <li>Some of this is not warranted...<ul>
668 <li>Merge tracking was added in SVN v1.5</li> 754 <li>Merge tracking was added in SVN v1.5</li>
755 <li>Steadily improved in v1.6 - v1.7</li>
669 </ul> 756 </ul>
670 </li> 757 </li>
671 <li>SVN does not handle file renames and tree conflicts very well</li> 758 <li>SVN does not handle file renames and tree conflicts very well</li>
672 <li>A lot of teams simply avoid merging out of fear</li> 759 <li>A lot of teams simply avoid merging out of fear or superstition</li>
673 </ul> 760 </ul>
674 </li> 761 </li>
675 </ul></section> 762 </ul></section>
676 763
677 </div> 764 </div>
678 <div class="presenter_notes"> 765 <div class="presenter_notes">
679 <header><h1>Presenter Notes</h1></header> 766 <header><h1>Presenter Notes</h1></header>
680 <section> 767 <section>
681 768
682 </section> 769 </section>
683 </div> 770 </div>
684 <footer> 771 <footer>
685 772
686 <aside class="source"> 773 <aside class="source">
687 Source: <a href="slides.rst">slides.rst</a> 774 Source: <a href="slides.rst">slides.rst</a>
688 </aside> 775 </aside>
689 776
690 <aside class="page_number"> 777 <aside class="page_number">
691 17/33 778 19/37
692 </aside> 779 </aside>
693 </footer> 780 </footer>
694 </div> 781 </div>
695 </div> 782 </div>
696 783
706 <li>Why is merging better in a DVCS?<ul> 793 <li>Why is merging better in a DVCS?<ul>
707 <li>Merging simply has to work correctly and be easy in a DVCS<ul> 794 <li>Merging simply has to work correctly and be easy in a DVCS<ul>
708 <li>More attention was paid to this aspect by DVCS's</li> 795 <li>More attention was paid to this aspect by DVCS's</li>
709 </ul> 796 </ul>
710 </li> 797 </li>
711 <li>DVCS's use directed acyclic graphs internally to represent change sets<ul> 798 <li>DVCS's use <strong>directed acyclic graphs</strong> internally to represent change sets<ul>
712 <li>More information is available to make merge decisions</li> 799 <li>More information is available to make merge decisions</li>
713 <li>Easier to find common ancestors of code</li> 800 <li>Easier to find common ancestors of code</li>
714 </ul> 801 </ul>
715 </li> 802 </li>
716 <li>Developer changes and merge changes are separate<ul> 803 <li>Developer changes and merge changes are separate<ul>
733 <aside class="source"> 820 <aside class="source">
734 Source: <a href="slides.rst">slides.rst</a> 821 Source: <a href="slides.rst">slides.rst</a>
735 </aside> 822 </aside>
736 823
737 <aside class="page_number"> 824 <aside class="page_number">
738 18/33 825 20/37
739 </aside> 826 </aside>
740 </footer> 827 </footer>
741 </div> 828 </div>
742 </div> 829 </div>
743 830
750 837
751 838
752 <section><ul class="simple"> 839 <section><ul class="simple">
753 <li>With a CVCS:<ul> 840 <li>With a CVCS:<ul>
754 <li>You make changes in your working copy</li> 841 <li>You make changes in your working copy</li>
755 <li>Before you can commit, you often must peform an update<ul> 842 <li>Before you can commit, you often must perform an update<ul>
756 <li>This may trigger a merge</li> 843 <li>This may trigger a merge</li>
757 <li>Your changes are now mixed up with your friendly coworkers' changes</li> 844 <li>Your changes are now mixed up with your friendly coworkers' changes</li>
758 <li>Sometimes this can be a problem...</li> 845 <li>Sometimes this can be a problem...</li>
759 </ul> 846 </ul>
760 </li> 847 </li>
783 <aside class="source"> 870 <aside class="source">
784 Source: <a href="slides.rst">slides.rst</a> 871 Source: <a href="slides.rst">slides.rst</a>
785 </aside> 872 </aside>
786 873
787 <aside class="page_number"> 874 <aside class="page_number">
788 19/33 875 21/37
789 </aside> 876 </aside>
790 </footer> 877 </footer>
791 </div> 878 </div>
792 </div> 879 </div>
793 880
804 <li>Practically no support for locks<ul> 891 <li>Practically no support for locks<ul>
805 <li>This makes working with binary files difficult in a team environment</li> 892 <li>This makes working with binary files difficult in a team environment</li>
806 </ul> 893 </ul>
807 </li> 894 </li>
808 <li>Huge repositories are not practical</li> 895 <li>Huge repositories are not practical</li>
809 <li>Hetrogenous repositories are not practical<ul> 896 <li>Heterogeneous repositories are not practical<ul>
810 <li>Not a good idea to mix, say, software, systems, and firmware in the same repo</li> 897 <li>Not a good idea to mix, say, software, systems, and firmware in the same repo</li>
811 <li>Not a good idea to mix multiple products in the same repo</li> 898 <li>Not a good idea to mix multiple products in the same repo</li>
812 <li>Arguably, this applies to a CVCS as well</li> 899 <li><em>Arguably, this applies to a CVCS as well</em></li>
813 </ul> 900 </ul>
814 </li> 901 </li>
815 <li>No support for path-based access control<ul> 902 <li>No support for path-based access control<ul>
816 <li>With current tools, you either can access the full repo, or nothing</li> 903 <li>With current tools, you either can access the full repo, or nothing</li>
817 </ul> 904 </ul>
830 <aside class="source"> 917 <aside class="source">
831 Source: <a href="slides.rst">slides.rst</a> 918 Source: <a href="slides.rst">slides.rst</a>
832 </aside> 919 </aside>
833 920
834 <aside class="page_number"> 921 <aside class="page_number">
835 20/33 922 22/37
836 </aside> 923 </aside>
837 </footer> 924 </footer>
838 </div> 925 </div>
839 </div> 926 </div>
840 927
867 <aside class="source"> 954 <aside class="source">
868 Source: <a href="slides.rst">slides.rst</a> 955 Source: <a href="slides.rst">slides.rst</a>
869 </aside> 956 </aside>
870 957
871 <aside class="page_number"> 958 <aside class="page_number">
872 21/33 959 23/37
873 </aside> 960 </aside>
874 </footer> 961 </footer>
875 </div> 962 </div>
876 </div> 963 </div>
877 964
891 <li>Extensible with official and 3rd party extensions</li> 978 <li>Extensible with official and 3rd party extensions</li>
892 <li>TortoiseHg is a popular GUI for Windows</li> 979 <li>TortoiseHg is a popular GUI for Windows</li>
893 <li>Reputation for being fast &amp; easy to get started with</li> 980 <li>Reputation for being fast &amp; easy to get started with</li>
894 <li>Can be served via Apache Web server</li> 981 <li>Can be served via Apache Web server</li>
895 <li>Repository hooks</li> 982 <li>Repository hooks</li>
896 <li>Integrates with Trac</li> 983 <li>Integrates with the Trac issue tracker</li>
897 <li>Can import history from other tools, including Subversion</li> 984 <li>Can import history from other tools, including Subversion</li>
898 </ul></section> 985 </ul></section>
899 986
900 </div> 987 </div>
901 <div class="presenter_notes"> 988 <div class="presenter_notes">
909 <aside class="source"> 996 <aside class="source">
910 Source: <a href="slides.rst">slides.rst</a> 997 Source: <a href="slides.rst">slides.rst</a>
911 </aside> 998 </aside>
912 999
913 <aside class="page_number"> 1000 <aside class="page_number">
914 22/33 1001 24/37
915 </aside> 1002 </aside>
916 </footer> 1003 </footer>
917 </div> 1004 </div>
918 </div> 1005 </div>
919 1006
960 <aside class="source"> 1047 <aside class="source">
961 Source: <a href="slides.rst">slides.rst</a> 1048 Source: <a href="slides.rst">slides.rst</a>
962 </aside> 1049 </aside>
963 1050
964 <aside class="page_number"> 1051 <aside class="page_number">
965 23/33 1052 25/37
966 </aside> 1053 </aside>
967 </footer> 1054 </footer>
968 </div> 1055 </div>
969 </div> 1056 </div>
970 1057
997 <aside class="source"> 1084 <aside class="source">
998 Source: <a href="slides.rst">slides.rst</a> 1085 Source: <a href="slides.rst">slides.rst</a>
999 </aside> 1086 </aside>
1000 1087
1001 <aside class="page_number"> 1088 <aside class="page_number">
1002 24/33 1089 26/37
1003 </aside> 1090 </aside>
1004 </footer> 1091 </footer>
1005 </div> 1092 </div>
1006 </div> 1093 </div>
1007 1094
1042 <aside class="source"> 1129 <aside class="source">
1043 Source: <a href="slides.rst">slides.rst</a> 1130 Source: <a href="slides.rst">slides.rst</a>
1044 </aside> 1131 </aside>
1045 1132
1046 <aside class="page_number"> 1133 <aside class="page_number">
1047 25/33 1134 27/37
1048 </aside> 1135 </aside>
1049 </footer> 1136 </footer>
1050 </div> 1137 </div>
1051 </div> 1138 </div>
1052 1139
1086 <aside class="source"> 1173 <aside class="source">
1087 Source: <a href="slides.rst">slides.rst</a> 1174 Source: <a href="slides.rst">slides.rst</a>
1088 </aside> 1175 </aside>
1089 1176
1090 <aside class="page_number"> 1177 <aside class="page_number">
1091 26/33 1178 28/37
1179 </aside>
1180 </footer>
1181 </div>
1182 </div>
1183
1184 <!-- slide source: slides.rst -->
1185 <div class="slide-wrapper">
1186 <div class="slide">
1187 <div class="inner">
1188
1189 <header><h1>A note on branching...</h1></header>
1190
1191
1192 <section><ul class="simple">
1193 <li>Branching happens <em>all the time</em> when multiple developers are involved</li>
1194 <li>It is so natural you may not notice it at first</li>
1195 <li>Branching often has two meanings:<ul>
1196 <li>The &quot;normal&quot; day-to-day branching when developers combine changes</li>
1197 <li>The conceptual branching that occurs when:<ul>
1198 <li>You need a feature branch</li>
1199 <li>You need a release branch</li>
1200 <li>You need an experimental branch</li>
1201 <li>etc.</li>
1202 </ul>
1203 </li>
1204 </ul>
1205 </li>
1206 </ul></section>
1207
1208 </div>
1209 <div class="presenter_notes">
1210 <header><h1>Presenter Notes</h1></header>
1211 <section>
1212
1213 </section>
1214 </div>
1215 <footer>
1216
1217 <aside class="source">
1218 Source: <a href="slides.rst">slides.rst</a>
1219 </aside>
1220
1221 <aside class="page_number">
1222 29/37
1223 </aside>
1224 </footer>
1225 </div>
1226 </div>
1227
1228 <!-- slide source: slides.rst -->
1229 <div class="slide-wrapper">
1230 <div class="slide">
1231 <div class="inner">
1232
1233 <header><h1>Ways to Branch in Hg</h1></header>
1234
1235
1236 <section><ul class="simple">
1237 <li>Just make another clone of the repository!<ul>
1238 <li>Slowest, safest, easiest to understand</li>
1239 <li>Hard links are used (where available) to minimize disk space</li>
1240 </ul>
1241 </li>
1242 <li>Bookmarks<ul>
1243 <li>Lightweight tags can be applied to changesets</li>
1244 <li>Similar to how Git does branches</li>
1245 <li>Bookmarks can be deleted; they are not permanent</li>
1246 </ul>
1247 </li>
1248 <li>Named branches<ul>
1249 <li>Actually recording the branch name in the changeset</li>
1250 </ul>
1251 </li>
1252 <li>Anonymous branches<ul>
1253 <li>Update to any old changeset, make changes, commit</li>
1254 <li>&quot;Good&quot; for emergency fixes, bad for remembering what you did</li>
1255 </ul>
1256 </li>
1257 </ul></section>
1258
1259 </div>
1260 <div class="presenter_notes">
1261 <header><h1>Presenter Notes</h1></header>
1262 <section>
1263
1264 </section>
1265 </div>
1266 <footer>
1267
1268 <aside class="source">
1269 Source: <a href="slides.rst">slides.rst</a>
1270 </aside>
1271
1272 <aside class="page_number">
1273 30/37
1092 </aside> 1274 </aside>
1093 </footer> 1275 </footer>
1094 </div> 1276 </div>
1095 </div> 1277 </div>
1096 1278
1116 <aside class="source"> 1298 <aside class="source">
1117 Source: <a href="slides.rst">slides.rst</a> 1299 Source: <a href="slides.rst">slides.rst</a>
1118 </aside> 1300 </aside>
1119 1301
1120 <aside class="page_number"> 1302 <aside class="page_number">
1121 27/33 1303 31/37
1122 </aside> 1304 </aside>
1123 </footer> 1305 </footer>
1124 </div> 1306 </div>
1125 </div> 1307 </div>
1126 1308
1146 <aside class="source"> 1328 <aside class="source">
1147 Source: <a href="slides.rst">slides.rst</a> 1329 Source: <a href="slides.rst">slides.rst</a>
1148 </aside> 1330 </aside>
1149 1331
1150 <aside class="page_number"> 1332 <aside class="page_number">
1151 28/33 1333 32/37
1152 </aside> 1334 </aside>
1153 </footer> 1335 </footer>
1154 </div> 1336 </div>
1155 </div> 1337 </div>
1156 1338
1183 <aside class="source"> 1365 <aside class="source">
1184 Source: <a href="slides.rst">slides.rst</a> 1366 Source: <a href="slides.rst">slides.rst</a>
1185 </aside> 1367 </aside>
1186 1368
1187 <aside class="page_number"> 1369 <aside class="page_number">
1188 29/33 1370 33/37
1189 </aside> 1371 </aside>
1190 </footer> 1372 </footer>
1191 </div> 1373 </div>
1192 </div> 1374 </div>
1193 1375
1220 <aside class="source"> 1402 <aside class="source">
1221 Source: <a href="slides.rst">slides.rst</a> 1403 Source: <a href="slides.rst">slides.rst</a>
1222 </aside> 1404 </aside>
1223 1405
1224 <aside class="page_number"> 1406 <aside class="page_number">
1225 30/33 1407 34/37
1226 </aside> 1408 </aside>
1227 </footer> 1409 </footer>
1228 </div> 1410 </div>
1229 </div> 1411 </div>
1230 1412
1263 <aside class="source"> 1445 <aside class="source">
1264 Source: <a href="slides.rst">slides.rst</a> 1446 Source: <a href="slides.rst">slides.rst</a>
1265 </aside> 1447 </aside>
1266 1448
1267 <aside class="page_number"> 1449 <aside class="page_number">
1268 31/33 1450 35/37
1269 </aside> 1451 </aside>
1270 </footer> 1452 </footer>
1271 </div> 1453 </div>
1272 </div> 1454 </div>
1273 1455
1303 <aside class="source"> 1485 <aside class="source">
1304 Source: <a href="slides.rst">slides.rst</a> 1486 Source: <a href="slides.rst">slides.rst</a>
1305 </aside> 1487 </aside>
1306 1488
1307 <aside class="page_number"> 1489 <aside class="page_number">
1308 32/33 1490 36/37
1309 </aside> 1491 </aside>
1310 </footer> 1492 </footer>
1311 </div> 1493 </div>
1312 </div> 1494 </div>
1313 1495
1331 <aside class="source"> 1513 <aside class="source">
1332 Source: <a href="slides.rst">slides.rst</a> 1514 Source: <a href="slides.rst">slides.rst</a>
1333 </aside> 1515 </aside>
1334 1516
1335 <aside class="page_number"> 1517 <aside class="page_number">
1336 33/33 1518 37/37
1337 </aside> 1519 </aside>
1338 </footer> 1520 </footer>
1339 </div> 1521 </div>
1340 </div> 1522 </div>
1341 1523
1352 <td><a href="#slide1">1</a></td> 1534 <td><a href="#slide1">1</a></td>
1353 </tr> 1535 </tr>
1354 1536
1355 1537
1356 <tr id="toc-row-2"> 1538 <tr id="toc-row-2">
1357 <th><a href="#slide2">(Subliminal Message)</a></th> 1539 <th><a href="#slide2">Agenda</a></th>
1358 <td><a href="#slide2">2</a></td> 1540 <td><a href="#slide2">2</a></td>
1359 </tr> 1541 </tr>
1360 1542
1361 1543
1362 <tr id="toc-row-3"> 1544 <tr id="toc-row-3">
1364 <td><a href="#slide3">3</a></td> 1546 <td><a href="#slide3">3</a></td>
1365 </tr> 1547 </tr>
1366 1548
1367 1549
1368 <tr id="toc-row-4"> 1550 <tr id="toc-row-4">
1369 <th><a href="#slide4">Brief History of Version Control Tools</a></th> 1551 <th><a href="#slide4">Disclaimers</a></th>
1370 <td><a href="#slide4">4</a></td> 1552 <td><a href="#slide4">4</a></td>
1371 </tr> 1553 </tr>
1372 1554
1373 1555
1374 <tr id="toc-row-5"> 1556 <tr id="toc-row-5">
1375 <th><a href="#slide5">Brief History of Version Control Tools</a></th> 1557 <th><a href="#slide5">Why learn about DVCS?</a></th>
1376 <td><a href="#slide5">5</a></td> 1558 <td><a href="#slide5">5</a></td>
1377 </tr> 1559 </tr>
1378 1560
1379 1561
1380 <tr id="toc-row-6"> 1562 <tr id="toc-row-6">
1382 <td><a href="#slide6">6</a></td> 1564 <td><a href="#slide6">6</a></td>
1383 </tr> 1565 </tr>
1384 1566
1385 1567
1386 <tr id="toc-row-7"> 1568 <tr id="toc-row-7">
1387 <th><a href="#slide7">What is a CVCS Again?</a></th> 1569 <th><a href="#slide7">Brief History of Version Control Tools</a></th>
1388 <td><a href="#slide7">7</a></td> 1570 <td><a href="#slide7">7</a></td>
1389 </tr> 1571 </tr>
1390 1572
1391 1573
1392 <tr id="toc-row-8"> 1574 <tr id="toc-row-8">
1393 <th><a href="#slide8">So what's a DVCS look like?</a></th> 1575 <th><a href="#slide8">Brief History of Version Control Tools</a></th>
1394 <td><a href="#slide8">8</a></td> 1576 <td><a href="#slide8">8</a></td>
1395 </tr> 1577 </tr>
1396 1578
1397 1579
1398 <tr id="toc-row-9"> 1580 <tr id="toc-row-9">
1399 <th><a href="#slide9">What does a DVCS buy you?</a></th> 1581 <th><a href="#slide9">What is a CVCS Again?</a></th>
1400 <td><a href="#slide9">9</a></td> 1582 <td><a href="#slide9">9</a></td>
1401 </tr> 1583 </tr>
1402 1584
1403 1585
1404 <tr id="toc-row-10"> 1586 <tr id="toc-row-10">
1405 <th><a href="#slide10">Private Workspaces</a></th> 1587 <th><a href="#slide10">So what's a DVCS look like?</a></th>
1406 <td><a href="#slide10">10</a></td> 1588 <td><a href="#slide10">10</a></td>
1407 </tr> 1589 </tr>
1408 1590
1409 1591
1410 <tr id="toc-row-11"> 1592 <tr id="toc-row-11">
1411 <th><a href="#slide11">Offline Mode</a></th> 1593 <th><a href="#slide11">What does a DVCS buy you?</a></th>
1412 <td><a href="#slide11">11</a></td> 1594 <td><a href="#slide11">11</a></td>
1413 </tr> 1595 </tr>
1414 1596
1415 1597
1416 <tr id="toc-row-12"> 1598 <tr id="toc-row-12">
1417 <th><a href="#slide12">Speed</a></th> 1599 <th><a href="#slide12">Private Workspaces</a></th>
1418 <td><a href="#slide12">12</a></td> 1600 <td><a href="#slide12">12</a></td>
1419 </tr> 1601 </tr>
1420 1602
1421 1603
1422 <tr id="toc-row-13"> 1604 <tr id="toc-row-13">
1423 <th><a href="#slide13">Scalability</a></th> 1605 <th><a href="#slide13">Offline Mode</a></th>
1424 <td><a href="#slide13">13</a></td> 1606 <td><a href="#slide13">13</a></td>
1425 </tr> 1607 </tr>
1426 1608
1427 1609
1428 <tr id="toc-row-14"> 1610 <tr id="toc-row-14">
1429 <th><a href="#slide14">Split Geography</a></th> 1611 <th><a href="#slide14">Speed</a></th>
1430 <td><a href="#slide14">14</a></td> 1612 <td><a href="#slide14">14</a></td>
1431 </tr> 1613 </tr>
1432 1614
1433 1615
1434 <tr id="toc-row-15"> 1616 <tr id="toc-row-15">
1435 <th><a href="#slide15">Flexible Workflows</a></th> 1617 <th><a href="#slide15">Scalability</a></th>
1436 <td><a href="#slide15">15</a></td> 1618 <td><a href="#slide15">15</a></td>
1437 </tr> 1619 </tr>
1438 1620
1439 1621
1440 <tr id="toc-row-16"> 1622 <tr id="toc-row-16">
1441 <th><a href="#slide16">Distributed Backups</a></th> 1623 <th><a href="#slide16">Split Geography</a></th>
1442 <td><a href="#slide16">16</a></td> 1624 <td><a href="#slide16">16</a></td>
1443 </tr> 1625 </tr>
1444 1626
1445 1627
1446 <tr id="toc-row-17"> 1628 <tr id="toc-row-17">
1447 <th><a href="#slide17">Easier Merging</a></th> 1629 <th><a href="#slide17">Flexible Workflows</a></th>
1448 <td><a href="#slide17">17</a></td> 1630 <td><a href="#slide17">17</a></td>
1449 </tr> 1631 </tr>
1450 1632
1451 1633
1452 <tr id="toc-row-18"> 1634 <tr id="toc-row-18">
1453 <th><a href="#slide18">Easier Merging (cont.)</a></th> 1635 <th><a href="#slide18">Distributed Backups</a></th>
1454 <td><a href="#slide18">18</a></td> 1636 <td><a href="#slide18">18</a></td>
1455 </tr> 1637 </tr>
1456 1638
1457 1639
1458 <tr id="toc-row-19"> 1640 <tr id="toc-row-19">
1459 <th><a href="#slide19">Commit Before Merge</a></th> 1641 <th><a href="#slide19">Easier Merging</a></th>
1460 <td><a href="#slide19">19</a></td> 1642 <td><a href="#slide19">19</a></td>
1461 </tr> 1643 </tr>
1462 1644
1463 1645
1464 <tr id="toc-row-20"> 1646 <tr id="toc-row-20">
1465 <th><a href="#slide20">Okay, what's the catch?</a></th> 1647 <th><a href="#slide20">Easier Merging (cont.)</a></th>
1466 <td><a href="#slide20">20</a></td> 1648 <td><a href="#slide20">20</a></td>
1467 </tr> 1649 </tr>
1468 1650
1469 1651
1470 <tr id="toc-row-21"> 1652 <tr id="toc-row-21">
1471 <th><a href="#slide21">Introduction to Mercurial</a></th> 1653 <th><a href="#slide21">Commit Before Merge</a></th>
1472 <td><a href="#slide21">21</a></td> 1654 <td><a href="#slide21">21</a></td>
1473 </tr> 1655 </tr>
1474 1656
1475 1657
1476 <tr id="toc-row-22"> 1658 <tr id="toc-row-22">
1477 <th><a href="#slide22">Mercurial Overview</a></th> 1659 <th><a href="#slide22">Okay, what's the catch?</a></th>
1478 <td><a href="#slide22">22</a></td> 1660 <td><a href="#slide22">22</a></td>
1479 </tr> 1661 </tr>
1480 1662
1481 1663
1482 <tr id="toc-row-23"> 1664 <tr id="toc-row-23">
1483 <th><a href="#slide23">Repositories &amp; Working Directories</a></th> 1665 <th><a href="#slide23">Introduction to Mercurial</a></th>
1484 <td><a href="#slide23">23</a></td> 1666 <td><a href="#slide23">23</a></td>
1485 </tr> 1667 </tr>
1486 1668
1487 1669
1488 <tr id="toc-row-24"> 1670 <tr id="toc-row-24">
1489 <th><a href="#slide24">What's in a Repository?</a></th> 1671 <th><a href="#slide24">Mercurial Overview</a></th>
1490 <td><a href="#slide24">24</a></td> 1672 <td><a href="#slide24">24</a></td>
1491 </tr> 1673 </tr>
1492 1674
1493 1675
1494 <tr id="toc-row-25"> 1676 <tr id="toc-row-25">
1495 <th><a href="#slide25">What's a Changeset?</a></th> 1677 <th><a href="#slide25">Repositories &amp; Working Directories</a></th>
1496 <td><a href="#slide25">25</a></td> 1678 <td><a href="#slide25">25</a></td>
1497 </tr> 1679 </tr>
1498 1680
1499 1681
1500 <tr id="toc-row-26"> 1682 <tr id="toc-row-26">
1501 <th><a href="#slide26">Branches &amp; Tags</a></th> 1683 <th><a href="#slide26">What's in a Repository?</a></th>
1502 <td><a href="#slide26">26</a></td> 1684 <td><a href="#slide26">26</a></td>
1503 </tr> 1685 </tr>
1504 1686
1505 1687
1506 <tr id="toc-row-27"> 1688 <tr id="toc-row-27">
1507 <th><a href="#slide27">Example Workflow</a></th> 1689 <th><a href="#slide27">What's a Changeset?</a></th>
1508 <td><a href="#slide27">27</a></td> 1690 <td><a href="#slide27">27</a></td>
1509 </tr> 1691 </tr>
1510 1692
1511 1693
1512 <tr id="toc-row-28"> 1694 <tr id="toc-row-28">
1513 <th><a href="#slide28">Example Workflow (cont.)</a></th> 1695 <th><a href="#slide28">Branches &amp; Tags</a></th>
1514 <td><a href="#slide28">28</a></td> 1696 <td><a href="#slide28">28</a></td>
1515 </tr> 1697 </tr>
1516 1698
1517 1699
1518 <tr id="toc-row-29"> 1700 <tr id="toc-row-29">
1519 <th><a href="#slide29">Example Workflow (cont.)</a></th> 1701 <th><a href="#slide29">A note on branching...</a></th>
1520 <td><a href="#slide29">29</a></td> 1702 <td><a href="#slide29">29</a></td>
1521 </tr> 1703 </tr>
1522 1704
1523 1705
1524 <tr id="toc-row-30"> 1706 <tr id="toc-row-30">
1525 <th><a href="#slide30">SVN Commands for Review</a></th> 1707 <th><a href="#slide30">Ways to Branch in Hg</a></th>
1526 <td><a href="#slide30">30</a></td> 1708 <td><a href="#slide30">30</a></td>
1527 </tr> 1709 </tr>
1528 1710
1529 1711
1530 <tr id="toc-row-31"> 1712 <tr id="toc-row-31">
1531 <th><a href="#slide31">Basic Mercurial Commands</a></th> 1713 <th><a href="#slide31">Example Workflow</a></th>
1532 <td><a href="#slide31">31</a></td> 1714 <td><a href="#slide31">31</a></td>
1533 </tr> 1715 </tr>
1534 1716
1535 1717
1536 <tr id="toc-row-32"> 1718 <tr id="toc-row-32">
1537 <th><a href="#slide32">References</a></th> 1719 <th><a href="#slide32">Example Workflow (cont.)</a></th>
1538 <td><a href="#slide32">32</a></td> 1720 <td><a href="#slide32">32</a></td>
1539 </tr> 1721 </tr>
1540 1722
1541 1723
1542 <tr id="toc-row-33"> 1724 <tr id="toc-row-33">
1543 <th><a href="#slide33">Questions?</a></th> 1725 <th><a href="#slide33">Example Workflow (cont.)</a></th>
1544 <td><a href="#slide33">33</a></td> 1726 <td><a href="#slide33">33</a></td>
1727 </tr>
1728
1729
1730 <tr id="toc-row-34">
1731 <th><a href="#slide34">SVN Commands for Review</a></th>
1732 <td><a href="#slide34">34</a></td>
1733 </tr>
1734
1735
1736 <tr id="toc-row-35">
1737 <th><a href="#slide35">Basic Mercurial Commands</a></th>
1738 <td><a href="#slide35">35</a></td>
1739 </tr>
1740
1741
1742 <tr id="toc-row-36">
1743 <th><a href="#slide36">References</a></th>
1744 <td><a href="#slide36">36</a></td>
1745 </tr>
1746
1747
1748 <tr id="toc-row-37">
1749 <th><a href="#slide37">Questions?</a></th>
1750 <td><a href="#slide37">37</a></td>
1545 </tr> 1751 </tr>
1546 1752
1547 1753
1548 </table> 1754 </table>
1549 </div> 1755 </div>