changeset 386:63060ad65ab8

started intro.tex
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Sat, 21 Feb 2009 23:56:55 +0900
parents b7cdede6065f
children 1604f2b2054b
files ja/intro.tex
diffstat 1 files changed, 284 insertions(+), 146 deletions(-) [+]
line wrap: on
line diff
--- a/ja/intro.tex	Sat Feb 21 22:07:30 2009 +0900
+++ b/ja/intro.tex	Sat Feb 21 23:56:55 2009 +0900
@@ -1,166 +1,295 @@
-\chapter{Introduction}
+%\chapter{Introduction}
+\chapter{$BF3F~(B}
 \label{chap:intro}
 
-\section{About revision control}
+%\section{About revision control}
+\section{$B%j%S%8%g%s%3%s%H%m!<%k(B}
 
-Revision control is the process of managing multiple versions of a
-piece of information.  In its simplest form, this is something that
-many people do by hand: every time you modify a file, save it under a
-new name that contains a number, each one higher than the number of
-the preceding version.
+%Revision control is the process of managing multiple versions of a
+%piece of information.  In its simplest form, this is something that
+%many people do by hand: every time you modify a file, save it under a
+%new name that contains a number, each one higher than the number of
+%the preceding version.
+
+$B%j%S%8%g%s%3%s%H%m!<%k$H$O!$J#?t$N%P!<%8%g%s$N>pJs$r$r4IM}$9$k%W%m%;%9$G(B
+$B$"$k!%:G$bC1=c$JJ}K!$O!$%U%!%$%k$rJQ99$7$?$i!$$=$l$^$G$N%P!<%8%g%s$h$j$b(B
+$BBg$-$J?t;z$r4^$`?7$?$JL>A0$G%;!<%V$r9T$&$J$I$NJ}K!$GA4$F<j$G9T$&$3$H$G$"(B
+$B$k!%(B
 
-Manually managing multiple versions of even a single file is an
-error-prone task, though, so software tools to help automate this
-process have long been available.  The earliest automated revision
-control tools were intended to help a single user to manage revisions
-of a single file.  Over the past few decades, the scope of revision
-control tools has expanded greatly; they now manage multiple files,
-and help multiple people to work together.  The best modern revision
-control tools have no problem coping with thousands of people working
-together on projects that consist of hundreds of thousands of files.
+%Manually managing multiple versions of even a single file is an
+%error-prone task, though, so software tools to help automate this
+%process have long been available.  The earliest automated revision
+%control tools were intended to help a single user to manage revisions
+%of a single file.  Over the past few decades, the scope of revision
+%control tools has expanded greatly; they now manage multiple files,
+%and help multiple people to work together.  The best modern revision
+%control tools have no problem coping with thousands of people working
+%together on projects that consist of hundreds of thousands of files.
 
-\subsection{Why use revision control?}
+$B$?$C$?0l$D$N%U%!%$%k$KBP$7$F$b!$J#?t$N%P!<%8%g%s$r<j$G4IM}$9$k$3$H$O4V0c(B
+$B$$$r5/$3$70W$$:n6H$G!$$3$N%W%m%;%9$r<+F02=$9$k%=%U%H%&%'%"%D!<%k$,$+$J$j(B
+$B$N@N$+$iDs6!$5$l$F$-$?!%:G=i$N<+F02=$5$l$?%j%S%8%g%s%3%s%H%m!<%k%D!<%k(B
+$B$O!$0l?M$N%f!<%6$rBP>]$H$7$F!$(B1$B$D$N%U%!%$%k$N%j%S%8%g%s$r4IM}$9$k$?$a$K:n(B
+$B$i$l$?!%?t==G/$,7P$A!$%j%S%8%g%s%3%s%H%m!<%k$N<h$j07$&%9%3!<%W$OBg$$$K3H(B
+$BBg$7$?!%:#$G$OJ#?t?M$K$h$kJ#?t%U%!%$%k$NJT=8$r$b4IM}$9$k$3$H$,$G$-$k!%8=(B
+$BBe$N:G9b$N%j%S%8%g%s4IM}%D!<%k$O?t@i?M$K$h$k!$?t==K|8D$N%U%!%$%k$rMJ$9$k(B
+$B%W%m%8%'%/%H$K$bBP1~$9$k!%(B
 
-There are a number of reasons why you or your team might want to use
-an automated revision control tool for a project.
+%\subsection{Why use revision control?}
+\subsection{$B$J$<%j%S%8%g%s%3%s%H%m!<%k$r;H$&$N$+(B?}
+
+%There are a number of reasons why you or your team might want to use
+%an automated revision control tool for a project.
+$B%W%m%8%'%/%H$N$?$a$K<+F02=$5$l$?%j%S%8%g%s%3%s%H%m!<%k%D!<%k$r;H$*$&$H9M(B
+$B$($kM}M3$O?tB?$/$"$k!%(B
 \begin{itemize}
-\item It will track the history and evolution of your project, so you
-  don't have to.  For every change, you'll have a log of \emph{who}
-  made it; \emph{why} they made it; \emph{when} they made it; and
-  \emph{what} the change was.
-\item When you're working with other people, revision control software
-  makes it easier for you to collaborate.  For example, when people
-  more or less simultaneously make potentially incompatible changes,
-  the software will help you to identify and resolve those conflicts.
-\item It can help you to recover from mistakes.  If you make a change
-  that later turns out to be in error, you can revert to an earlier
-  version of one or more files.  In fact, a \emph{really} good
-  revision control tool will even help you to efficiently figure out
-  exactly when a problem was introduced (see
-  section~\ref{sec:undo:bisect} for details).
-\item It will help you to work simultaneously on, and manage the drift
-  between, multiple versions of your project.
+%\item It will track the history and evolution of your project, so you
+%  don't have to.  For every change, you'll have a log of \emph{who}
+%  made it; \emph{why} they made it; \emph{when} they made it; and
+%  \emph{what} the change was.
+ \item $B%j%S%8%g%s4IM}%D!<%k$O!$%W%m%8%'%/%H$NMzNr$H?J2=$r5-O?$9$k$?$a!$<+(B
+       $BJ,<+?H$G5-O?$9$kI,MW$,$J$$!%A4$F$NJQ99$KBP$7$F(B\emph{$BC/$,(B}\emph{$B2?(B
+       $B$N$?$a$K(B}\emph{$B$$$D(B}\emph{$B2?$r(B}$BJQ99$7$?$N$+$,5-O?$5$l$k!%(B
+%\item When you're working with other people, revision control software
+%  makes it easier for you to collaborate.  For example, when people
+%  more or less simultaneously make potentially incompatible changes,
+%  the software will help you to identify and resolve those conflicts.
+ \item $BB>$N?M$H:n6H$7$F$$$k;~!$%j%S%8%g%s%3%s%H%m!<%k%=%U%H%&%'%"$O6&F1(B
+       $B:n6H$r=u$1$k!%Nc$($P!$?M!9$,F1;~$K8_49@-$N$J$$JQ99$r9T$C$?>l9g!$(B
+       $B%=%U%H%&%'%"$O%3%s%U%j%/%H$rFCDj$7!$2D7h$9$k$3$H$r=u$1$k!%(B
+%\item It can help you to recover from mistakes.  If you make a change
+%  that later turns out to be in error, you can revert to an earlier
+%  version of one or more files.  In fact, a \emph{really} good
+%  revision control tool will even help you to efficiently figure out
+%  exactly when a problem was introduced (see
+%  section~\ref{sec:undo:bisect} for details).
+ \item $B%j%S%8%g%s4IM}%D!<%k$OHH$7$?%_%9$+$i$N2sI|$r=u$1$k!%2C$($?JQ99$,8e(B
+$B$G4V0c$$$G$"$C$?$HJ,$+$C$?;~!$(B1$B$D$^$?$OJ#?t$N%U%!%$%k$X$NJQ99$rGK4~$9$k$3(B
+$B$H$,$G$-$k!%<B:]$N$H$3$m!$(B\emph{$B??$K(B}$BM%$l$?%j%S%8%g%s%3%s%H%m!<%k%D!<%k$O(B
+$BJ6$l9~$s$@LdBj$rFCDj$9$k$N$r;Y1g$9$k5!G=$r;}$D!%!J>\:Y$K$D$$$F(B
+$B$O(B~\ref{sec:undo:bisect}$B@a$r;2>H!%!K(B
+%\item It will help you to work simultaneously on, and manage the drift
+%  between, multiple versions of your project.
+ \item $B%j%S%8%g%s4IM}%D!<%k$O!$%W%m%8%'%/%H$NJ#?t$N%P!<%8%g%s$G$NF1;~:n(B
+       $B6H$d!$%j%S%8%g%s4V$N0\9T$r;Y1g$9$k!%(B
 \end{itemize}
-Most of these reasons are equally valid---at least in theory---whether
-you're working on a project by yourself, or with a hundred other
-people.
+%Most of these reasons are equally valid---at least in theory---whether
+%you're working on a project by yourself, or with a hundred other
+%people.
+$B$3$l$i$NM}M3$NB?$/$O<+J,<+?H$N%W%m%8%'%/%H$G:n6H$7$F$$$F$b!$(B100$B?M$N6&F1:n(B
+$B6H<T$H:n6H$7$F$$$F$b>/$J$/$H$bM}O@E*$K$OEy$7$/M-0U$G$"$k!%(B
 
-A key question about the practicality of revision control at these two
-different scales (``lone hacker'' and ``huge team'') is how its
-\emph{benefits} compare to its \emph{costs}.  A revision control tool
-that's difficult to understand or use is going to impose a high cost.
+%A key question about the practicality of revision control at these two
+%different scales (``lone hacker'' and ``huge team'') is how its
+%\emph{benefits} compare to its \emph{costs}.  A revision control tool
+%that's difficult to understand or use is going to impose a high cost.
+
+$B%j%S%8%g%s%3%s%H%m!<%k$N<BMQ@-$K4X$9$k80$K$J$k<ALd$O!$$3$l$i$N(B2$B$D$N0[$J$C(B
+$B$?%9%1!<%k!J(B``$B0l?M$N%O%C%+!<(B''$B%l%Y%k$+$i(B``$BBg5,LO%A!<%`(B''$B%l%Y%k$^$G!K$K$*(B
+$B$$$F!$%3%9%H$KBP$7$F$I$l$@$1Mx1W$,$"$k$N$+$H$$$&$3$H$G$"$k!%M}2r$d;HMQ$,(B
+$B:$Fq$J%j%S%8%g%s%3%s%H%m!<%k%D!<%k$O9b$$%3%9%H$r2!$7$D$1$k!%(B
 
-A five-hundred-person project is likely to collapse under its own
-weight almost immediately without a revision control tool and process.
-In this case, the cost of using revision control might hardly seem
-worth considering, since \emph{without} it, failure is almost
-guaranteed.
+%A five-hundred-person project is likely to collapse under its own
+%weight almost immediately without a revision control tool and process.
+%In this case, the cost of using revision control might hardly seem
+%worth considering, since \emph{without} it, failure is almost
+%guaranteed.
 
-On the other hand, a one-person ``quick hack'' might seem like a poor
-place to use a revision control tool, because surely the cost of using
-one must be close to the overall cost of the project.  Right?
+500$B?M$+$i$J$k%W%m%8%'%/%H$G$O!$%j%S%8%g%s%3%s%H%m!<%k%D!<%k$J$7$G$OKX$s$I(B
+$BN)$A9T$+$J$$!%$3$N>l9g!$%j%S%8%g%s%3%s%H%m!<%k$J$7$G$O<:GT$9$k$3$H$,KX$s(B
+$B$IL@Gr$J$?$a!$%j%S%8%g%s%3%s%H%m!<%k$r9T$&%3%9%H$rJ'$&$3$H$OFC$KLdBj$H$O(B
+$B$J$i$J$$!%(Bxxx
+
+%On the other hand, a one-person ``quick hack'' might seem like a poor
+%place to use a revision control tool, because surely the cost of using
+%one must be close to the overall cost of the project.  Right?
+
+$B0lJ}!$(B1$B?M$N3+H/<T$K$h$k(B``$B%/%$%C%/%O%C%/(B''$B$O%j%S%8%g%s%3%s%H%m!<%k%D!<%k(B
+$B$r;H$&$K$O$"$^$j$U$5$o$7$/$J$$!%$J$<$J$i!$%D!<%k$r;H$&%3%9%H$,$[$\%W%m%8%'(B
+$B%/%H$N%3%9%H$=$N$b$N$G$"$k$+$i$@!%$3$l$O@5$7$$$@$m$&$+!)(B
 
-Mercurial uniquely supports \emph{both} of these scales of
-development.  You can learn the basics in just a few minutes, and due
-to its low overhead, you can apply revision control to the smallest of
-projects with ease.  Its simplicity means you won't have a lot of
-abstruse concepts or command sequences competing for mental space with
-whatever you're \emph{really} trying to do.  At the same time,
-Mercurial's high performance and peer-to-peer nature let you scale
-painlessly to handle large projects.
+%Mercurial uniquely supports \emph{both} of these scales of
+%development.  You can learn the basics in just a few minutes, and due
+%to its low overhead, you can apply revision control to the smallest of
+%projects with ease.  Its simplicity means you won't have a lot of
+%abstruse concepts or command sequences competing for mental space with
+%whatever you're \emph{really} trying to do.  At the same time,
+%Mercurial's high performance and peer-to-peer nature let you scale
+%painlessly to handle large projects.
+
+Mercurial$B$O$3$l$i$N3+H/%9%1!<%k$NN>J}$r%5%]!<%H$7$F$$$k!%4pACE*$J;HMQK!$O(B
+$B?tJ,$G3X$V$3$H$,$G$-!$%j%S%8%g%s%3%s%H%m!<%k$r:G>.5,LO$N%W%m%8%'%/%H$K4J(B
+$BC1$K<h$jF~$l$k$3$H$,$G$-$k!%C1=c$G$"$k$?$a!$Fq2r$J%3%s%;%W%H$d%3%^%s%I%7!<(B
+$B%1%s%9$K0U<1$NB?$/$r@j$a$i$l!$K\Ev$K$d$j$?$$$3$H$,AB$+$K$J$k$3$H$b$J$$!%(B
+$B$^$?F1;~$K(BMercurial$B$N@-G=$N9b$5$d!$%T%"%D!<%T%"$N@-<A$N$?$a$K!$Bg5,LO%W%m(B
+$B%8%'%/%H$K$b6lO+$9$k;v$J$/%9%1!<%k$9$k$3$H$,$G$-$k!%(B
 
-No revision control tool can rescue a poorly run project, but a good
-choice of tools can make a huge difference to the fluidity with which
-you can work on a project.
+%No revision control tool can rescue a poorly run project, but a good
+%choice of tools can make a huge difference to the fluidity with which
+%you can work on a project.
+
+$B$*AFKv$J%W%m%8%'%/%H$r5_:Q$9$k$h$&$J%j%S%8%g%s%3%s%H%m!<%k$OB8:_$7$J$$(B
+$B$,!$NI$$%D!<%k$NA*Br$O!$:n6H$9$k%W%m%8%'%/%H$N7x<B$5$KBg$-$J:9$r$b$?$i$9!%(B
 
-\subsection{The many names of revision control}
+%\subsection{The many names of revision control}
+\subsection{$BMM!9$J%j%S%8%g%s%3%s%H%m!<%k(B}
 
-Revision control is a diverse field, so much so that it doesn't
-actually have a single name or acronym.  Here are a few of the more
-common names and acronyms you'll encounter:
+%Revision control is a diverse field, so much so that it doesn't
+%actually have a single name or acronym.  Here are a few of the more
+%common names and acronyms you'll encounter:
+$B%j%S%8%g%s%3%s%H%m!<%k$OBg$-$JI}$r$b$DJ,Ln$G$"$j!$$=$N$?$aB?$/$N8F$SL>$H(B
+$B$=$NC;=L7A$,CN$i$l$F$$$k!'(B
 \begin{itemize}
-\item Revision control (RCS)
-\item Software configuration management (SCM), or configuration management
-\item Source code management
-\item Source code control, or source control
-\item Version control (VCS)
+\item $B%j%S%8%g%s%3%s%H%m!<%k(B (Revision control (RCS))
+\item $B%=%U%H%&%'%"@_Dj%^%M%8%a%s%H$^$?$O@_Dj%^%M%8%a%s%H(B (Software configuration management (SCM), or configuration management)
+\item $B%=!<%9%3!<%I%^%M%8%a%s%H(B (Source code management)
+\item $B%=!<%9%3!<%I%3%s%H%m!<%k$^$?$O%=!<%9%3%s%H%m!<%k(B (Source code control, or source control)
+\item $B%P!<%8%g%s%3%s%H%m!<%k(B (Version control (VCS))
 \end{itemize}
-Some people claim that these terms actually have different meanings,
-but in practice they overlap so much that there's no agreed or even
-useful way to tease them apart.
+%Some people claim that these terms actually have different meanings,
+%but in practice they overlap so much that there's no agreed or even
+%useful way to tease them apart.
+$B$3$l$i$NMQ8l$O3F!90c$&0UL#$r;}$D$N$@$H<gD%$9$k?M!9$b$$$k!%$7$+$7<B<AE*$K(B
+$B$O$3$l$i$O8_$$$KBg$-$/=E$J$C$F$*$j!$$o$6$o$66hJL$9$k$3$H$O0lHLE*$G$J$/!$(B
+$B$^$?M-MQ$G$b$J$$!%(B
+
+%\section{A short history of revision control}
+\section{$B%j%S%8%g%s%3%s%H%m!<%k$NNr;K(B}
 
-\section{A short history of revision control}
+%The best known of the old-time revision control tools is SCCS (Source
+%Code Control System), which Marc Rochkind wrote at Bell Labs, in the
+%early 1970s.  SCCS operated on individual files, and required every
+%person working on a project to have access to a shared workspace on a
+%single system.  Only one person could modify a file at any time;
+%arbitration for access to files was via locks.  It was common for
+%people to lock files, and later forget to unlock them, preventing
+%anyone else from modifying those files without the help of an
+%administrator.
+
+$B:G$bCN$i$l$F$$$k8E$$%j%S%8%g%s%3%s%H%m!<%k%D!<%k$O!$(BMarc Rochkind$B$,(B1970$BG/(B
+$BBe=iF,$K(BBell$B8&5f=j$G=q$$$?(BSCCS (Source Code Control System)$B$G$"$k!%(B SCCS
+$B$O8D!9$N%U%!%$%k$KBP$7$FF0:n$7!$%W%m%8%'%/%H$N6&F1:n6H<T$K$OF10l%^%7%s>e(B
+$B$N6&M-%o!<%/%9%Z!<%9$X$N%"%/%;%9$,I,MW$G$"$C$?!%%U%!%$%k$X$N%"%/%;%9$ND4(B
+$BDd$O%m%C%/$K$h$C$F9T$o$l!$$"$k%U%!%$%k$rJQ99$G$-$k$N$O>o$K0l?M$N%f!<%6$@(B
+$B$1$G$"$C$?!%%U%!%$%k$r%m%C%/$7$?8e!$%m%C%/$N2r=|$rK:$l$k$3$H$OF|>oE*$K$"(B
+$B$j!$$3$&$J$k$H4IM}<T$N=u$1$J$7$KB>$N3+H/<T$,%U%!%$%k$rJQ99$9$k$3$H$O$G$-(B
+$B$J$+$C$?!%(B
 
-The best known of the old-time revision control tools is SCCS (Source
-Code Control System), which Marc Rochkind wrote at Bell Labs, in the
-early 1970s.  SCCS operated on individual files, and required every
-person working on a project to have access to a shared workspace on a
-single system.  Only one person could modify a file at any time;
-arbitration for access to files was via locks.  It was common for
-people to lock files, and later forget to unlock them, preventing
-anyone else from modifying those files without the help of an
-administrator.  
+%Walter Tichy developed a free alternative to SCCS in the early 1980s;
+%he called his program RCS (Revison Control System).  Like SCCS, RCS
+%required developers to work in a single shared workspace, and to lock
+%files to prevent multiple people from modifying them simultaneously.
+
+Walter Tichy$B$O!$(B1980$BG/Be=iF,$K(BSCCS$B$NBeBX$H$J$k%U%j!<$N%P!<%8%g%s%3%s%H%m!<(B
+$B%k%D!<%k$r3+H/$7$?!%H`$O<+$i$N%7%9%F%`$r(BRCS (Revison Control System)$B$H8F(B
+$B$s$@!%(BSCCS$BF1MM!$(BRCS$B$O3+H/<T$?$A$KC10l$N6&M-%o!<%/%9%Z!<%9$H!$%U%!%$%k$rF1(B
+$B;~$KJ#?t?M$,JQ99$9$k$3$H$N$J$$$h$&$K%m%C%/$rMW5a$7$?!%(B
 
-Walter Tichy developed a free alternative to SCCS in the early 1980s;
-he called his program RCS (Revison Control System).  Like SCCS, RCS
-required developers to work in a single shared workspace, and to lock
-files to prevent multiple people from modifying them simultaneously.
+%Later in the 1980s, Dick Grune used RCS as a building block for a set
+%of shell scripts he initially called cmt, but then renamed to CVS
+%(Concurrent Versions System).  The big innovation of CVS was that it
+%let developers work simultaneously and somewhat independently in their
+%own personal workspaces.  The personal workspaces prevented developers
+%from stepping on each other's toes all the time, as was common with
+%SCCS and RCS.  Each developer had a copy of every project file, and
+%could modify their copies independently.  They had to merge their
+%edits prior to committing changes to the central repository.
 
-Later in the 1980s, Dick Grune used RCS as a building block for a set
-of shell scripts he initially called cmt, but then renamed to CVS
-(Concurrent Versions System).  The big innovation of CVS was that it
-let developers work simultaneously and somewhat independently in their
-own personal workspaces.  The personal workspaces prevented developers
-from stepping on each other's toes all the time, as was common with
-SCCS and RCS.  Each developer had a copy of every project file, and
-could modify their copies independently.  They had to merge their
-edits prior to committing changes to the central repository.
+1980$BG/Be8eH>$K(BDick Grune$B$O(BRCS$B$r8F$S=P$9%7%'%k%9%/%j%W%H$K$h$k%P!<%8%g%s4I(B
+$BM}%7%9%F%`$r:n$C$?!%=i4|$K(Bcmt$B$H8F$P$l$?$3$N%7%9%F%`$O!$8e$K(BCVS
+(Concurrent Versions System)$B$H2~L>$5$l$?!%(B CVS$B$NBg$-$J3W?7$O!$3+H/<TC#$K(B
+$BF1;~$K8DJL$N%o!<%/%9%Z!<%9$G:n6H$9$k$3$H$r5v$7$?$3$H$G$"$k!%%o!<%/%9%Z!<(B
+$B%9$r8DJL$K$7$?$3$H$G!$3+H/<T$O(BSCCS$B$d(BRCS$B$GNI$/$"$C$?$h$&$K!$B>$N3+H/<T$N:n(B
+$B6H$rK8$2$k$3$H$,$J$/$J$C$?!%$3$N%b%G%k$G$O!$Cf1{$N%j%]%8%H%j$KJQ99$r%3%_%C(B
+$B%H$9$kA0$K!$JQ997k2L$r%^!<%8$9$kI,MW$,$"$C$?!%(B
+
+%Brian Berliner took Grune's original scripts and rewrote them in~C,
+%releasing in 1989 the code that has since developed into the modern
+%version of CVS.  CVS subsequently acquired the ability to operate over
+%a network connection, giving it a client/server architecture.  CVS's
+%architecture is centralised; only the server has a copy of the history
+%of the project.  Client workspaces just contain copies of recent
+%versions of the project's files, and a little metadata to tell them
+%where the server is.  CVS has been enormously successful; it is
+%probably the world's most widely used revision control system.
 
-Brian Berliner took Grune's original scripts and rewrote them in~C,
-releasing in 1989 the code that has since developed into the modern
-version of CVS.  CVS subsequently acquired the ability to operate over
-a network connection, giving it a client/server architecture.  CVS's
-architecture is centralised; only the server has a copy of the history
-of the project.  Client workspaces just contain copies of recent
-versions of the project's files, and a little metadata to tell them
-where the server is.  CVS has been enormously successful; it is
-probably the world's most widely used revision control system.
+Brian Berliner$B$O(BGrune$B$N%*%j%8%J%k%9%/%j%W%H$r<u$17Q$$$G!$$=$l$r(BC$B$G=q$-D>(B
+$B$7!$8=:_$N(BCVS$B$X$H7R$,$k%3!<%I$r(B1989$BG/$K%j%j!<%9$7$?!%$=$N8e!$(BCVS$B$O%M%C%H(B
+$B%o!<%/$r7PM3$7$?F0:n$d!$%/%i%$%"%s%H%5!<%P%"!<%-%F%/%A%c$rHw$($F$$$C(B
+$B$?!%(BCVS$B$N%"!<%-%F%/%A%c$OCf1{=8Cf7?$G!$%5!<%P$N$_$,%W%m%8%'%/%H$NMzNr$rJ](B
+$BB8$9$k!%%/%i%$%"%s%H$N%o!<%/%9%Z!<%9$O%W%m%8%'%/%H$N:G?7%P!<%8%g%s$N%U%!(B
+$B%$%k$N%3%T!<$G$"$j!$%5!<%P$N=j:_$r<($96O$+$J%a%?%G!<%?$,IU2C$5$l$F$$$?!%(B
+CVS$B$OBg@.8y$r<}$a!$$*$=$i$/@$3&$G:G$b9-$/MQ$$$i$l$?%j%S%8%g%s%3%s%H%m!<%k(B
+$B%7%9%F%`$H$J$C$?!%(B
+
+%In the early 1990s, Sun Microsystems developed an early distributed
+%revision control system, called TeamWare.  A TeamWare workspace
+%contains a complete copy of the project's history.  TeamWare has no
+%notion of a central repository.  (CVS relied upon RCS for its history
+%storage; TeamWare used SCCS.)
 
-In the early 1990s, Sun Microsystems developed an early distributed
-revision control system, called TeamWare.  A TeamWare workspace
-contains a complete copy of the project's history.  TeamWare has no
-notion of a central repository.  (CVS relied upon RCS for its history
-storage; TeamWare used SCCS.)
+1990$BG/Be=iF,!$(BSun Microsystems$B$O(BTeamWare$B$H8F$P$l$k=i4|$NJ,;6%j%S%8%g%s%3(B
+$B%s%H%m!<%k%7%9%F%`$r3+H/$7$?!%(BTeamWare$B%o!<%/%9%Z!<%9$O%W%m%8%'%/%H$NMzNr(B
+$B$N40A4$J%3%T!<$r;}$C$F$$$?!%(BTeamWare$B$K$OCf1{%j%]%8%H%j$H$$$&35G0$O$J$+$C(B
+$B$?!%!J(BCVS$B$,MzNr$N5-O?$K(BRCS$B$r;H$C$F$$$?$h$&$K!$(BTeamWare$B$O(BSCCS$B$rMQ$$$F$$(B
+$B$?!%!K(B
+
+%As the 1990s progressed, awareness grew of a number of problems with
+%CVS.  It records simultaneous changes to multiple files individually,
+%instead of grouping them together as a single logically atomic
+%operation.  It does not manage its file hierarchy well; it is easy to
+%make a mess of a repository by renaming files and directories.  Worse,
+%its source code is difficult to read and maintain, which made the
+%``pain level'' of fixing these architectural problems prohibitive.
+
+1990$BG/BeCf:"$K$J$k$H!$(BCVS$B$NLdBj$,9-$/CN$i$l$k$h$&$K$J$C$F$-$?!%(B CVS$B$O0lEY(B
+$B$KJ#?t$N%U%!%$%k$KBP$7$F9T$o$l$kJQ99$rO@M}E*$K%"%H%_%C%/$JA`:n$H$7$F%0%k!<(B
+$B%W2=$9$k$N$G$O$J$/!$%U%!%$%kKh$K8DJL$K5-O?$7$F$$$?!%(BCVS$B$N%U%!%$%k%R%(%i%k(B
+$B%-!<$N4IM}$OIT==J,$G!$%U%!%$%k$d%G%#%l%/%H%j$r%j%M!<%`$9$k$H4JC1$K%j%]%8(B
+$B%H%j$,:.Mp$7$?!%$5$i$K0-$$$3$H$K!$(BCVS$B$N%=!<%9%3!<%I$OFI$_$K$/$/!$%a%s%F%J(B
+$B%s%9$bFq$7$+$C$?$?$a!$%"!<%-%F%/%A%c$NLdBj$r2r7h$9$k$N$OIT2DG=$J%l%Y%k$H(B
+$B8@$($?!%(B
 
-As the 1990s progressed, awareness grew of a number of problems with
-CVS.  It records simultaneous changes to multiple files individually,
-instead of grouping them together as a single logically atomic
-operation.  It does not manage its file hierarchy well; it is easy to
-make a mess of a repository by renaming files and directories.  Worse,
-its source code is difficult to read and maintain, which made the
-``pain level'' of fixing these architectural problems prohibitive.
+%In 2001, Jim Blandy and Karl Fogel, two developers who had worked on
+%CVS, started a project to replace it with a tool that would have a
+%better architecture and cleaner code.  The result, Subversion, does
+%not stray from CVS's centralised client/server model, but it adds
+%multi-file atomic commits, better namespace management, and a number
+%of other features that make it a generally better tool than CVS.
+%Since its initial release, it has rapidly grown in popularity.
+
+2001$BG/!$(BCVS$B$r3+H/$7$F$$$?(BJim Blandy$B$H(BKarl Fogel$B$N(B2$B?M$N3+H/<T$,(BCVS$B$rCV$-49(B
+$B$($k!$$h$jM%$l$?%"!<%-%F%/%A%c$H4qNo$J%3!<%I$r;}$D%D!<%k$N%W%m%8%'%/%H$r(B
+$B;O$a$?!%$=$N@.2LJ*$G$"$k(BSubversion$B$O(BCVS$B$N=8Cf7?%/%i%$%"%s%H%5!<%P%b%G%k$r(B
+$B2~$a$k$3$H$O$7$J$+$C$?$,!$J#?t%U%!%$%k$N%"%H%_%C%/$J%3%_%C%H$rDI2C$7!$L>(B
+$BA06u4V$N4IM}$b2~NI$7$F$$$?!%$^$?(BCVS$B$h$j$bM%$l$??tB?$/$N5!G=$bDI2C$5$l$?!%(B
+Subversion$B$O:G=i$N%j%j!<%9$+$i5^B.$K?M5$$r3MF@$7$F$$$C$?!%(B
 
-In 2001, Jim Blandy and Karl Fogel, two developers who had worked on
-CVS, started a project to replace it with a tool that would have a
-better architecture and cleaner code.  The result, Subversion, does
-not stray from CVS's centralised client/server model, but it adds
-multi-file atomic commits, better namespace management, and a number
-of other features that make it a generally better tool than CVS.
-Since its initial release, it has rapidly grown in popularity.
+%More or less simultaneously, Graydon Hoare began working on an
+%ambitious distributed revision control system that he named Monotone.
+%While Monotone addresses many of CVS's design flaws and has a
+%peer-to-peer architecture, it goes beyond earlier (and subsequent)
+%revision control tools in a number of innovative ways.  It uses
+%cryptographic hashes as identifiers, and has an integral notion of
+%``trust'' for code from different sources.
 
-More or less simultaneously, Graydon Hoare began working on an
-ambitious distributed revision control system that he named Monotone.
-While Monotone addresses many of CVS's design flaws and has a
-peer-to-peer architecture, it goes beyond earlier (and subsequent)
-revision control tools in a number of innovative ways.  It uses
-cryptographic hashes as identifiers, and has an integral notion of
-``trust'' for code from different sources.
+$B$[$\;~$rF1$8$/$7$F!$(BGraydon Hoare$B$O(BMonotone$B$H8F$P$l$kLn?4E*$JJ,;6%j%S%8%g(B
+$B%s%3%s%H%m!<%k%7%9%F%`$N3+H/$r;O$a$?!%(BMonotone$B$O(BCVS$B$N?tB?$/$N@_7W>e$N`laS(B
+$B$r=$@5$7!$%T%"%D!<%T%"%"!<%-%F%/%A%c$r;}$C$F$$$k!%(B Monotone$B$O=i4|$N!J$"$k(B
+$B$$$O8eB3$N!K%j%S%8%g%s%3%s%H%m!<%k%D!<%k$h$j$b@h?JE*$J5!G=$r;}$C$F$$(B
+$B$k!%(BMonotone$B$O0E9f2=$5$l$?%O%C%7%e$r<1JL;R$H$7$F;HMQ$7!$MM!9$J=P=h$N%3!<(B
+$B%I$KBP$7$F(B``$B?.Mj@-(B''$B$N35G0$r;}$C$F$$$?!%(B
 
-Mercurial began life in 2005.  While a few aspects of its design are
-influenced by Monotone, Mercurial focuses on ease of use, high
-performance, and scalability to very large projects.
+%Mercurial began life in 2005.  While a few aspects of its design are
+%influenced by Monotone, Mercurial focuses on ease of use, high
+%performance, and scalability to very large projects.
 
-\section{Trends in revision control}
+Mercurial$B$O(B2005$BG/$KCB@8$7$?!%%G%6%$%s$N$$$/$D$+$NLL$O(BMonotone$B$K1F6A$r<u$1(B
+$B$F$$$k$,!$(BMercurial$B$O;H$$$d$9$5!$9b@-G=!$Bg5,LO%W%m%8%'%/%H$X$N%9%1!<%i%S(B
+$B%j%F%#$K%U%)!<%+%9$7$F$$$k!%(B
+
+%\section{Trends in revision control}
+\section{$B%j%S%8%g%s%3%s%H%m!<%k$N%H%l%s%I(B}
 
 There has been an unmistakable trend in the development and use of
 revision control tools over the past four decades, as people have
@@ -192,7 +321,8 @@
 autonomously, with a network connection only needed when syncing
 changes with another repository.
 
-\section{A few of the advantages of distributed revision control}
+%\section{A few of the advantages of distributed revision control}
+\section{$BJ,;6%j%S%8%g%s%3%s%H%m!<%k$NMxE@(B}
 
 Even though distributed revision control tools have for several years
 been as robust and usable as their previous-generation counterparts,
@@ -226,7 +356,8 @@
 something that is relatively rare compared with local operations.  If
 you have a far-flung team of collaborators, this may be significant.
 
-\subsection{Advantages for open source projects}
+%\subsection{Advantages for open source projects}
+\subsection{$B%*!<%W%s%=!<%9%W%m%8%'%/%H$G$NMxE@(B}
 
 If you take a shine to an open source project and decide that you
 would like to start hacking on it, and that project uses a distributed
@@ -241,7 +372,8 @@
 be at risk of corruption any time you try to update your client's view
 of the repository.
 
-\subsubsection{The forking non-problem}
+%\subsubsection{The forking non-problem}
+\subsubsection{$BLdBj$J$/%U%)!<%/2DG=(B}
 
 It has been suggested that distributed revision control tools pose
 some sort of risk to open source projects because they make it easy to
@@ -288,7 +420,8 @@
 forgoing the ability to fluidly collaborate with whatever people feel
 compelled to mirror and fork your history.
 
-\subsection{Advantages for commercial projects}
+%\subsection{Advantages for commercial projects}
+\subsection{$B>&MQ%W%m%8%'%/%H$G$NMxE@(B}
 
 Many commercial projects are undertaken by teams that are scattered
 across the globe.  Contributors who are far from a central server will
@@ -318,7 +451,8 @@
 the sources of bugs and regressions in the customer's environment, all
 without needing to connect to your company's network.
 
-\section{Why choose Mercurial?}
+%\section{Why choose Mercurial?}
+\section{Mercurial$B$rA*$VM}M3(B}
 
 Mercurial has a unique set of properties that make it a particularly
 good choice as a revision control system.
@@ -355,7 +489,8 @@
 useful extensions already available, ranging from helping to identify
 bugs to improving performance.
 
-\section{Mercurial compared with other tools}
+%\section{Mercurial compared with other tools}
+\section{Mercurial$B$HB>$N%D!<%k$NHf3S(B}
 
 Before you read on, please understand that this section necessarily
 reflects my own experiences, interests, and (dare I say it) biases.  I
@@ -501,7 +636,8 @@
 Mercurial can import revision history from a CVS repository.
 
 
-\subsection{Commercial tools}
+%\subsection{Commercial tools}
+\subsection{$B>&MQ%D!<%k(B}
 
 Perforce has a centralised client/server architecture, with no
 client-side caching of any data.  Unlike modern revision control
@@ -514,7 +650,8 @@
 proxies to cope with the load their users generate.
 
 
-\subsection{Choosing a revision control tool}
+%\subsection{Choosing a revision control tool}
+\subsection{$B%j%S%8%g%s%3%s%H%m!<%k%D!<%k$rA*$V(B}
 
 With the exception of CVS, all of the tools listed above have unique
 strengths that suit them to particular styles of work.  There is no
@@ -532,7 +669,8 @@
 me well for several years.
 
 
-\section{Switching from another tool to Mercurial}
+%\section{Switching from another tool to Mercurial}
+\section{$BB>$N%D!<%k$+$i(BMercurial$B$X$N0\9T(B}
 
 Mercurial is bundled with an extension named \hgext{convert}, which
 can incrementally import revision history from several other revision
@@ -561,7 +699,7 @@
 changes.
 
 
-%%% Local Variables: 
+%%% Local Variables:
 %%% mode: yatex
 %%% TeX-master: "00book"
-%%% End: 
+%%% End: