# HG changeset patch # User Yoshiki Yazawa # Date 1206623460 -32400 # Node ID 2d1054e1de5b25727094f377e18006288b683b7f # Parent 4301500fca37efefad7bc90064c46c92b2f82c84 more mq.tex diff -r 4301500fca37 -r 2d1054e1de5b ja/mq.tex --- 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前史} \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年代の終わり頃,Linuxカーネルの開発者達は,Linuxカーネルを改善する一 +連のパッチの管理を始めた.それらのうち,あるものは安定性に,別のものは特 +定の機能に,また別のものは野心的な内容に特化していた. -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. + +これらのパッチシリーズのサイズははすぐに膨れ上がった.2002年にAndrew +Mortonは彼のパッチキューの管理を自動化するいくつかのシェルスクリプトを公 +表した.Andrewは数百から数千のLinuxカーネルパッチをこれらのスクリプトで +管理することができていた. %\subsection{A patchwork quilt} -\subsection{パッチワークのキルト} +\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年の始め,Andreas GruenbacherとMartin QuinsonはAndrewのスクリプトのや +り方を真似て,``patchwork quilt''~\cite{web:quilt}あるいは単に``quilt''と +呼ばれるツールをリリースした.(詳しくは論文~\cite{gruenbacher:2005}を参 +照のこと.)quiltは十分に自動化されたパッチ管理を提供していたので,ソフト +ウェア開発者の大きな支持を急速に獲得していった. + +%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はディレクトリツリー上で\emph{パッチのスタック}を管理する.パッチの +管理を始めるには,quiltに管理すべきディレクトリツリーと,管理対象のファイ +ルを指定する.quiltはこれらのファイルの名前と中身を保存する.バグを修正 +する場合は,まず新しいパッチを(コマンド1つで)作成し,必要なファイルに +修正を加えた後,パッチを``リフレッシュ''すればよい. -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''. + +リフレッシュでは,quiltはディレクトリツリーをスキャンし,変更全てを反映さ +せてパッチを更新する.``あるパッチが適用された状態のツリー''から``2つのパッ +チが適用されたツリー''へ更新するのに必要な変更を追跡し,別のパッチを作る +こともできる. -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. +ユーザはどのパッチがツリーに適用されるかを\emph{変更}できる.あるパッチを +ポップすると,このパッチによる変更はツリーから消滅する.quiltはどのパッチ +をポップしたか記憶しており,一度ポップしたファイルを再びプッシュし,ディ +レクトリツリーをパッチによる変更がなされた状態に戻すことができる.最も重 +要なことは,いつでも``refresh''コマンドを実行して一番新しく適用されたパッ +チを更新できることである.これはすなわち,パッチの適用された状態と,パッ +チそれ自体をいつでも更新できるということである. + +%Quilt knows nothing about revision control tools, so it works equally +%well on top of an unpacked tarball or a Subversion working copy. + +quiltはリビジョン管理ツールについては全く関知しないため,展開されたtarボー +ル上でも,Subversionのワーキングコピー上でも同様に動作する. %\subsection{From patchwork quilt to Mercurial Queues} -\subsection{パッチワークキルトからMercurial Queuesへ} +\subsection{patchwork quiltからMercurial Queuesへ} \label{sec:mq:quilt-mq} In mid-2005, Chris Mason took the features of quilt and wrote an