Mercurial > hgbook
changeset 323:2d1054e1de5b
more mq.tex
author | Yoshiki Yazawa <yaz@cc.rim.or.jp> |
---|---|
date | Thu, 27 Mar 2008 22:11:00 +0900 |
parents | 4301500fca37 |
children | 7dc8a24c70f4 |
files | ja/mq.tex |
diffstat | 1 files changed, 75 insertions(+), 38 deletions(-) [+] |
line wrap: on
line diff
--- a/ja/mq.tex Thu Mar 27 20:32:49 2008 +0900 +++ b/ja/mq.tex Thu Mar 27 22:11:00 2008 +0900 @@ -58,55 +58,92 @@ \section{Mercurial Queues$BA0;K(B} \label{sec:mq:history} -During the late 1990s, several Linux kernel developers started to -maintain ``patch series'' that modified the behaviour of the Linux -kernel. Some of these series were focused on stability, some on -feature coverage, and others were more speculative. +%During the late 1990s, several Linux kernel developers started to +%maintain ``patch series'' that modified the behaviour of the Linux +%kernel. Some of these series were focused on stability, some on +%feature coverage, and others were more speculative. + +1990$BG/Be$N=*$o$j:"!$(BLinux$B%+!<%M%k$N3+H/<TC#$O!$(BLinux$B%+!<%M%k$r2~A1$9$k0l(B +$BO"$N%Q%C%A$N4IM}$r;O$a$?!%$=$l$i$N$&$A!$$"$k$b$N$O0BDj@-$K!$JL$N$b$N$OFC(B +$BDj$N5!G=$K!$$^$?JL$N$b$N$OLn?4E*$JFbMF$KFC2=$7$F$$$?!%(B -The sizes of these patch series grew rapidly. In 2002, Andrew Morton -published some shell scripts he had been using to automate the task of -managing his patch queues. Andrew was successfully using these -scripts to manage hundreds (sometimes thousands) of patches on top of -the Linux kernel. +%The sizes of these patch series grew rapidly. In 2002, Andrew Morton +%published some shell scripts he had been using to automate the task of +%managing his patch queues. Andrew was successfully using these +%scripts to manage hundreds (sometimes thousands) of patches on top of +%the Linux kernel. + +$B$3$l$i$N%Q%C%A%7%j!<%:$N%5%$%:$O$O$9$0$KKD$l>e$,$C$?!%(B2002$BG/$K(BAndrew +Morton$B$OH`$N%Q%C%A%-%e!<$N4IM}$r<+F02=$9$k$$$/$D$+$N%7%'%k%9%/%j%W%H$r8x(B +$BI=$7$?!%(BAndrew$B$O?tI4$+$i?t@i$N(BLinux$B%+!<%M%k%Q%C%A$r$3$l$i$N%9%/%j%W%H$G(B +$B4IM}$9$k$3$H$,$G$-$F$$$?!%(B %\subsection{A patchwork quilt} -\subsection{$B%Q%C%A%o!<%/$N%-%k%H(B} +\subsection{patchwork quilt} \label{sec:mq:quilt} -In early 2003, Andreas Gruenbacher and Martin Quinson borrowed the -approach of Andrew's scripts and published a tool called ``patchwork -quilt''~\cite{web:quilt}, or simply ``quilt'' -(see~\cite{gruenbacher:2005} for a paper describing it). Because -quilt substantially automated patch management, it rapidly gained a -large following among open source software developers. +%In early 2003, Andreas Gruenbacher and Martin Quinson borrowed the +%approach of Andrew's scripts and published a tool called ``patchwork +%quilt''~\cite{web:quilt}, or simply ``quilt'' +%(see~\cite{gruenbacher:2005} for a paper describing it). Because +%quilt substantially automated patch management, it rapidly gained a +%large following among open source software developers. -Quilt manages a \emph{stack of patches} on top of a directory tree. -To begin, you tell quilt to manage a directory tree, and tell it which -files you want to manage; it stores away the names and contents of -those files. To fix a bug, you create a new patch (using a single -command), edit the files you need to fix, then ``refresh'' the patch. +2003$BG/$N;O$a!$(BAndreas Gruenbacher$B$H(BMartin Quinson$B$O(BAndrew$B$N%9%/%j%W%H$N$d(B +$B$jJ}$r??;w$F!$(B``patchwork quilt''~\cite{web:quilt}$B$"$k$$$OC1$K(B``quilt''$B$H(B +$B8F$P$l$k%D!<%k$r%j%j!<%9$7$?!%!J>\$7$/$OO@J8(B~\cite{gruenbacher:2005}$B$r;2(B +$B>H$N$3$H!%!K(Bquilt$B$O==J,$K<+F02=$5$l$?%Q%C%A4IM}$rDs6!$7$F$$$?$N$G!$%=%U%H(B +$B%&%'%"3+H/<T$NBg$-$J;Y;}$r5^B.$K3MF@$7$F$$$C$?!%(B + +%Quilt manages a \emph{stack of patches} on top of a directory tree. +%To begin, you tell quilt to manage a directory tree, and tell it which +%files you want to manage; it stores away the names and contents of +%those files. To fix a bug, you create a new patch (using a single +%command), edit the files you need to fix, then ``refresh'' the patch. + +quilt$B$O%G%#%l%/%H%j%D%j!<>e$G(B\emph{$B%Q%C%A$N%9%?%C%/(B}$B$r4IM}$9$k!%%Q%C%A$N(B +$B4IM}$r;O$a$k$K$O!$(Bquilt$B$K4IM}$9$Y$-%G%#%l%/%H%j%D%j!<$H!$4IM}BP>]$N%U%!%$(B +$B%k$r;XDj$9$k!%(Bquilt$B$O$3$l$i$N%U%!%$%k$NL>A0$HCf?H$rJ]B8$9$k!%%P%0$r=$@5(B +$B$9$k>l9g$O!$$^$:?7$7$$%Q%C%A$r!J%3%^%s%I(B1$B$D$G!K:n@.$7!$I,MW$J%U%!%$%k$K(B +$B=$@5$r2C$($?8e!$%Q%C%A$r(B``$B%j%U%l%C%7%e(B''$B$9$l$P$h$$!%(B -The refresh step causes quilt to scan the directory tree; it updates -the patch with all of the changes you have made. You can create -another patch on top of the first, which will track the changes -required to modify the tree from ``tree with one patch applied'' to -``tree with two patches applied''. +%The refresh step causes quilt to scan the directory tree; it updates +%the patch with all of the changes you have made. You can create +%another patch on top of the first, which will track the changes +%required to modify the tree from ``tree with one patch applied'' to +%``tree with two patches applied''. + +$B%j%U%l%C%7%e$G$O!$(Bquilt$B$O%G%#%l%/%H%j%D%j!<$r%9%-%c%s$7!$JQ99A4$F$rH?1G$5(B +$B$;$F%Q%C%A$r99?7$9$k!%(B``$B$"$k%Q%C%A$,E,MQ$5$l$?>uBV$N%D%j!<(B''$B$+$i(B``2$B$D$N%Q%C(B +$B%A$,E,MQ$5$l$?%D%j!<(B''$B$X99?7$9$k$N$KI,MW$JJQ99$rDI@W$7!$JL$N%Q%C%A$r:n$k(B +$B$3$H$b$G$-$k!%(B -You can \emph{change} which patches are applied to the tree. If you -``pop'' a patch, the changes made by that patch will vanish from the -directory tree. Quilt remembers which patches you have popped, -though, so you can ``push'' a popped patch again, and the directory -tree will be restored to contain the modifications in the patch. Most -importantly, you can run the ``refresh'' command at any time, and the -topmost applied patch will be updated. This means that you can, at -any time, change both which patches are applied and what -modifications those patches make. +%You can \emph{change} which patches are applied to the tree. If you +%``pop'' a patch, the changes made by that patch will vanish from the +%directory tree. Quilt remembers which patches you have popped, +%though, so you can ``push'' a popped patch again, and the directory +%tree will be restored to contain the modifications in the patch.Most +%importantly, you can run the ``refresh'' command at any time, and the +%topmost applied patch will be updated. This means that you can, at +%any time, change both which patches are applied and what +%modifications those patches make. -Quilt knows nothing about revision control tools, so it works equally -well on top of an unpacked tarball or a Subversion working copy. +$B%f!<%6$O$I$N%Q%C%A$,%D%j!<$KE,MQ$5$l$k$+$r(B\emph{$BJQ99(B}$B$G$-$k!%$"$k%Q%C%A$r(B +$B%]%C%W$9$k$H!$$3$N%Q%C%A$K$h$kJQ99$O%D%j!<$+$i>CLG$9$k!%(Bquilt$B$O$I$N%Q%C%A(B +$B$r%]%C%W$7$?$+5-21$7$F$*$j!$0lEY%]%C%W$7$?%U%!%$%k$r:F$S%W%C%7%e$7!$%G%#(B +$B%l%/%H%j%D%j!<$r%Q%C%A$K$h$kJQ99$,$J$5$l$?>uBV$KLa$9$3$H$,$G$-$k!%:G$b=E(B +$BMW$J$3$H$O!$$$$D$G$b(B``refresh''$B%3%^%s%I$r<B9T$7$F0lHV?7$7$/E,MQ$5$l$?%Q%C(B +$B%A$r99?7$G$-$k$3$H$G$"$k!%$3$l$O$9$J$o$A!$%Q%C%A$NE,MQ$5$l$?>uBV$H!$%Q%C(B +$B%A$=$l<+BN$r$$$D$G$b99?7$G$-$k$H$$$&$3$H$G$"$k!%(B + +%Quilt knows nothing about revision control tools, so it works equally +%well on top of an unpacked tarball or a Subversion working copy. + +quilt$B$O%j%S%8%g%s4IM}%D!<%k$K$D$$$F$OA4$/4XCN$7$J$$$?$a!$E83+$5$l$?(Btar$B%\!<(B +$B%k>e$G$b!$(BSubversion$B$N%o!<%-%s%0%3%T!<>e$G$bF1MM$KF0:n$9$k!%(B %\subsection{From patchwork quilt to Mercurial Queues} -\subsection{$B%Q%C%A%o!<%/%-%k%H$+$i(BMercurial Queues$B$X(B} +\subsection{patchwork quilt$B$+$i(BMercurial Queues$B$X(B} \label{sec:mq:quilt-mq} In mid-2005, Chris Mason took the features of quilt and wrote an