hgbook

annotate ja/intro.tex @ 890:2887b61fa4fe

Change fields to fieldsets in the Comment admin model. The 'date'
field isn't working properly for an unknown reason, so it has been
removed from the interface temporarily.
author dukebody <dukebody@gmail.com>
date Sun Oct 11 21:12:46 2009 +0200 (2009-10-11)
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: