hgbook

annotate ja/intro.tex @ 1039:d0870e907b3d

1.5 partly translated
author Zhaoping Sun <zhaopingsun@gmail.com>
date Sun Nov 08 17:25:59 2009 -0500 (2009-11-08)
parents
children
rev   line source
foozy@708 1 \chapter{Introduction}
foozy@708 2 \label{chap:intro}
foozy@708 3
foozy@708 4 \section{About revision control}
foozy@708 5
foozy@708 6 $B9=@.4IM}$H$O!"(B
foozy@708 7 $BJ#?t$NHG$r;}$D>pJs72$r4IM}$9$k<j=g$N$3$H$G$9!#(B
foozy@708 8 $B:G$bC1=c$J<jK!$G$O!"(B
foozy@708 9 $BB?$/$N?M!9$,$3$l$r<jF0$G9T$$$^$9!#(B
foozy@708 10 $B%U%!%$%k99?7;~$K$O!"(B
foozy@708 11 $BD>A0$NHG$KMxMQ$7$?CM$h$j$bBg$-$JCM$r3d$jEv$F$F$+$i!"(B
foozy@708 12 $B$=$NCM$r4^$a$??7$7$$L>A0$G%U%!%$%k$rJ]B8$9$k!"(B
foozy@708 13 $B$H$$$C$?6q9g$G$9!#(B
foozy@708 14
foozy@708 15 $B$7$+$7$J$,$i!"$?$C$?#1$D$N%U%!%$%k$G$"$C$F$b!"(B
foozy@708 16 $BJ#?t$NHG$r<jF0$G4IM}$9$k:n6H$O4V0c$$$,$A$G$9$N$G!"(B
foozy@708 17 $B$3$N<j=g$r<+F02=$9$k%=%U%H%&%'%"%D!<%k$K$OD9$$Nr;K$,$"$j$^$9!#(B
foozy@708 18 $B=i4|$N9=@.4IM}$r<+F02=$9$k%D!<%k$O!"(B
foozy@708 19 $BC10l%f!<%6$K$h$kC10l%U%!%$%k$NHG4IM}$NJd=u$r0U?^$7$F$$$^$7$?!#(B
foozy@708 20 $B$3$3?t==G/$N4V$K!"(B
foozy@708 21 $B9=@.4IM}%D!<%k$NE,MQHO0O$OBgJQ3HBg$5$l$F$-$^$7$?!#(B
foozy@708 22 $B8=:_$G$O!"(B
foozy@708 23 $BJ#?t$N%U%!%$%k$KBP$9$kJ#?t$N%f!<%6$N6&F1:n6H$r4IM}$9$k$^$G$K$J$C$F$$$^$9!#(B
foozy@708 24 $B:#;~$N:GA1$N9=@.4IM}%D!<%k$O!"(B
foozy@708 25 $B6&F1:n6H$9$k?t@i?M$N%f!<%6$K$h$C$F!"(B
foozy@708 26 $B?t==K|$N%U%#%k$+$i$J$k%W%m%8%'%/%H$N%G!<%?$,J#@=$5$l$F$b!"(B
foozy@708 27 $B$S$/$H$b$7$^$;$s!#(B
foozy@708 28
foozy@708 29 \subsection{Why use revision control?}
foozy@708 30
foozy@708 31 $B%W%m%8%'%/%H$K$*$$$F!"FI<T$G$"$k$"$J$?$d!"(B
foozy@708 32 $B$"$J$?$N%A!<%`$,<+F02=$5$l$?9=@.4IM}%D!<%k$r;HMQ$7$?$/$J$k$N$O!"(B
foozy@708 33 $B0J2<$N$h$&$JM}M3$,$"$k$+$i$G$O$J$$$G$7$g$&$+!#(B
foozy@708 34
foozy@708 35 \begin{itemize}
foozy@708 36 \item $B%W%m%8%'%/%H$NNr;K$HH/E8$r5-O?$7$F$/$l$k$N$G!"(B
foozy@708 37 $B<+J,$G$=$l$r5-O?$9$kI,MW$,L5$$$?$a!#(B
foozy@708 38 $B9=@.4IM}%D!<%k$r;HMQ$9$k$3$H$G!"(B
foozy@708 39 $BJQ99Kh$K!"(B\emph{$B2?;~(B}$B!"(B\emph{$BC/$,(B}$B!"(B\emph{$B2?8N(B}$B!"(B
foozy@708 40 \emph{$B2?$r(B}$BJQ99$7$?$+$N5-O?$r8+$k$3$H$,$G$-$^$9!#(B
foozy@708 41
foozy@708 42 \item $BB>$N%a%s%P!<$H$N6&F1:n6H$,MF0W$K$J$k$?$a!#(B
foozy@708 43 $BNc$($P!"@x:_E*$KN>N)$7$J$$JQ99$,$[$\F1;~$K9T$o$l$?:]$K!"(B
foozy@708 44 $B9=@.4IM}%D!<%k$O$=$N$3$H$r8!=P$7$?>e$G!"(B
foozy@708 45 $B$3$N$h$&$J>WFM$N2r>C$r<j=u$1$7$F$/$l$^$9!#(B
foozy@708 46
foozy@708 47 \item $B4V0c$$$+$i$NI|5l$r<j=u$1$7$F$/$l$k$?$a!#(B
foozy@708 48 $BJQ99<B;\$7$?8e$G4V0c$$$K5$IU$$$?>l9g!"(B
foozy@708 49 $BJ#?t$N%U%!%$%k$KEO$k4V0c$$$G$"$C$F$b!"(B
foozy@708 50 $B0JA0$N>uBV$KI|5l$9$k$3$H$,$G$-$^$9!#(B
foozy@708 51 $B<B$N$H$3$m!"(B
foozy@708 52 \emph{$BK\Ev$K(B}$BNI$$9=@.4IM}%D!<%k$G$"$l$P!"(B
foozy@708 53 $BLdBj$,:.F~$7$?;~E@$N87L)$J3d$j=P$7$r8z2LE*$KC5$7=P$9$3$H$,$G$-$k$G$7$g$&(B
foozy@708 54 $B!J>\:Y$O!"(B\ref{sec:undo:bisect}~$B@a$r;2>H$7$F$/$@$5$$!K(B\footnote{$BLuCm(B:
foozy@708 55 $B$D$^$j!"$=$l$,$G$-$k(B Mercurial $B$O(B\emph{$BK\Ev$K(B}$BNI$$9=@.4IM}%D!<%k$@!"(B
foozy@708 56 $B$H$$$&$3$H$G$9$M!J>P!K(B}$B!#(B
foozy@708 57
foozy@708 58 \item $B%W%m%8%'%/%H$NJ#?t$NHG$N4V$G$NF1;~:n6H$d!"(B
foozy@708 59 $BHG$N4V$G$N9T$-Mh$rJd=u$7$F$/$l$k$?$a!#(B
foozy@708 60
foozy@708 61 \end{itemize}
foozy@708 62
foozy@708 63 $B$3$l$i$NM}M3$NKX$I$,(B---
foozy@708 64 $B>/$J$/$H$bM}6~$N>e$G$O(B
foozy@708 65 ---$B0l?M$-$j$N%W%m%8%'%/%H$G$b!"(B
foozy@708 66 $BI4?M$H6&F1:n6H$9$k%W%m%8%'%/%H$G$bM-8z$G$9!#(B
foozy@708 67
foozy@708 68 $B$3$l$i#2$D$N5,LO$N0[$J$k%1!<%9(B
foozy@708 69 $B!J(B``lone hacker'' $B$H(B ``huge team''$B!K$N$=$l$>$l$K$*$$$F!"(B
foozy@708 70 $B9=@.4IM}%D!<%k$N<BMQ@-$K4X$9$k=EMW$JLdBj$O!"(B
foozy@708 71 $B%D!<%k$+$iF@$i$l$k(B\emph{$BMx1W(B}$B$H$=$N(B\emph{$B%3%9%H(B}$B$r$I$N$h$&$KHf3S$9$k$+!"(B
foozy@708 72 $B$H$$$&E@$K$"$j$^$9!#(B
foozy@708 73 $BM}2r$d;HMQ$,Fq$7$$9=@.4IM}%D!<%k$O!"(B
foozy@708 74 $B%3%9%H$,9b$/IU$/$G$7$g$&!#(B
foozy@708 75
foozy@708 76 $B9=@.4IM}$N%D!<%k$H%W%m%;%9H4$-$G$O!"(B
foozy@708 77 500 $B?M$+$i$J$k%W%m%8%'%/%H$O$*$=$i$/<+J,<+?H$N=E$_$G!"(B
foozy@708 78 $B$9$0$K$G$bJx$l$F$7$^$&$G$7$g$&!#(B
foozy@708 79 $B$3$N>l9g!"(B
foozy@708 80 $B9=@.4IM}%D!<%k(B\emph{$BH4$-(B}$B$K$O<:GT$,J]>Z$5$l$?$h$&$J$b$N$G$9$+$i!"(B
foozy@708 81 $B$=$l$r;W$($P!"(B
foozy@708 82 $B9=@.4IM}%D!<%k$rMxMQ$9$k%3%9%H$K$D$$$F$O9M$($k$^$G$bL5$$$G$7$g$&!#(B
foozy@708 83
foozy@708 84 $B0lJ}$G!"0l?M$G$N(B``quick hack''$B$N>l9g!"(B
foozy@708 85 $B9=@.4IM}%D!<%k$r;H$&%3%9%H$O%W%m%8%'%/%HA4BN$N%3%9%H$HF10l$NH&$G$9$+$i!"(B
foozy@708 86 $B9=@.4IM}$r;H$&M>CO$OKX$IL5$$$h$&$K8+$($k$+$b$7$l$^$;$s!#(B
foozy@708 87 $B$7$+$7!"$=$l$OK\Ev$G$7$g$+!)(B
foozy@708 88
foozy@708 89 Mercurial $B$O$3$l$i(B\emph{$BN>J}(B}$B$N5,LO$N3+H/$r>e<j$K%5%]!<%H$7$^$9!#(B
foozy@708 90 $B$o$:$+?tJ,$G4pK\$r=,F@$G$-!"(B
foozy@708 91 $B$=$NDc%*!<%P%X%C%I$N$*1"$G(B
foozy@708 92 $B:G$b>.$5$J%W%m%8%'%/%H$K$b4JC1$K9=@.4IM}$rE,MQ$G$-$^$9!#(B
foozy@708 93
foozy@708 94 $B9=@.4IM}%D!<%k$NC1=c$5$O!"(B
foozy@708 95 $BFq2r$J35G0$d!"(B
foozy@708 96 \emph{$BK\Ev$K(B}$B$d$m$&$H$7$F$$$k$3$H$H?4M}E*$K6%9g$9$k%3%^%s%INs$H$$$C$?$b$N$r!"(B
foozy@708 97 $BBgNL$K?H$KIU$1$kI,MW$,L5$$$3$H$r0UL#$7$^$9!#(B
foozy@708 98 $BF1;~$K!"(B
foozy@708 99 Mercurial $B$N9b@-G=$5$H(B P2P $BE*FC@-$O!"(B
foozy@708 100 $BBg$-$J%W%m%8%'%/%H$X$NMxMQ$X$H6l$bL5$/3HBg$G$-$^$9!#(B
foozy@708 101
foozy@708 102 $B1?1D$N2<<j$J%W%m%8%'%/%H$r5_$($k9=@.4IM}%D!<%k$O$"$j$^$;$s$,!"(B
foozy@708 103 $BNI$$%D!<%k$rA*Br$9$k$3$H$G!"(B
foozy@708 104 $B%W%m%8%'%/%H$G$N:n6H$K$*$1$k3j$i$+$5$,A4$/0c$C$F$-$^$9!#(B
foozy@708 105
foozy@708 106 \subsection{The many names of revision control}
foozy@708 107
foozy@708 108 $B9=@.4IM}$OB?MM$JNN0h$J$N$G!"(B
foozy@708 109 $B<B:]$K$OE}0l$5$l$?L>A0$dF,;z8l8l$,$"$j$^$;$s!#(B
foozy@708 110
foozy@708 111 $B$h$/L\$K$9$k0lHLE*$JL>>N$*$h$SN,>N$r0J2<$KNs5s$7$^$9!#(B
foozy@708 112
foozy@708 113 \begin{itemize}
foozy@708 114 \item Revision control (RCS)
foozy@708 115 \item Software configuration management (SCM), or configuration management
foozy@708 116 \item Source code management
foozy@708 117 \item Source code control, or source control
foozy@708 118 \item Version control (VCS)
foozy@708 119 \end{itemize}
foozy@708 120
foozy@708 121 $B$3$l$i$NMQ8l$O<B:]$K$O$=$l$>$l0[$J$k0UL#$r;}$C$F$$$k!"(B
foozy@708 122 $B$H<gD%$9$k?M$b$$$^$9$,!"(B
foozy@708 123 $B<B:]$K$O$*8_$$$KHs>o$K=EJ#$7$?0UL#$r;}$C$F$$$k$N$G!"(B
foozy@708 124 $B$3$l$i$KBP$7$F8DJL$K$"$l$3$l8@$&$3$H$K$O;?F1$b$G$-$^$;$s$7!"(B
foozy@708 125 $BM-MQ@-$b$"$j$^$;$s(B\footnote{$BLuCm!'(B
foozy@708 126 $B:r:#$N%=%U%H%&%'%"3+H/$K$*$1$kMQK!$r4U$_$F!"(B
foozy@708 127 $B86J8$G(B ``revision control'' $B$H$J$C$F$$$k2U=j$O!"(B
foozy@708 128 $B0U?^E*$K(B``$B9=@.4IM}(B''(configuration management)$B$HLu$7$F$$$^$9!#(B}$B!#(B
foozy@708 129
foozy@708 130 \section{A short history of revision control}
foozy@708 131
foozy@708 132 $B:G$bM-L>$J@N$N9=@.4IM}%D!<%k$O!"(B
foozy@708 133 Bell Labs $B$N(B Marc Rochkind $B$,(B 1970 $BG/Be=iF,$K<BAu$7$?(B
foozy@708 134 SCCS $B!J(BSource Code Control System$B!K$G$9!#(B
foozy@708 135 SCCS $B$O8DJL$N%U%!%$%k$KBP$7$F5!G=$7!"(B
foozy@708 136 $B%W%m%8%'%/%H$K=>;v$9$kA4$F$N:n6H<T$O!"(B
foozy@708 137 $BC10l%7%9%F%`>e$N6&M-:n6HNN0h$X$N%"%/%;%98"$,I,MW$G$7$?!#(B
foozy@708 138 $B$"$k;~E@$G$N$"$k%U%!%$%k$NJQ99$O!"$?$@0l?M$N:n6H<T$N$_$,2DG=$G!"(B
foozy@708 139 $B%U%!%$%k$N%"%/%;%9$O%m%C%/$K$h$jD4Dd$5$l$F$$$^$7$?!#(B
foozy@708 140 $B%U%!%$%k$r%m%C%/$7$?$^$^3+J|$7K:$l$F$7$^$$!"(B
foozy@708 141 $B4IM}<T$NJd=uL5$7$K$OB>$N?M$,%U%!%$%k$rJQ99$G$-$J$/$7$F$7$^$&$3$H$O!"(B
foozy@708 142 $BNI$/$"$k$3$H$G$7$?!#(B
foozy@708 143
foozy@708 144 SCCS $B$N%U%j!<$JBeBX%D!<%k$H$7$F(B
foozy@708 145 1980 $BG/Be=iF,$K(B Walter Tichy $B$,(B
foozy@708 146 RCS $B!J(BRevison Control System$B!K$H8F$V%W%m%0%i%`$r3+H/$7$^$7$?!#(B
foozy@708 147 SCCS $B$HF1MM!"(B
foozy@708 148 RCS $B$NMxMQ$K$O!"(B
foozy@708 149 $BC10l$N6&M-:n6HNN0h$G$N:n6H$H!"(B
foozy@708 150 $BJ#?t$N:n6H<T$,F1;~$K2~JQ$9$k$N$rKI$0$?$a$N%m%C%/$,I,MW$G$7$?!#(B
foozy@708 151
foozy@708 152 1980 $BG/Be8e4|!"(BDick Grune $B$O(B RCS $B$rMQ$$$F!"(B
foozy@708 153 $BEv=i(B cmt $B$H8F$P$l$k%7%'%k%9%/%j%W%H72$r<BAu$7!"(B
foozy@708 154 $B8e$K$3$l$i$O(B CVS $B!J(BConcurrent Versions System$B!K$H2~L>$5$l$^$7$?!#(B
foozy@708 155 CVS $B$K$*$1$kBg$-$JJQ3W$O!"(B
foozy@708 156 $B3F3+H/<T$4$H$N:n6HNN0h$K$*$$$F!"(B
foozy@708 157 $B3+H/<T$,J?9T3n$D4vJ,FHN)$7$?:n6H$,$G$-$k$h$&$K$J$C$?$3$H$G$9!#(B
foozy@708 158 SCCS $B$d(B RCS $B$G$ONI$/$"$C$?!"(B
foozy@708 159 $B$$$D$G$bB>?M$NB-$rF'$s$G$7$^$&>u67$,!"(B
foozy@708 160 $B3+H/<T$4$H$N:n6HNN0h$NF3F~$K$h$C$FKI$,$l$k$h$&$K$J$j$^$7$?!#(B
foozy@708 161 $B3F3+H/<T$O!"(B
foozy@708 162 $B%W%m%8%'%/%H$K4X$9$kA4$F$N%U%!%$%k$NJ#@=$r;}$A!"(B
foozy@708 163 $B3F<+$NJ#@=$rFHN)$7$FJQ99$9$k$3$H$,$G$-$^$7$?!#(B
foozy@708 164 $BCf1{$N%j%]%8%H%j$X$NJQ99$N%3%_%C%H$K@hN)$C$F!"(B
foozy@708 165 $BJQ99FbMF$N%^!<%8$r$9$kI,MW$,$"$j$^$7$?!#(B
foozy@708 166
foozy@708 167 Brian Berliner $B$O(B
foozy@708 168 Grune $B$N%*%j%8%J%k%9%/%j%W%H$r85$K(B C $B$G=q$-D>$7!"(B
foozy@708 169 $B0JMh8=BeHG$N(B CVS $B$X$HH/E8$9$k%3!<%I$r(B 1989 $B$K%j%j!<%9$7$^$7$?!#(B
foozy@708 170 CVS $B$O$=$N8e!"(B
foozy@708 171 $B!V%/%i%$%"%s%H!&%5!<%P!W%"!<%-%F%/%A%c$NF3F~$K$h$j!"(B
foozy@708 172 $B%M%C%H%o!<%/@\B31[$7$NA`:n$r2DG=$H$9$k5!G=$r3MF@$7$^$7$?!#(B
foozy@708 173 CVS $B$N%"!<%-%F%/%A%c$OCf1{=8LsE*$J$b$N$G!"(B
foozy@708 174 $B%5!<%P$N$_$,%W%m%8%'%/%H$NMzNr$N$3$T!<$r;}$C$F$$$^$9!#(B
foozy@708 175 $B%/%i%$%"%s%HB&$N:n6HNN0h$O!"(B
foozy@708 176 $B%W%m%8%'%/%H%U%!%$%k$N:G?7HG$rJ#@=$7$?$b$N$H!"(B
foozy@708 177 $B%5!<%P$N>l=jEy$rCN$k$?$a$N$o$:$+$J%a%?%G!<%?$r;}$C$F$$$k$@$1$G$9!#(B
foozy@708 178 CVS $B$OHs>o$K@.8y$7$F$$$F!"(B
foozy@708 179 $B$*$=$i$/@$3&$G:G$b9-$/;HMQ$5$l$F$$$k9=@.4IM}%7%9%F%`$G$7$g$&!#(B
foozy@708 180
foozy@708 181 Sun Microsystems $B$O(B 1990 $BG/Be=iF,$K!"(B
foozy@708 182 TeamWare $B$H8F$P$l$kJ,;69=@.4IM}%7%9%F%`$N$O$7$j$H$J$k$b$N$r3+H/$7$^$7$?!#(B
foozy@708 183 TeamWare $B$K$*$1$k!J8D?M$N!K:n6HNN0h$O!"(B
foozy@708 184 $B%W%m%8%'%/%H$N40A4$JJ#@=$r3JG<$7$F$$$^$9!#(B
foozy@708 185 TeamWare $B$K$O!VCf1{%j%]%8%H%j!W$H$$$&35G0$,$"$j$^$;$s(B
foozy@708 186 $B!J(BCVS $B$OMzNr3JG<$r(B RCS $B$K0MB8$7$F$$$^$7$?$,!"(B
foozy@708 187 TeamWare $B$O(B SCCS $B$rMxMQ$7$F$$$^$7$?!K!#(B
foozy@708 188
foozy@708 189 1990 $BG/Be$,?J$`$K$D$l$F!"(B
foozy@708 190 $BLdBj0U<1$+$i(B CVS $B$K4X$9$kLdBj$,B?$/82:_2=$7$F$-$^$7$?!#(B
foozy@708 191 $BNc$($P(B CVS $B$O!"(B
foozy@708 192 $BJ#?t$N%U%!%$%k$KBP$9$kF1;~99?7$r!"(B
foozy@708 193 $BO@M}E*$KIT2DJ,$JC10l$N:nMQ$H$7$F$^$H$a$kBX$o$j$K!"(B
foozy@708 194 $B%U%!%$%k$4$H$K8DJL$K5-O?$7$F$$$^$9!#(B
foozy@708 195 $B$^$?!"%U%!%$%k3,AX$r>e<j$/4IM}$G$-$J$$$?$a!"(B
foozy@708 196 $B%U%!%$%k$d%G%#%l%/%H%j$r2~L>$9$k$3$H$G!"(B
foozy@708 197 $BMF0W$K%j%]%8%H%j$r:.Mp$5$;$k$3$H$,$G$-$^$9!#(B
foozy@708 198 $B$J$*0-$$$3$H$K!"(B
foozy@708 199 CVS $B<+?H$N%=!<%9%3!<%I$OFI$`$K$bJ]<i$9$k$K$bFq2r$J$?$a!"(B
foozy@708 200 $B%"!<%-%F%/%A%c>e$NLdBjE@$r=$@5$9$k(B``$B6lDKEY(B''$B$OK!30$J$b$N$G$7$?!#(B
foozy@708 201
foozy@708 202 CVS $B$N3+H/$r9T$C$F$$$?(B
foozy@708 203 Jim Blandy $B$*$h$S(B Karl Fogel $B$NFs?M$O!"(B
foozy@708 204 $B$h$jNI$$%"!<%-%F%/%A%c$r;}$A!"(B
foozy@708 205 $B>03n$D%3!<%I$,e:No$J%D!<%k$G(B CVS $B$rCV$-49$($k%W%m%8%'%/%H$r!"(B
foozy@708 206 2001 $BG/$K;O$a$^$7$?!#(B
foozy@708 207 $B7k2L$H$7$F@8$_=P$5$l$?(B Subversion $B$O!"(B
foozy@708 208 CVS $B$NCf1{=8Ls7?%/%i%$%"%s%H!?%5!<%P%b%G%k$+$i$ON%$l$J$+$C$?$b$N$N!"(B
foozy@708 209 $BJ#?t%U%!%$%k$NIT2DJ,%3%_%C%H$d!"(B
foozy@708 210 $B$h$jNI$$L>A06u4V$N4IM}!"(B
foozy@708 211 $B$*$h$S(B CVS $B$h$j$b35$MNI9%$J%D!<%k$H8@$&$KB-$k$=$NB>$NB?$/$N5!G=$r;}$C$F$$$^$9!#(B
foozy@708 212 $B=i2s$N%j%j!<%90JMh!"$=$N?M5$$OB.$d$+$K>e>:$7$F$$$^$9!#(B
foozy@708 213
foozy@708 214 $B$=$l$H35$MF1;~4|$K!"(B
foozy@708 215 Graydon Hoare $B$O(B Monotone
foozy@708 216 $B$H8F$P$l$kLn?4E*$JJ,;69=@.4IM}%7%9%F%`$K<h$j3]$+$j;O$a$^$7$?!#(B
foozy@708 217 Monotone $B$O!"(B
foozy@708 218 CVS $B@_7W>e$NB?$/$NLdBj$K<h$jAH$_!"(BP2P $B%"!<%-%F%/%A%c$r;}$D0lJ}$G!"(B
foozy@708 219 $BB?$/$N3W?7E*$JE@$K$*$$$F=i4|$N!J$=$7$F$=$N8e$N!K(B
foozy@708 220 $B9=@.4IM}%D!<%k$+$iHt$SH4$1$F$$$^$9!#(B
foozy@708 221 Monotone $B$O!"(B
foozy@708 222 $B0E9f$GMQ$$$i$l$k%O%C%7%eCM$r<1JL;R$H$7$F;HMQ$7$F$*$j!"(B
foozy@708 223 $B0[$J$kM3Mh$N%3!<%I$K$H$C$FIT2D7g$J(B``$B?.Mj(B''$B$N35G0$r;}$C$F$$$^$9!#(B
foozy@708 224
foozy@708 225 Mercurial $B$O(B 2005 $BG/$KCB@8$7$^$7$?!#(B
foozy@708 226 $B@_7W>e$N4v$D$+$N8+CO$K$*$$$F(B Monotone $B$+$i1F6A$r<u$1$k0lJ}$G!"(B
foozy@708 227 Mercurial $B$OMxMQ$N4JJX@-!"@-G=$N9b$5!"(B
foozy@708 228 $B$*$h$SBg5,LO%W%m%8%'%/%H$X$NE,MQ@-$K<g4c$rCV$$$F$$$^$9!#(B
foozy@708 229
foozy@708 230 \section{Trends in revision control}
foozy@708 231
foozy@708 232 $B2a5n#4#0G/$KEO$k9=@.4IM}%D!<%k$N3+H/$HMxMQ$K$*$1$kJ6$l$bL5$$798~$H$7$F!"(B
foozy@708 233 $B9=@.4IM}%D!<%k$NMxMQ<T$O!"(B
foozy@708 234 $BMxMQ$7$F$$$k%D!<%k$N5!G=$K@:DL$9$k$H6&$K!"(B
foozy@708 235 $B%D!<%k$N@)Ls$K$h$C$FM^@)$5$l$k$h$&$G$9!#(BXXXXXX
foozy@708 236 There has been an unmistakable trend in the development and use of
foozy@708 237 revision control tools over the past four decades, as people have
foozy@708 238 become familiar with the capabilities of their tools and constrained
foozy@708 239 by their limitations.
foozy@708 240
foozy@708 241 $B:G=i$N@$Be$O!"(B
foozy@708 242 $BC10l%U%!%$%k$r3F<+$N%3%s%T%e!<%?$G4IM}$9$k$3$H$+$i;O$^$j$^$7$?!#(B
foozy@708 243 $B$3$N@$Be$N%D!<%k$O!"(B
foozy@708 244 $B<jF0$K$h$k>lEv$?$j$J9=@.4IM}$KHf$Y$l$PBg$-$JA0?J$G$O$"$j$^$7$?$,!"(B
foozy@708 245 $BGSB>$K$h$kA`:n%b%G%k$H!"(B
foozy@708 246 $BC10l%3%s%T%e!<%?>e$G$NMxMQ$rA0Ds$H$7$?@_7W$N$?$a!"(B
foozy@708 247 $B>.$5$/6[L)$J%A!<%`$G$NMxMQ$K8BDj$5$l$F$$$^$7$?!#(B
foozy@708 248
foozy@708 249 $BBhFs@$Be$O!"(B
foozy@708 250 $B%M%C%H%o!<%/<gBN$N%"!<%-%F%/%A%c$X$N0\9T$H!"(B
foozy@708 251 $B%W%m%8%'%/%HA4BN$N0l3g4IM}$K$h$C$F!"(B
foozy@708 252 $B$3$l$i$N@)Ls$r4KOB$7$^$7$?!#(B
foozy@708 253 $B$7$+$7!"%W%m%8%'%/%H5,LO$,Bg$-$/$J$l$P$J$k$[$I!"?7$?$JLdBj$,H/@8$7$^$7$?!#(B
foozy@708 254 $B%/%i%$%"%s%H$O%5!<%P$HIQHK$KO"7H$9$kI,MW$,$"$k$?$a!"(B
foozy@708 255 $B%5!<%P$OBg5,LO%W%m%8%'%/%H$X$NE,MQ$,LdBj$K$J$j$^$7$?!#(B
foozy@708 256 $B?.Mj@-$NDc$$%M%C%H%o!<%/@\B3$G$O!"(B
foozy@708 257 $B1s3V%f!<%6$,%5!<%P$HA4$/O"7H$,$G$-$J$$$3$H$b$"$j$^$7$?!#(B
foozy@708 258 $B%*!<%W%s%=!<%9%W%m%8%'%/%H$,F?L>$NFI$_9~$_@lMQ%"%/%;%9$r3+J|$9$k$K$D$l!"(B
foozy@708 259 $B%j%]%8%H%j$X$N%3%_%C%H8"8B$r;}$?$J$$?M!9$O!"(B
foozy@708 260 $B9=@.4IM}%D!<%k$NDL>o$NJ}K!$G$O<+J,$?$A$NJQ99$,5-O?$G$-$:!"(B
foozy@708 261 $B$=$l8N$K%W%m%8%'%/%H$KBP$7$FF/$-$+$1$k$3$H$,$G$-$J$$$3$H$K5$IU$-;O$a$^$7$?!#(B
foozy@708 262
foozy@708 263 $B8=@$Be$N9=@.4IM}%D!<%k$O!";v<B>e(B P2P $B$G$9!#(B
foozy@708 264 $B$3$l$i$O!"(B
foozy@708 265 $BC10l$NCf1{%5!<%P$KBP$9$k0MB8$r;}$?$:!"(B
foozy@708 266 $B$=$N$?$a9=@.4IM}%G!<%?$rI,MW$J>l=j$KJ,;6$9$k$3$H$,2DG=$G$9!#(B
foozy@708 267 $B%$%s%?!<%M%C%H$r2p$7$?O"7H$K$*$1$k2]Bj$O!"(B
foozy@708 268 $B5;=QE*$J@)Ls$K4X$9$k$b$N$+$i!"(B
foozy@708 269 $BA*Br(B(of what ?)$B$H9g0U(B(of what)$B7A@.$NLdBj$X$H0\9T$7$D$D$"$j$^$9(B XXXX$B!#(B
foozy@708 270 Collaboration over the Internet
foozy@708 271 has moved from constrained by technology to a matter of choice and
foozy@708 272 consensus.
foozy@708 273 $B:G?7$N%D!<%k$O!"(B
foozy@708 274 $B%*%U%i%$%s>u67$G$bL5@)8B$KFHN)$7$FA`:n$G$-!"(B
foozy@708 275 $B%M%C%H%o!<%/@\B3$OB>$N%j%]%8%H%j$H$NF14|$K$N$_I,MW$H$5$l$^$9!#(B
foozy@708 276
foozy@708 277 \section{A few of the advantages of distributed revision control}
foozy@708 278
foozy@708 279 $BA0@$Be$X$NBP93GO$H$7$F!"(B
foozy@708 280 $B$3$3?tG/$N4V$KJ,;69=@.4IM}%D!<%k$,7xO43n$DJXMx$K$J$C$F$-$F$O$$$k$b$N$N!"(B
foozy@708 281 $B8E$$%D!<%k$rMxMQ$7$F$$$k?M!9$O!"(B
foozy@708 282 $BI,$:$7$bJ,;69=@.4IM}%D!<%k$ND9=j$K5$IU$$$F$$$k$o$1$G$O$"$j$^$;$s!#(B
foozy@708 283 $BCf1{=8LsE*7?!J%D!<%k!K$HHf3S$7$F!"(B
foozy@708 284 $BJ,;67?!J%D!<%k!K$NM%$l$F$$$kE@$,4v$D$+$"$j$^$9!#(B
foozy@708 285
foozy@708 286 $B3+H/<T8D?M$K$H$C$F$O!"(B
foozy@708 287 $BCf1{=8Ls7?$HHf3S$7$?>l9g!"(B
foozy@708 288 $B35$M$$$D$G$bJ,;67?$NJ}$,9bB.$G$9!#(B
foozy@708 289 $B$3$l$O!"(B
foozy@708 290 $BCf1{=8Ls7?$G$OKX$I$N%a%?%G!<%?$,Cf1{%5!<%P>e$K$7$+B8:_$7$J$$$?$a!"(B
foozy@708 291 $BB?$/$NDj7?=hM}$NEY$K%M%C%H%o!<%/1[$7$K%5!<%P$H$NDL?.$,I,MW!"(B
foozy@708 292 $B$H$$$&C1=c$JM}M3$N$?$a$G$9!#(B
foozy@708 293 $BJ,;67?$N>l9g$O!"A4$F$N%a%?%G!<%?$r<j85$K3JG<$7$F$$$^$9!#(B
foozy@708 294 $BB>$NA4$F$,F1$8$@$H$7$F$b!"(B
foozy@708 295 $B%M%C%H%o!<%/1[$7$NDL?.$OCf1{=8Ls7?$K$H$C$F$N%*!<%P%X%C%I$H$J$j$^$9!#(B
foozy@708 296 $B9=@.4IM}%D!<%k$H$NBPOC$KB?$/$N;~4V$rHq$d$=$&$H8@$&$N$G$9$+$i!"(B
foozy@708 297 $B%F%-%Q%-$HF0$/1~Ez@-$NNI$$%D!<%k$N2ACM$r7Z;k$7$F$O$$$1$^$;$s!#(B
foozy@708 298
foozy@708 299 $B7+$jJV$7$K$J$j$^$9$,!"(B
foozy@708 300 $BJ,;67?$O%a%?%G!<%?$r2?2U=j$K$bJ#@=$G$-$k$N$G!"(B
foozy@708 301 $B%5!<%P4D6-$N5$$^$0$l(B\footnote{$BLuCm(B:
foozy@708 302 $BFCDj$N%5!<%P$NF0:nITNIEy(B}$B$O5$$K$J$j$^$;$s!#(B
foozy@708 303 $BCf1{=8Ls7?$G%5!<%P$,2P$rJ.$$$?>l9g$K$O!"(B
foozy@708 304 $B%P%C%/%"%C%W%a%G%#%"$N?.Mj@-$H!"(B
foozy@708 305 $B:G8e$N%P%C%/%"%C%W$,:G6a$N$b$N$G$"$k$3$H$r5'$k$K0c$$$"$j$^$;$s!#(B
foozy@708 306 $BJ,;67?$N>l9g!"(B
foozy@708 307 $B3F3+H/<T$N%3%s%T%e!<%?>e$KL5?t$N%P%C%/%"%C%W$,B8:_$9$k$3$H$K$J$j$^$9!#(B
foozy@708 308
foozy@708 309 $BJ,;67?$OCf1{=8Ls7?$N>l9g$h$j$b!"(B
foozy@708 310 $B%M%C%H%o!<%/$N?.Mj@-$K$h$k1F6A$r<u$1$^$;$s!#(B
foozy@708 311 $B$=$l$I$3$m$+!"(B
foozy@708 312 $BHs>o$K8BDjE*$J4v$D$+$N%3%^%s%I$r=|$1$P!"(B
foozy@708 313 $BCf1{=8Ls7?$G$O%M%C%H%o!<%/@\B3H4$-$K$O2?$b$G$-$^$;$s!#(B
foozy@708 314 $BJ,;67?$N>l9g!"(B
foozy@708 315 $B:n6HCf$K%M%C%H%o!<%/@\B3$,@Z$l$F$b!"(B
foozy@708 316 $B$=$N;v$K5$IU$+$J$$$+$b$7$l$^$;$s!#(B
foozy@708 317 $BB>$N%3%s%T%e!<%?>e$N%j%]%8%H%j$H$NO"7H$@$1$O$G$-$J$/$J$j$^$9$,!"(B
foozy@708 318 $B<j85$N%j%]%8%H%j$H$NO"7H$HHf$Y$l$P!"(B
foozy@708 319 $B$=$N$h$&$JO"7H$,I,MW$J;vBV$O$o$:$+$J$b$N$G$9!#(B
foozy@708 320 $BJ,;6$7$F$$$k$J6&F1:n6H%A!<%`$N>l9g$K$O!"(B
foozy@708 321 $B$3$l$O=EMW$G$9!#(B
foozy@708 322
foozy@708 323 \subsection{Advantages for open source projects}
foozy@708 324
foozy@708 325 $B%=!<%9$r%O%C%-%s%0$7$F$_$h$&$H;W$C$?%*!<%W%s%=!<%9$N%W%m%8%'%/%H$,!"(B
foozy@708 326 $BJ,;69=@.4IM}%D!<%k$r;HMQ$7$F$$$?>l9g!"(B
foozy@708 327 $B<+?H$r%W%m%8%'%/%H$N(B``$BCf3K(B''$B$H$_$J$9?MC#$HD>$A$KBPEy$K$J$l$^$9!#(B
foozy@708 328 $BH`$i$,%j%]%8%H%j$r8x3+$7$F$$$l$P!"(B
foozy@708 329 $BFbIt$N?MC#$HF1$8%D!<%k!&F1$8<j=g$G!"(B
foozy@708 330 $B%W%m%8%'%/%H$NMzNr$N%3%T!<$d!"JQ99$N<B;\!":n6H$N5-O?$H$$$C$?$3$H$r!"(B
foozy@708 331 $B$9$0$K$G$b9T$&$3$H$,$G$-$^$9!#(B
foozy@708 332 $BCf1{=8Ls7?$N>l9g$O$=$l$H$OBP>HE*$K!"(B
foozy@708 333 $BCf1{$N%5!<%P$KBP$9$kJQ99%3%_%C%H$N8"8B$rM?$($i$l$J$$8B$j!"(B
foozy@708 334 ``$BFI$_9~$_@lMQ(B''$B%b!<%I$G$7$+;H$&$3$H$,$G$-$^$;$s!#(B
foozy@708 335 $B%3%_%C%H8"8B$,IUM?$5$l$k$^$G$OJQ99$N5-O?$O$G$-$:!"(B
foozy@708 336 $BCf1{$N%j%]%8%H%j$H$NF14|$N:]$K$O>o$K<j85$G$NJQ99$,GKB;$9$k4m81$rJz$($F$$$^$9!#(B
foozy@708 337
foozy@708 338 \subsubsection{The forking non-problem}
foozy@708 339
foozy@708 340 $BJ,;69=@.4IM}%D!<%k$O!"(B
foozy@708 341 $B%W%m%8%'%/%H$r(B``$BJ,Nv(B''$B$5$;0W$/$7$F$7$^$&$?$a!"(B
foozy@708 342 $B%*!<%W%s%=!<%9%W%m%8%'%/%H$K$H$C$F$"$k<o$N4m81MW0x$H$J$k!"(B
foozy@708 343 $B$H8@$o$l$F$-$^$7$?!#(B
foozy@708 344 $BJ,Nv$O!"(B
foozy@708 345 $B$3$l0J>e0l=o$K3+H/$r7QB3$G$-$J$$$H7kO@IU$1$k860x$H$J$k$h$&$J!"(B
foozy@708 346 $B3+H/%0%k!<%W4V$G$N0U8+$dFC@-$NAj0c$N$,$"$k>l9g$KH/@8$7$^$9!#(B
foozy@708 347 $BN>?X1D$O!"(B
foozy@708 348 $B%W%m%8%'%/%H$N%=!<%9%3!<%I$N35$M40A4$J%3%T!<$r;}$C$F!"(B
foozy@708 349 $B$*8_$$$NJ}8~$X$HJ,$+$l$F$f$-$^$9!#(B
foozy@708 350
foozy@708 351 $B;~$K$O!"J,Nv$7$?3F?X1D$,!"(B
foozy@708 352 $B$*8_$$$NAj0c$K@^$j9g$$$rIU$1$k7hDj$r$9$k$3$H$,$"$j$^$9!#(B
foozy@708 353 $BCf1{=8Ls7?$N9=@.4IM}%7%9%F%`$G$O!"(B
foozy@708 354 $B@^$j9g$$$rIU$1$k$?$a$N(B\emph{$B5;=QE*$J(B}$B=hM}$,6l$7$/!"(B
foozy@708 355 $BBgItJ,$O<jF0$G<B;\$7$J$1$l$P$J$j$^$;$s!#(B
foozy@708 356 $BC/$NJQ99MzNr$,(B``$B@8$-;D$k(B''$B$N$+$r7hDj$7$?>e$G!"(B
foozy@708 357 $B2?$H$+$7$FB>$N%A!<%`$NJQ99$r%=!<%9%D%j!<$K0\?"$7$J$1$l$P$J$j$^$;$s!#(B
foozy@708 358 $B$3$N:n6H$ODL>o!"(B
foozy@708 359 $BB>J}$NMzNr>pJs$N0lIt$J$$$7A4It$r<:$&$3$H$K$J$j$^$9!#(B
foozy@708 360
foozy@708 361 $BJ,;67?$K$H$C$F$O!"(B
foozy@708 362 $BJ,Nv$3$=$,%W%m%8%'%/%H$rH/E8$5$;$k(B\emph{$BM#0l$N(B}$BJ}K!$J$N$G$9!#(B
foozy@708 363 $B8D!9$NJQ99$O!"A4$F@x:_E*$JJ,NvE@$J$N$G$9!#(B
foozy@708 364 $BJ,Nv$O>o$KH/@8$7$F$$$kA4$/4pK\E*$J;v>]$J$N$G!"(B
foozy@708 365 $BJ,;69=@.4IM}$O<B:]$KJ,Nv$r>e<j$/(B\emph{$B%^!<%8(B}$B$G$-$J$1$l$P$J$i$J$$!"(B
foozy@708 366 $B$H$$$&E@$K$3$N9M$(J}$N6/$_$,$"$j$^$9!#(B
foozy@708 367
foozy@708 368 $BA4$F$N?M$NA4$F$N:n6H$,!"(B
foozy@708 369 $B>o$KJ,Nv$H%^!<%8$N4QE@$+$iAH$_N)$F$i$l$?>l9g!"(B
foozy@708 370 $B%*!<%W%s%=!<%9@$3&$,(B``$BJ,Nv(B''$B$H$7$F8@5Z$9$k$b$N$O!"(B
foozy@708 371 \emph{$B=c?h$K(B}$B<R2qE*$JLdBj$H$J$k$G$7$g$&!#(B
foozy@708 372 $B$I$A$i$+$H$$$($P!"(B
foozy@708 373 $BJ,;67?$OJ,Nv$N2DG=@-$r(B\emph{$BDc2<(B}$B$5$;$F$$$^$9!#(B
foozy@708 374
foozy@708 375 \begin{itemize}
foozy@708 376 \item $BCf1{=8Ls7?$,>7$$$F$7$^$&(B``$BFbIt(B''$B!J%3%_%C%H8"8B$r;}$D?M!9!K(B
foozy@708 377 $B$H(B``$B30It(B''$B!J;}$?$6$k?M!9!K$H$$$C$?<R2qE*6hJ,$rL5$/$7$^$9!#(B
foozy@708 378
foozy@708 379 \item $B9=@.4IM}%=%U%H%&%'%"$N;kE@$G$O!"C1$J$k%^!<%8$K2a$.$^$;$s$N$G!"(B
foozy@708 380 $B<R2qE*J,Nv$N8e$NOB2r$rMF0W$K$7$^$9!#(B
foozy@708 381
foozy@708 382 \end{itemize}
foozy@708 383
foozy@708 384 $B%W%m%8%'%/%HA4HL$X$N6[L)$JE}<#$N0];}$,Cf1{=8Ls7?%D!<%k$K$h$C$FF@$i$l$k!"(B
foozy@708 385 $B$H?.$8$F$$$k$?$a$K!"J,;67?$KDq93$9$k?M$b$$$^$9!#(B
foozy@708 386 $B$7$+$7!"$=$&$$$C$?4|BT$N85$G(B
foozy@708 387 CVS $B$J$$$7(B Subversion $B$K$h$k%j%]%8%H%j$r8x3+$7$F$b!"(B
foozy@708 388 $BL5?t$KB8:_$9$k%D!<%k$K$h$C$F!"(B
foozy@708 389 $B%W%m%8%'%/%HA4BN$NMzNr$r!JNc$(CY$$$H$O8@$(!K<h$j=P$7!"(B
foozy@708 390 $B$"$J$?$N@)8f$N5Z$P$J$$>l=j$G:F9=C[$9$k$3$H$,$G$-$F$7$^$$$^$9!#(B
foozy@708 391 ``$B%W%m%8%'%/%HA4HL$X$N6[L)$JE}<#$N0];}(B''$B$,:x3P$G$"$k0lJ}!"(B
foozy@708 392 So while your control in this case is illusory, you are
foozy@708 393 foregoing the ability to fluidly collaborate with whatever people feel
foozy@708 394 compelled to mirror and fork your history.
foozy@708 395 XXXXXX
foozy@708 396
foozy@708 397 \subsection{Advantages for commercial projects}
foozy@708 398
foozy@708 399 $BB?$/$N>&6H%W%m%8%'%/%H$O!"(B
foozy@708 400 $B@$3&Cf$K;6$i$P$C$?%A!<%`$,@A$1Ii$C$F$$$^$9!#(B
foozy@708 401 $BCf1{$N%5!<%P$+$i1s$/N%$l$?%a%s%P!<$O!"(B
foozy@708 402 $B%3%^%s%I<B9T$NCY$5$d!"(B
foozy@708 403 $B$*$=$i$/KX$I?.Mj@-$NL5$$%5!<%P$H$N@\B3$rL\$K$9$k$3$H$G$7$g$&!#(B
foozy@708 404 $B>&6HE*$J9=@.4IM}%7%9%F%`$O!"(B
foozy@708 405 $B1s3V%5%$%HJ#@=(B\footnote{$BLuCm!'(B
foozy@708 406 ``$BJ]<i$,BgJQ(B''$B$H8@$C$F$$$k$3$H$+$i!"(B
foozy@708 407 $B$3$N>l9g$NJ#@=$O(B``$B%5!<%P$NJ#@=(B''$B$r;X$7$F$$$k$N$+$J!)(B
foozy@708 408 }$B$NDI2C5!G=$K$h$k$3$l$i$NLdBj$r2r7h$7$h$&$H$7$F$$$^$9$,!"(B
foozy@708 409 $BDL>o!"$3$&$$$C$?5!G=$O9b2A$GJ]<i$,BgJQ$G$9!#(B
foozy@708 410 $BJ,;67?$N>l9g$O!"(B
foozy@708 411 $B$=$b$=$b$3$&$$$C$?LdBj$GG:$`I,MW$,$"$j$^$;$s!#(B
foozy@708 412 $B99$K!"Nc$($P%5%$%H$4$H$K0lBf$:$D$H$$$&1vG_$G!"(B
foozy@708 413 $B?.Mj$G$-$k%5!<%P$rJ#?tN)$A>e$2$k$3$H$b4JC1$G$9$N$G!"(B
foozy@708 414 $B9b2A$G5wN%$N$"$k%M%C%H%o!<%/7PO)1[$7$N%j%]%8%H%j4V$G!"(B
foozy@708 415 $BM>7W$JDL?.$r$9$kI,MW$O$"$j$^$;$s!#(B
foozy@708 416
foozy@708 417 $BCf1{=8Ls7?$N9=@.4IM}%7%9%F%`$O!"(B
foozy@708 418 $BAjBPE*$K%9%1!<%i%S%j%F%#$,Dc$$798~$K$"$j$^$9!#(B
foozy@708 419 $B9b2A$JCf1{=8Ls%7%9%F%`$@$+$i$H$$$C$F!"(B
foozy@708 420 $BJ?9TMxMQ$9$k?t%@!<%9$N%f!<%6$NIi2Y$K$h$C$F%@%&%s$7$F$7$^$&$3$H$O!"(B
foozy@708 421 $BM-$jF@$J$$$3$H$G$O$"$j$^$;$s!#(B
foozy@708 422 $B7+$jJV$7$K$J$j$^$9$,!"(B
foozy@708 423 $B9bIi2Y$K$*$1$k%@%&%s$KBP$9$kE57?E*$JBP1~$O!"(B
foozy@708 424 $B9b2A$G8E=-$$J#@=5!G=$NMxMQ$G$9!#(B
foozy@708 425 $BJ,;67?%D!<%k$r;HMQ$9$k>l9g!"Cf1{%5!<%P(B--
foozy@708 426 $B2>$K;}$C$F$$$k$H$7$F$b0lBf$@$1$G$7$g$&$,(B
foozy@708 427 --$B$K$*$1$kIi2Y$OHs>o$KDc$$$N$G!"(B
foozy@708 428 $B$b$C$HBg?M?t$N%A!<%`$NMW5a$rC10l$N0B2A$J%5!<%P$G;+$/$3$H$,$G$-$^$9$7!"(B
foozy@708 429 $BIi2YJ,;6$OC1$K%9%/%j%W%H:n@.$NLdBj$H$J$j$^$9!#(B
foozy@708 430
foozy@708 431 $B8\5R$N85$K=P$FLdBjBP1~$9$k%a%s%P!<$,$$$k>l9g!"(B
foozy@708 432 $BJ,;69=@.4IM}$OM-1W$G$9!#(B
foozy@708 433 $BB>$N%S%k%I$+$i$O3VN%$5$l$?>uBV$GFCJL$J%S%k%I$N$?$a$KJ#?t$N=$@5$r;n$7$?$j!"(B
foozy@708 434 $B>c32$dB`9T$NMW0x$r%=!<%9$N=$@5MzNr$+$i8z2LE*$K8!:w$7$?$j$H$$$C$?$3$H$r!"(B
foozy@708 435 $B5R@h4D6-$G<+<R$N%M%C%H%o!<%/$K@\B3$9$k$3$HL5$7$K9T$&$3$H$,$G$-$^$9!#(B
foozy@708 436
foozy@708 437 \section{Why choose Mercurial?}
foozy@708 438
foozy@708 439 Mercurial $B$O!"(B
foozy@708 440 $B$H$j$o$19=@.4IM}%7%9%F%`$H$7$FNI$$A*Br$r$7$?$H8@$($k!"(B
foozy@708 441 $BN`$r8+$J$$FCD'$r;}$C$F$$$^$9!#(B
foozy@708 442
foozy@708 443 \begin{itemize}
foozy@708 444 \item $B=,F@!&MxMQ$,MF0W(B
foozy@708 445 \item $B7ZNL(B
foozy@708 446 \item $B5,LO3HBg$KBQ$(F@$k(B
foozy@708 447 \item $B2~B$$,MF0W(B
foozy@708 448 \end{itemize}
foozy@708 449
foozy@708 450 $B9=@.4IM}%7%9%F%`$K47$l?F$7$s$G$$$k$N$G$"$l$P!"(B
foozy@708 451 Mercurial $B$r;H$($k$h$&$K$J$k$N$K#5J,$b3]$+$i$J$$H&$G$9!#(B
foozy@708 452 $B$=$&$G$J$$>l9g$G$b!"(B
foozy@708 453 $B99$K?tJ,0J>e$O3]$+$i$J$$$G$7$g$&!#(B
foozy@708 454 Mercurial $B$N%3%^%s%I$d5!G=72$O!"(B
foozy@708 455 $BA4BNE*$KE}0l@-$H0l4S@-$,J]$?$l$F$$$^$9$N$G!"(B
foozy@708 456 $BBt;3$NNc30;v9`$G$O$J$/!"(B
foozy@708 457 $B>/?t$N0lHLE*$JJ}K!$@$1$r3P$($F$*$1$PNI$$$N$G$9!#(B
foozy@708 458
foozy@708 459 $B>.$5$J%W%m%8%'%/%H$N>l9g!"(B
foozy@708 460 $B$9$0$K$G$b(B Mercurial $B$r;H$$;O$a$k$3$H$,$G$-$k$G$7$g$&!#(B
foozy@708 461 $B?7$?$JJQ99$d%V%i%s%A$r@8@.$7!"(B
foozy@708 462 $BJQ99$r!JF10l%[%9%H$J$$$7%M%C%H%o!<%/1[$7$G!K;}$AJb$$$?$j!"(B
foozy@708 463 $BMzNr;2>H$d>uBV3NG'$H$$$C$?A4$F$NA`:n$,9bB.$G$9!#(B
foozy@708 464 $B85MhHs>o$K9bB.$JA`:n$K2C$($F!"(B
foozy@708 465 $BL\$K8+$($k%*!<%P!<%X%C%I$,>/$J$$$?$a$K!"(B
foozy@708 466 Mercurial $B$O=SIR$5$rJ]$A!"(B
foozy@708 467 $BMxMQ<T$N:n6H$rK8$2$k$3$H$rHr$1$k$3$H$,$G$-$^$9!#(B
foozy@708 468
foozy@708 469 Mercurial $B$NM-MQ@-$O>.$5$J%W%m%8%'%/%H$K8BDj$5$l$^$;$s!#(B
foozy@708 470 $B?tI4$+$i?t@i$N%a%s%P$r;}$A!"(B
foozy@708 471 $B%=!<%9%3!<%I$,?tK|%U%!%$%k!&(B
foozy@708 472 $B?tI4%a%,%P%$%H$K5Z$V%W%m%8%'%/%H$G$b:NMQ$5$l$F$$$^$9!#(B
foozy@708 473
foozy@708 474 Mercurial $B$N4pK\5!G=$KK~B-$G$-$J$$>l9g$G$b!"(B
foozy@708 475 $BMF0W$K3HD%$9$k$3$H$,$G$-$^$9!#(B
foozy@708 476 Mercurial $B$O=hM}$N%9%/%j%W%H2=$KE,$7$F$*$j!"(B
foozy@708 477 Python $B$r;H$C$Fe:No$K<BAu$5$l$F$$$k$3$H$,!"(B
foozy@708 478 $B!V%$%/%9%F%s%7%g%s!W$H$$$&7A<0$G$N5!G=DI2C$rMF0W$K$7$F$$$^$9!#(B
foozy@708 479 $B!V>c32FCDj$NJd=u!W$+$i!V@-G=8~>e!W$H$$$C$?9-$$HO0O$G!"(B
foozy@708 480 $BI>H=$NNI$$M-MQ$JB?$/$N%$%/%9%F%s%7%g%s$,4{$KDs6!$5$l$F$$$^$9!#(B
foozy@708 481
foozy@708 482 \section{Mercurial compared with other tools}
foozy@708 483
foozy@708 484 $B$3$N@h$rFI$`A0$K!"(B
foozy@708 485 $BCx<T<+?H$N7P83!?4X?4!?!J$"$($F8@$$$^$9$,!KJP8+$H$$$C$?$b$N$,!"(B
foozy@708 486 $BK\@a$KH?1G$;$6$k$rF@$J$$E@$r$4M}2r$/$@$5$$!#(B
foozy@708 487 $BCx<T$O!"0J2<$K$"$2$k9=@.4IM}%D!<%k$N$=$l$>$l$r!"(B
foozy@708 488 $B:GD9$G?tG/DxEY;HMQ$7$?7P83$,$"$j$^$9!#(B
foozy@708 489
foozy@708 490 \subsection{Subversion}
foozy@708 491
foozy@708 492 Subversion $B$O(B CVS $B$NCV$-49$($rL\;X$7$F3+H/$5$l$?!"(B
foozy@708 493 $BI>H=$N$h$$9=@.4IM}%D!<%k$G$9!#(B
foozy@708 494 Subversion $B$OCf1{=8Ls7?$N!V%/%i%$%"%s%H!?%5!<%P!W(B
foozy@708 495 $B%"!<%-%F%/%A%c$r;}$C$F$$$^$9!#(B
foozy@708 496
foozy@708 497 Subversion $B$H(B Mercurial $B$O!"(B
foozy@708 498 $BF1$8:nMQ$r;}$D;w$?$h$&$JL>A0$N%3%^%s%I$r;}$C$F$$$k$N$G!"(B
foozy@708 499 $B0lJ}$KFk@w$_$N$"$k%f!<%6$OB>J}$NMQK!$rMF0W$K=,F@$G$-$^$9!#(B
foozy@708 500 $B$3$l$i$ON>J}$H$bA4$F$NCxL>$J(B OS $B>e$GMxMQ2DG=$G$9!#(B
foozy@708 501
foozy@708 502 Subversion $B$OMzNr$r0U<1$7$?%^!<%85!G=$r;}$C$F$$$J$$$N$G!"(B
foozy@708 503 $B$I$N%j%S%8%g%s$N%V%i%s%A4V$G%^!<%8$9$Y$-$+$r!"(B
foozy@708 504 $B%f!<%6<+?H$,87L)$K;XDj$9$k$3$H$r6/@)$7$^$9!#(B
foozy@708 505 $B$3$N;XDj$,$G$-$J$+$C$?$j4V0c$($?$j$7$?>l9g!"(B
foozy@708 506 $B%^!<%8$K$*$1$kITI,MW$J>WFM$r<jF0$G2r7h$9$k1)L\$K$J$j$^$9!#(B
foozy@708 507
foozy@708 508 $BCx<T$,%Y%s%A%^!<%/7WB,$7$?8B$j$G$O!"(B
foozy@708 509 Subversion $B$NA4$F$N9=@.4IM}A`:n$K$*$$$F!"(B
foozy@708 510 Mercurial $B$O@-G=$NLL$GAjEv$KM%0L$K$$$^$9!#(B
foozy@708 511 $BI.<T$NHf3S$K$h$k$H!"(B
foozy@708 512 Subversion $B$N(B 1.4.3~$BHG$K$*$1$k(B
foozy@708 513 \emph{ra\_local} $B%U%!%$%k3JG<(B
foozy@708 514 $B!JMxMQ2DG=$J:GB.$N%"%/%;%95!G=!K$HHf3S$7$?>l9g!"(B
foozy@708 515 $B#2G\$+$i#6G\DxEY$NM%0L@-$,$"$j$^$7$?!#(B
foozy@708 516 $B%M%C%H%o!<%/1[$7$N%j%]%8%H%j$rI,MW$H$9$k!"(B
foozy@708 517 $B$h$j8=<BE*$JG[CV$N>l9g!"(B
foozy@708 518 Subversion $B$OAjEv$KITMx$J>u67$K$J$k$G$7$g$&!#(B
foozy@708 519 $BB?$/$N(B Subversion $B%3%^%s%I$O%5!<%P$H$NO"7H$,I,MW$J>e$K!"(B
foozy@708 520 Subversion $B$OM-MQ$JJ#@=5!G=$r;}$C$F$$$J$$$?$a!"(B
foozy@708 521 $B>/!9Bg$-$a$N%W%m%8%'%/%H$N>l9g!"(B
foozy@708 522 $B%5!<%P$N@-G=$,%\%H%k%M%C%/$H$J$k$G$7$g$&!#(B
foozy@708 523
foozy@708 524 $B$=$l$K2C$($F!"(B
foozy@708 525 $B%U%!%$%k$N99?7$N8!:w!J(B\texttt{status}$B!K(B
foozy@708 526 $B$d8=9THG$H$N:9J,I=<(!J(B\texttt{diff}$B!K$H$$$C$?!"(B
foozy@708 527 $B4v$D$+$N6&DLA`:n$K$*$1$k%M%C%H%o!<%/=hM}$r2sHr$9$k$?$a$K!"(B
foozy@708 528 Subversion $B$OAjEv$J3JG<%*!<%P%X%C%I$rJz$(9~$s$G$$$^$9!#(B
foozy@708 529 Mercurial $B$N%j%]%8%H%j$,%W%m%8%'%/%H$N40A4$JMzNr$rJ];}$7$F$$$k$K$b4X$o$i$:!"(B
foozy@708 530 Subversion $B$,Jz$(9~$`:n6H%3%T!<$O!"(B
foozy@708 531 Mercurial $B%j%]%8%H%j$H:n6HNN0h%G%#%l%/%H%j$N%5%$%:$H!"(B
foozy@708 532 $B7k2L$H$7$F$*$*$h$=F1%5%$%:$+!"$"$k$$$O$=$l0J>e$K$J$k$3$H$,B?$$$G$9!#(B
foozy@708 533
foozy@708 534 $B9=@.4IM}4XO"$N%5!<%I%Q!<%F%#%D!<%k$K4X$7$F$O!"(B
foozy@708 535 $B$=$N:9$O=y!9$KKd$^$C$F$O$$$k$b$N!"(B
foozy@708 536 Mercurial $B$HHf3S$7$F!"(B
foozy@708 537 $B8=;~E@$G$O(B Subversion $B$NJ}$,$h$jB?$/$N%5%]!<%H$r<u$1$k$3$H$,$G$-$^$9!#(B
foozy@708 538 $B$^$?!"(BMercurial $B$HF1MM$K(B
foozy@708 539 Subversion $B$OAG@2$i$7$$%f!<%6%^%K%e%"%k$,$"$j$^$9!#(B
foozy@708 540
foozy@708 541 Subversion $B%j%]%8%H%j$+$i(B Mercurial $B%j%]%8%H%j$X$N!"(B
foozy@708 542 $B@53N$G40A4$JJQ99MzNr$N<h$j9~$_$r9T$&%D!<%k$,4v$D$b$"$j$^$9$N$G!"(B
foozy@708 543 $B8E$$%D!<%k$+$i$N0\9T$OHf3SE*MF0W$G$9!#(B
foozy@708 544
foozy@708 545 \subsection{Git}
foozy@708 546
foozy@708 547 git $B$O!"(B
foozy@708 548 Linux $B%+!<%M%k%=!<%9%D%j!<$r4IM}$9$k$?$a$K3+H/$5$l$?J,;69=@.4IM}%D!<%k$G$9!#(B
foozy@708 549 Mercurial $B$HF1MM$K!"(B
foozy@708 550 $B$=$N=i4|$N@_7W$O(B Monotone $B$+$i1F6A$r<u$1$F$$$^$9!#(B
foozy@708 551
foozy@708 552 git $B$O05E]E*$J$^$G$N%3%^%s%I72$r;}$C$F$*$j!"(B
foozy@708 553 1.5.0~$BHG$K$*$$$F$O(B 139~$B8D$NFHN)$7$?%3%^%s%I$,$"$j$^$9!#(B
foozy@708 554 $B$3$l$i$O=,F@$,Fq$7$$$H$NI>H=$G$9!#(B
foozy@708 555 $B%f!<%6%^%K%e%"%k$,B8:_$;$:!"(B
foozy@708 556 $B8DJL$N%3%^%s%I$K4X$9$kJ8=q$,$"$k$N$_$G$9!#(B
foozy@708 557
foozy@708 558 $B@-G=$NLL$G$O(B git $B$OHs>o$K9bB.$G$9!#(B
foozy@708 559 $B>/$J$/$H$b(B Linux $B$K$*$$$F$O!"(B
foozy@708 560 Mercurial $B$h$j$b(B git $B$NJ}$,Aa$$%1!<%9$,4v$D$+$"$j$^$9!#(B
foozy@708 561 $B$7$+$7$J$,$iK\=q$N<9I.;~E@$G$O!"(B
foozy@708 562 Windows $B4D6-$K$*$1$k@-G=!J$*$h$S0lHLE*$J%5%]!<%H!K$K4X$7$F$O(B
foozy@708 563 Mercurial $B$K5Z$S$^$;$s!#(B
foozy@708 564
foozy@708 565 Mercurial $B$N%j%]%8%H%j$OJ]<i$NI,MW$,$"$j$^$;$s$,!"(B
foozy@708 566 git $B%j%]%8%H%j$O<jF0$K$h$k%a%?%G!<%?$N(B``$B5M$aD>$7(B''$B$rIQHK$K9T$&I,MW$,$"$j$^$9!#(B
foozy@708 567 $B$3$N5M$aD>$7$r$7$J$$>l9g!"(B
foozy@708 568 $BMxMQNN0h$,B.$d$+$KA}2C$9$k0lJ}$G!"@-G=$,Dc2<$7$F$7$^$$$^$9!#(B
foozy@708 569 $B873J3n$DIQHK$K5M$aD>$7$r$7$J$$(B git $B%j%]%8%H%j$rBt;3Jz$($k%5!<%P$O!"(B
foozy@708 570 $B%P%C%/%"%C%W$N4V!"Hs>o$K(B disk-bound $B$K$J$j$^$9$7!"(B
foozy@708 571 $B7k2L$H$7$F!"(B
foozy@708 572 $BF|;~%P%C%/%"%C%W=hM}$K#2#4;~4V0J>e$rMW$9$k$h$&$K$J$C$F$7$^$C$?Nc$,!"(B
foozy@708 573 $B$$$/$D$b$"$j$^$9!#(B
foozy@708 574 $B5M$aBX$($K$h$C$FA/EY$,J]$?$l$F$$$k(B git $B%j%]%8%H%j$O!"(B
foozy@708 575 Mercurial $B$N%j%]%8%H%j$h$j$b$o$:$+$K>.$5$$$G$9$,!"(B
foozy@708 576 $B5M$aBX$($5$l$F$$$J$$>l9g$O$+$J$j$NBg$-$5$G$9!#(B
foozy@708 577
foozy@708 578 git $B$N4pK\ItJ,$O(B C $B$G<BAu$5$l$F$$$^$9!#(B
foozy@708 579 $BB?$/$N(B git $B%3%^%s%I$O%7%'%k$J$$$7(B Perl $B$N%9%/%j%W%H$K$h$j<BAu$5$l$F$$$^$9$,!"(B
foozy@708 580 $B$=$NIJ<A$OHs>o$KI}$,9-$$$G$9!#(B
foozy@708 581 $BCWL?E*$H$_$J$9$Y$-%(%i!<$,H/@8$7$F$$$kCf$G0G1@$K=hM}$rB3$1$k%9%/%j%W%H$r!"(B
foozy@708 582 $B2?EY$+8+$+$1$?$3$H$,$"$j$^$9!#(B
foozy@708 583
foozy@708 584 \subsection{CVS}
foozy@708 585
foozy@708 586 CVS $B$O$*$=$i$/@$3&Cf$G:G$b9-$/;HMQ$5$l$F$$$k9=@.4IM}%D!<%k$G$9!#(B
foozy@708 587 $B$=$NNr;K$ND9$5$H!"FbItE*$J$^$H$^$j$NL5$5$+$i!"(B
foozy@708 588 $BD9$$4V!"K\<AE*$K$OJ]<i$5$l$F$-$^$;$s$G$7$?!#(B
foozy@708 589
foozy@708 590 CVS $B$OCf1{=8Ls7?$N!V%/%i%$%"%s%H!?%5!<%P!W(B
foozy@708 591 $B%"!<%-%F%/%A%c$r;}$C$F$$$^$9!#(B
foozy@708 592 CVS $B$O4XO"$9$k%U%!%$%k$NJQ99$rIT2DJ,%3%_%C%H$X$H%0%k!<%W2=$7$J$$$?$a!"(B
foozy@708 593 $BNc$($P!"(B
foozy@708 594 $B!V$"$kMxMQ<T$K$h$k@.2L$N%3%_%C%H$,!"(B
foozy@708 595 $B%^!<%8$NI,MW@-$+$iItJ,E*$K$7$+@.8y$7$J$+$C$?>l9g!"(B
foozy@708 596 $BB>$NMxMQ<T$+$i$OH`$N0U?^$7$?JQ99$N0lIt$7$+8+$k$3$H$,$G$-$J$$!W$H$$$C$?!"(B
foozy@708 597 ``$B%S%k%I$rMp$9(B''$B9T0Y$,MF0W$K9T$($F$7$^$$$^$9!#(B
foozy@708 598 $B$3$l$O!"%W%m%8%'%/%HMzNr$KBP$9$k:n6H$N?J$aJ}$K$b1F6A$7$^$9!#(B
foozy@708 599 $B$H$"$k%?%9%/$N0lIt$H$7$F!"(B
foozy@708 600 $B$"$k%a%s%P$,9T$C$?JQ99$rA4$FI=<($7$h$&$H$7$?>l9g!"(B
foozy@708 601 $B4XO"$9$k3F%U%!%$%k!J$I$N%U%!%$%k$,$=$&$G$"$k$+$rCN$C$F$$$l$P!"(B
foozy@708 602 $B$NOC$G$9$,!K$KBP$7$F9T$o$l$?JQ99$N!"(B
foozy@708 603 $B8D!9$N%3%_%C%H%m%0$HF|IU$r<jF0$G3NG'$9$kI,MW$,$"$j$^$9!#(B
foozy@708 604
foozy@708 605 CVS $B$N%?%0$d%V%i%s%A$N9M$(J}$O:.Mp$7$F$$$k$?$a!"(B
foozy@708 606 $B$=$l$K$D$$$F@bL@$9$k5$$K$b$J$l$^$;$s!#(B
foozy@708 607 $B%U%!%$%k$d%G%#%l%/%H%j$N2~L>$,%5%]!<%H$5$l$F$$$J$$$?$a!"(B
foozy@708 608 $B%j%]%8%H%j$,4JC1$K;(A3$H$7$F$7$^$$$^$9!#(B
foozy@708 609 $BFbItE*$J@09g@-$r%A%'%C%/$9$k5!G=$b;}$?$J$$$?$a!"(B
foozy@708 610 $B%j%]%8%H%j$,GKB;$7$F$$$k$N$+H]$+$rH=Dj$7$?$j!"(B
foozy@708 611 $B$I$N$h$&$KGKB;$7$F$$$k$N$+$r$7$k$3$H$O!"0lHL$K$OIT2DG=$G$9!#(B
foozy@708 612 $B8=B8!&?75,$N$$$:$l$N%W%m%8%'%/%H$KBP$7$F$b!"(B
foozy@708 613 CVS $B$O$*A&$a$G$-$^$;$s!#(B
foozy@708 614
foozy@708 615 Mercurial $B$O(B CVS $B$N%j%]%8%H%j$r<h$j9~$`$3$H$,$G$-$^$9!#(B
foozy@708 616 $B$7$+$7!"$$$/$D$+$NCm0U$,I,MW$G!"(B
foozy@708 617 $B$3$l$O(B CVS $B$N%j%]%8%H%j$r<h$j9~$`$3$H$N$G$-$k!"(B
foozy@708 618 $BB>$N9=@.4IM}%D!<%k$KBP$7$F$bF1MM$G$9!#(B
foozy@708 619 CVS $B$OIT2DJ,%3%_%C%H$r;}$C$F$*$i$:!"(B
foozy@708 620 $B%U%!%$%k%7%9%F%`3,AX$NMzNr4IM}$b9T$C$F$$$J$$$?$a!"(B
foozy@708 621 CVS $B$+$iMzNr$r@53N3n$D87L)$K:F9=C[$9$k$3$H$OIT2DG=$G$9!#(B
foozy@708 622 $B4vJ,$+$N?dB,$,I,MW$G$"$j!"2~L>$ODL>o8!CN$G$-$^$;$s!#(B
foozy@708 623 $B9bEY$J(B CVS $B4IM}$NB?$/$,<jF0$G9T$o$l!"$=$l8N$K4V0c$$$d$9$$$3$H$+$i!"(B
foozy@708 624 CVS $B$+$i$N<h$j9~$_$r9T$&%D!<%k$K$H$C$F!"(B
foozy@708 625 $BGKB;$7$?%j%]%8%H%j$+$i$N<h$j9~$_$OJ#?t$NLdBj$K9T$-Ev$?$k$N$,>o$G$9(B
foozy@708 626 $B!JI.<T$N8D?ME*7P83$+$i;W$$=P$;$k!"LLGr$/$bL5$$LdBj$NNc$H$7$F$O!"(B
foozy@708 627 $B40A4$K56J*$N%?%$%`%9%?%s%W$d!"(B
foozy@708 628 $B#1#0G/0J>e%m%C%/$5$l$?$^$^$N%U%!%$%k$J$I$,$"$j$^$9!K!#(B
foozy@708 629
foozy@708 630 \subsection{Commercial tools}
foozy@708 631
foozy@708 632 Perforce $B$OCf1{=8Ls7?$N!V%/%i%$%"%s%H!?%5!<%P!W(B
foozy@708 633 $B%"!<%-%F%/%A%c$r;}$C$F$$$^$9$,!"(B
foozy@708 634 $B%/%i%$%"%s%HB&$G$OA4$/%-%c%C%7%e$r9T$C$F$$$^$;$s!#(B
foozy@708 635 $B6aG/$N9=@.4IM}%D!<%k$H0[$J$j!"(B
foozy@708 636 $BJT=8BP>]$H$J$kA4$F$N%U%!%$%k$K4X$7$F!"(B
foozy@708 637 Perforce $B$O%3%^%s%I<B9T$K$h$k%5!<%P$X$NDLCN$r%f!<%6$KBP$7$FMW5a$7$^$9!#(B
foozy@708 638
foozy@708 639 Perforce $B$N@-G=$O>.5,LO$J%A!<%`$G$OHs>o$KNI9%$G$9$,!"(B
foozy@708 640 $B%f!<%6?t$,?t%@!<%9$rD6$($k:"$+$i5^B.$KDc2<$7$^$9!#(B
foozy@708 641 $B>/!9Bg5,LO$J3+H/8~$1$N(B Perforce $B%$%s%9%H!<%k$O!"(B
foozy@708 642 $B%f!<%6%"%/%;%9$K$h$kIi2Y$r>e<j$/=hM}$9$k$?$a$K!"(B
foozy@708 643 $B!V%W%m%-%7!W$NG[CV$,MW5a$5$l$^$9!#(B
foozy@708 644
foozy@708 645 %%% Local Variables:
foozy@708 646 %%% mode: latex
foozy@708 647 %%% TeX-master: "00book"
foozy@708 648 %%% End: