# HG changeset patch # User Yoshiki Yazawa # Date 1206634406 -32400 # Node ID 7dc8a24c70f4b7101f690234d9af21ef0d18f6c3 # Parent 2d1054e1de5b25727094f377e18006288b683b7f more mq.tex diff -r 2d1054e1de5b -r 7dc8a24c70f4 ja/mq.tex --- a/ja/mq.tex Thu Mar 27 22:11:00 2008 +0900 +++ b/ja/mq.tex Fri Mar 28 01:13:26 2008 +0900 @@ -146,54 +146,96 @@ \subsection{patchwork quiltからMercurial Queuesへ} \label{sec:mq:quilt-mq} -In mid-2005, Chris Mason took the features of quilt and wrote an -extension that he called Mercurial Queues, which added quilt-like -behaviour to Mercurial. +%In mid-2005, Chris Mason took the features of quilt and wrote an +%extension that he called Mercurial Queues, which added quilt-like +%behaviour to Mercurial. + +2005年の中頃Chris Masonは,quiltの機能を取り入れて,Mercurialにquiltのよ +うな動作を追加するMercurial Queuesというエクステンションを書いた. + +%The key difference between quilt and MQ is that quilt knows nothing +%about revision control systems, while MQ is \emph{integrated} into +%Mercurial. Each patch that you push is represented as a Mercurial +%changeset. Pop a patch, and the changeset goes away. -The key difference between quilt and MQ is that quilt knows nothing -about revision control systems, while MQ is \emph{integrated} into -Mercurial. Each patch that you push is represented as a Mercurial -changeset. Pop a patch, and the changeset goes away. +quiltとMQの違いは,quiltはリビジョン管理システムについて何も関知しないの +に対して,MQはMercurialに統合されていることである.プッシュした個々のパッ +チはMercurialのチェンジセットとして表現される.パッチをポップすると,チェ +ンジセットは消えてなくなる. -Because quilt does not care about revision control tools, it is still -a tremendously useful piece of software to know about for situations -where you cannot use Mercurial and MQ. +%Because quilt does not care about revision control tools, it is still +%a tremendously useful piece of software to know about for situations +%where you cannot use Mercurial and MQ. + +quiltはリビジョン管理ツールと無関係に利用可能なため,MercurialとMQが使え +ない状況では依然として非常に有益なツールであることは記憶に留めておくべき +である. %\section{The huge advantage of MQ} \section{MQの大きな利点} -I cannot overstate the value that MQ offers through the unification of -patches and revision control. +%I cannot overstate the value that MQ offers through the unification of +%patches and revision control. + +MQがパッチとリビジョンコントロールの統合によってもたらす価値を誇張するわ +けにはいかない. + +%A major reason that patches have persisted in the free software and +%open source world---in spite of the availability of increasingly +%capable revision control tools over the years---is the \emph{agility} +%they offer. -A major reason that patches have persisted in the free software and -open source world---in spite of the availability of increasingly -capable revision control tools over the years---is the \emph{agility} -they offer. +時を追う毎にリビジョンコントロールツールの利用が広がっているにもかかわら +ず,フリーソフトとオープンソースの世界にパッチが存在する大きな理由はその +\emph{機敏さ}にある. -Traditional revision control tools make a permanent, irreversible -record of everything that you do. While this has great value, it's -also somewhat stifling. If you want to perform a wild-eyed -experiment, you have to be careful in how you go about it, or you risk -leaving unneeded---or worse, misleading or destabilising---traces of -your missteps and errors in the permanent revision record. +%Traditional revision control tools make a permanent, irreversible +%record of everything that you do. While this has great value, it's +%also somewhat stifling. If you want to perform a wild-eyed +%experiment, you have to be careful in how you go about it, or you risk +%leaving unneeded---or worse, misleading or destabilising---traces of +%your missteps and errors in the permanent revision record. + +伝統的なリビジョンコントロールツールは,行なった操作の永久的で不可逆的な +記録を残す.これには大きな価値がある一方で,窮屈に感じることもある.もし +過激な実験をするのであれば,どのように進めるか慎重にする必要がある.さも +なければ,不要な,あるいは誤解を招いたり,安定性を損なうトレースとエラー +を永久的なリビジョン履歴に残すことになる. -By contrast, MQ's marriage of distributed revision control with -patches makes it much easier to isolate your work. Your patches live -on top of normal revision history, and you can make them disappear or -reappear at will. If you don't like a patch, you can drop it. If a -patch isn't quite as you want it to be, simply fix it---as many times -as you need to, until you have refined it into the form you desire. +%By contrast, MQ's marriage of distributed revision control with +%patches makes it much easier to isolate your work. Your patches live +%on top of normal revision history, and you can make them disappear or +%reappear at will. If you don't like a patch, you can drop it. If a +%patch isn't quite as you want it to be, simply fix it---as many times +%as you need to, until you have refined it into the form you desire. + +対称的に,MQによる分散リビジョンコントロールとパッチの結合は,作業を隔離 +することを遥かに容易にする.パッチは通常のリビジョン履歴の上に乗っており, +望むように消滅させたり再現させることができる.パッチを気に入らなければ, +これを棄却することもできる.パッチがあなたの望むようなものでなければ,希 +望通りになるまで何度でも簡単に修正することができる. -As an example, the integration of patches with revision control makes -understanding patches and debugging their effects---and their -interplay with the code they're based on---\emph{enormously} easier. -Since every applied patch has an associated changeset, you can use -\hgcmdargs{log}{\emph{filename}} to see which changesets and patches -affected a file. You can use the \hgext{bisect} command to -binary-search through all changesets and applied patches to see where -a bug got introduced or fixed. You can use the \hgcmd{annotate} -command to see which changeset or patch modified a particular line of -a source file. And so on. +%As an example, the integration of patches with revision control makes +%understanding patches and debugging their effects---and their +%interplay with the code they're based on---\emph{enormously} easier. +%Since every applied patch has an associated changeset, you can use +%\hgcmdargs{log}{\emph{filename}} to see which changesets and patches +%affected a file. You can use the \hgext{bisect} command to +%binary-search through all changesets and applied patches to see where +%a bug got introduced or fixed. You can use the \hgcmd{annotate} +%command to see which changeset or patch modified a particular line of +%a source file. And so on. + +例えば,リビジョンコントロールへのパッチの統合は,パッチを理解し,その影 +響,依って立つベースコードとの相互作用をデバッグすることを可能にする.適 +用されたパッチは,関連づけられたチェンジセットを持つため, +\hgcmdargs{log}{\emph{filename}}によってどのチェンジセットとパッチがファ +イルに影響を与えているか調べることができる.\hgext{bisect}コマンドで全て +のチェンジセットと適用されたパッチに対してバイナリサーチを行ない,どこで +バグが混入したか,あるいは修正されたかを調べることができる. +\hgcmd{annotate}コマンドでどのチェンジセットかパッチがソースファイルの特 +定の行を変更したか見ることができる. + %\section{Understanding patches} \section{パッチとは何か} diff -r 2d1054e1de5b -r 7dc8a24c70f4 ja/todo.txt --- a/ja/todo.txt Thu Mar 27 22:11:00 2008 +0900 +++ b/ja/todo.txt Fri Mar 28 01:13:26 2008 +0900 @@ -10,7 +10,7 @@ license.tex mq-collab.tex mq-ref.tex -mq.tex +mq.tex 9% preface.tex srcinstall.tex template.tex