OSDN Git Service

Update TranslationsStatus
[winmerge-jp/winmerge-jp.git] / Docs / Manual / Japanese / Intro_diffs.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <article id="Intro_diffs">
3   <title>ファイル比較とマージの概観</title>
4
5   <para>ここでの主題は、WinMergeがどのようにして、テキストファイル中の
6     差分を見つけ、また、表示するのかということ。
7     そして、単純なファイルの比較とマージ操作のデモを行います。
8     バイナリファイルに関する情報は、<xref linkend="Compare_bin" />を参照してください。</para>
9
10   <section id="Intro_diffs_comparing">
11     <title>ファイルの比較<indexterm>
12         <primary>ファイルの比較</primary>
13
14         <secondary>overview</secondary>
15       </indexterm></title>
16
17     <para>私たちは、ある方法で関連付られる二つのファイルを、いつも比較します。
18       たとえば、別々の時間、または、別々の人によって編集された二つのバージョンのファイルなどです。
19       そのような二つのファイルを検査すれば、いくつかの同じような領域と
20       同様に、異なる文字と単語、異なる行、連続したテキストブロックの差分など、くつかの違いを見つけることができます。
21       しかし、二つのファイル間のすべての差異を、お気に入りのエディターで調べることは、
22       退屈で間違いを起こしやすいでしょう。
23       WinMergeの様な、比較/マージに特化したツールは、
24       この作業を体系的かつ効率的に
25       行えるように設計されています。</para>
26
27     <para>多くの人が使っている、スペルチェッカーのような、シンプルな差分ユーティリティは、
28     体系的な手段で文書の最後まで、辞書と異なる単語をハイライトし、
29     スペル間違いを解決するのを助けます。
30     しかしながら、文字と単語のみで見ることは、複数ファイル間の差異を理解するために
31     効率的な方法ではありません。
32     この理由で、多くの差分ユーティリティは比較の基本単位として、
33     行を代わりに使用します。</para>
34
35     <para>WinMergeも、比較の基本単位として、行を使用します。
36     単語と文字は、比較とマージ操作の中では、個別には扱われません。
37     例証するために、一行を除いて同一の二つのファイルを考えてください。
38     一行が、異なる4単語を含む二つのバージョンで、一方のバージョンには、
39     余分なスペースがある時、ファイルには5つではなく、
40     1つの差異があると判断します。</para>
41
42     <para>単語よりも、行比較の方が速い場合、
43       一度に一行を比較する代わりに、単一の違いとして行全体を扱うことは、さらに有効です。
44       あとで見るように、複数行の差分を見つけることは、
45       マージにも効率的です。</para>
46
47     <section>
48       <title>単純なファイル操作</title>
49
50       <para>このセクションは、二つのファイル間の差分を、
51         WinMergeで行比較する方法の単純な例を述べています。</para>
52
53       <orderedlist>
54         <listitem>
55           <para>テキストエディターを使って、ここに示す内容と名前の二つのファイルを、
56             単語と改行に注意して正確に作成してください。
57           </para>
58
59           <formalpara>
60             <title>File1:</title>
61
62             <para><screen>It's slow comparing words 
63 and characters. Instead,  
64 WinMerge compares lines.
65 Believe it or else.</screen></para>
66           </formalpara>
67
68           <formalpara>
69             <title>File2:</title>
70
71             <para><screen>It's slow comparing words.
72 WinMerge compares lines.
73 Believe it or not.</screen></para>
74           </formalpara>
75         </listitem>
76
77         <listitem>
78           <para>WinMergeを起動してください。例えば、デスクトップの<inlinemediaobject>
79               <imageobject>
80                 <imagedata contentwidth="32" fileref="screenshots/wm_icon.png" />
81               </imageobject>
82
83               <textobject>
84                 <phrase>WinMerge desktop shortcut</phrase>
85               </textobject>
86             </inlinemediaobject>WinMergeへのショートカットをダブルクリックしてください。</para>
87         </listitem>
88
89         <listitem>
90           <para>ファイルとフォルダーの選択ダイアログで、
91             <filename>File1</filename>を<guilabel>1番目</guilabel>に、
92           <filename>File2</filename>を<guilabel>2番目</guilabel>のファイルに指定し、
93           <guibutton>比較</guibutton>をクリックしてください。このように、左と右のファイルペインに二つのファイルが開かれ、
94           ファイル比較ウィンドウが表示されます。</para>
95
96           <mediaobject>
97             <imageobject>
98               <imagedata contentwidth="600"
99                          fileref="screenshots/missing_lines.png" />
100             </imageobject>
101
102             <textobject>
103               <phrase>Compare Files screenshot</phrase>
104             </textobject>
105           </mediaobject>
106
107           <para>この要素は、<xref linkend="Compare_files" />で、
108             さらに詳細に説明されています。
109             以下はこの例で注意すべきいくつかの点です。</para>
110
111           <variablelist>
112             <varlistentry>
113               <term>差分の個数</term>
114
115               <listitem>
116                 <para>このメッセージは、
117                   WinMergeウィンドウ下部のステータスバーにあり、
118                   2つの差分が見つかったことを説明しています。</para>
119               </listitem>
120             </varlistentry>
121
122             <varlistentry>
123               <term>異なった色</term>
124
125               <listitem>
126                 <para>差分ブロックは異なる背景色でマークされます。
127                   (デフォルトは、ゴールド)</para>
128
129                 <para>行差分は、単語背景色を使用して、
130                   差分ブロック中の変更されたテキストをマークすることができます。
131                   (デフォルトは、ライトイエロー)</para>
132
133                 <para>同じ行はマークされません。
134                   これらは、例の3行目のような、白の背景色です。</para>
135               </listitem>
136             </varlistentry>
137
138             <varlistentry>
139               <term>空白行</term>
140
141               <listitem>
142                 <para>左の比較ペインに注目してください。
143                   2行目にはテキストがあります。
144                   他方のペインは、同じ場所が灰色の空行になっています。
145                   この空行は、<filename>File2</filename>ソースファイルには、存在しません。
146                   WinMergeが何をしたのでしょう?</para>
147
148                 <para>WinMergeは、他方のバージョンにより多くの行が存在すると、
149                   1行、または、それより多くの灰色の空行を、一方のバージョンに挿入します。
150                 これらの灰色の空行は、ソースファイル中の空行を表しているわけではありません。
151                 これらは、表示上のプレースホルダーに過ぎません。
152                 プレースホルダー行の目的は、左と右のバージョンの差分を垂直に整列させることです。
153                 例で述べたように、
154                 <computeroutput>WinMerge compares lines</computeroutput>のテキストは、
155                 たとえソースファイル中では異なる行にあっても、
156                 比較ウィンドウには並んで表示されます。
157                 このことが、WinMergeでの差分比較を、
158                 従来のエディターより容易にさせています。</para>
159
160                 <tip>
161                   <para>空行の一つの重要性は、たとえ、ソースファイルではそうでなくても、
162                     ファイル比較ウィンドウの両方(または3つすべて)のペインには、
163                     いつも同じ総行数が表示されていることです。</para>
164                 </tip>
165               </listitem>
166             </varlistentry>
167           </variablelist>
168
169           <para>WinMergeが、どのように差異を検出して、表示するかということを
170             理解しているので、次のステップで示されるように、
171             効率的な比較機能を使用できます。</para>
172         </listitem>
173
174         <listitem>
175           <para>ツールバーにある、<inlinemediaobject>
176               <imageobject>
177                 <imagedata contentdepth="15"
178                            fileref="screenshots/currentdiff_btn.png" />
179               </imageobject>
180
181               <textobject>
182                 <phrase>現在の差異ボタン</phrase>
183               </textobject>
184             </inlinemediaobject> <guibutton>現在の差異</guibutton>をクリック
185             (または、<keycombo>
186               <keycap>Alt</keycap>
187
188               <keycap>Enter</keycap>
189             </keycombo>キーを押下)してください。このボタンが使えない(例えば、カーソルが違う行にある)時は、
190             代わりに、<inlinemediaobject>
191               <imageobject>
192                 <imagedata contentdepth="15"
193                            fileref="screenshots/firstdiff_btn.png" />
194               </imageobject>
195
196               <textobject>
197                 <phrase>最初の差異ボタン</phrase>
198               </textobject>
199             </inlinemediaobject>最初の差異をクリック(または、<keycombo>
200               <keycap>Alt</keycap>
201
202               <keycap>Home</keycap>
203             </keycombo>キーを押下)してください。</para>
204
205           <para>差異を選択したら、Diffペインに二つのバージョンがロードされます。
206             <!-- FIXME: こっから最後まで、何がいいたいのかわからん -->Diffペインで、どの行に差異が含まれているか確認し、残りのファイルから独立して、それらを調べることができます。
207             この例では、違いの一つは明確で、二つの行を持っています。</para>
208
209           <mediaobject>
210             <imageobject>
211               <imagedata contentwidth="588"
212                          fileref="screenshots/filecomp_diffpane1.png" />
213             </imageobject>
214
215             <textobject>
216               <phrase>Compare Files Diff Pane</phrase>
217             </textobject>
218           </mediaobject>
219           <para></para>
220         </listitem>
221
222         <listitem>
223           <para>ツールバーの、<inlinemediaobject>
224               <imageobject>
225                 <imagedata contentdepth="15"
226                            fileref="screenshots/nextdiff_btn.png" />
227               </imageobject>
228
229               <textobject>
230                 <phrase><!-- XXX: 訳注 原文では、Current Difference buttonとなっている -->次の差異ボタン</phrase>
231               </textobject>
232             </inlinemediaobject><guibutton>次の差異</guibutton>をクリック
233             (または、<keycombo>
234               <keycap>Alt</keycap>
235
236               <keycap>Enter</keycap>
237             </keycombo>キーを押下)してください。
238             これは、同じ行(差異ではない)を飛び越し、
239             最後の行を選択します。</para>
240
241           <para><!-- FIXME: 全部イマイチ。意味不 -->ファイルの最後に到達し、すべての差異を検査するチャンスを得ることができました。
242             これは、つまらない例です。ここに、ただ二つの差異があります。
243             そして、WinMergeで、これらの差異を比較する方法が二つあります。
244             しかしそれは、
245             WinMergeナビゲーション・コントロールを使用することの有効性を証明しています。</para>
246         </listitem>
247       </orderedlist>
248     </section>
249   </section>
250
251   <section id="Intro_diffs_merging">
252     <title>ファイルのマージ<indexterm>
253         <primary>差異のマージ</primary>
254
255         <secondary>overview and example</secondary>
256       </indexterm></title>
257
258     <para>マージの目的は、二つのファイルの変更を一つのファイルへ結合することです。
259     マージは、比較操作で使われる、概念と機能を拡張します。
260     このセクションを始める前に、これまでのセクションを読んでください。
261     さらに、二つのファイルバージョン間の差異を見つけ、差異を解決し、結果を一つの
262     <glossterm>target</glossterm>バージョンに保存します。</para>
263
264     <para>ファイルのマージは、同時開発を可能にし、それは、チーム環境の中でありふれたタスクです。
265       例えば、あなたともう一人の人が、
266       同時期に同じプログラムファイルにコードを追加したいとします。
267     あなたは、両方ともファイルの同一のコピーからはじめます。
268     しかし、開発中に、同一でない個別のバージョンを作成します。
269     ある時点で、二つのバージョンは、
270     それぞれの貢献者による変更を保ったまま、
271     一つにマージされなければなりません。</para>
272
273   <para>SubversionやGitのようなバージョン管理システムは、マージを
274     促すことができます(または、開始させられます)。
275     例えば、お使いのバージョン管理システムが、マージ・コンフリクトにより、リポジトリへのサブミットを妨害するかもしれません。
276     あなたが自分のバージョンで作業中に、他の誰かが、同じファイルの異なるバージョンをチェックインして、
277     バージョン管理システムが差分を自動マージできなかった場合、競合が発生します。
278     競合が発生した場合、あなたのバージョンを提出する前に、
279     競合しているバージョンをマージする必要があるかもしれません。
280     多くのシステムには、差分とマージツールが統合されています。
281     しかし、あなたは、代わりにWinMergeを使いたいかもしれません。
282   </para>
283
284   <para><!-- FIXME わからない -->Just as with comparing, you use WinMerge's toolbar controls (or
285     keyboard shortcuts) to systematically step through the differences. Resolve
286     each difference by copying either its left or right
287     <glossterm>candidate</glossterm> to the other side. すべての差異を解決した時、
288     WinMergeは、すべての差異が解決されたことを知らせ、
289     マージ作業を完了します。</para>
290
291     <section>
292       <title>単純なマージ操作</title>
293
294       <para><!-- TODO: イマイチ -->このちょっとした課題は、
295         ファイル比較ウィンドウのコントロールを、
296         先に示したシンプルなファイルを体系的にマージするために、どのように使用するかを示しています。</para>
297
298       <orderedlist>
299         <listitem>
300           <para>ツールバーの、<inlinemediaobject>
301               <imageobject>
302                 <imagedata contentdepth="15"
303                            fileref="screenshots/currentdiff_btn.png" />
304               </imageobject>
305
306               <textobject>
307                 <phrase>Current Difference button</phrase>
308               </textobject>
309             </inlinemediaobject> <guibutton>現在の差異</guibutton>ボタンをクリックして、
310             最初の差異を選択してください。このボタンが使えない場合、
311             代わりに、<inlinemediaobject>
312               <imageobject>
313                 <imagedata contentdepth="15"
314                            fileref="screenshots/firstdiff_btn.png" />
315               </imageobject>
316
317               <textobject>
318                 <phrase>First Difference button</phrase>
319               </textobject>
320             </inlinemediaobject> <guibutton>最初の差異</guibutton>ボタンを
321             クリックしてください。</para>
322         </listitem>
323
324         <listitem>
325           <para><inlinemediaobject>
326               <imageobject>
327                 <imagedata contentwidth="17"
328                            fileref="screenshots/copyr_button.png" />
329               </imageobject>
330
331               <textobject>
332                 <phrase>Copy Right button</phrase>
333               </textobject>
334             </inlinemediaobject> <guibutton>右へコピー</guibutton>をクリックすると、
335             <filename>File1</filename>から、<filename>File2</filename>へ、
336             一つの差異がマージされます。
337             <filename>File2</filename>の中の差分1行が、
338             <filename>File1</filename>の2行で置き換えられ、
339             灰色の空行が無くなっていることに注意してください。</para>
340         </listitem>
341
342         <listitem>
343           <para><inlinemediaobject>
344               <imageobject>
345                 <imagedata contentdepth="15"
346                            fileref="screenshots/nextdiff_btn.png" />
347               </imageobject>
348
349               <textobject>
350                 <phrase>Next Difference button</phrase>
351               </textobject>
352             </inlinemediaobject> <guibutton>次の差異</guibutton>をクリックすると、
353           2番目の差異を選択します。これは、差異を自分で発見して選択するより簡単です。
354           そして、すべての差異を端から端まで難なく調べたいなら、特に便利です。</para>
355         </listitem>
356
357         <listitem>
358           <para><inlinemediaobject>
359               <imageobject>
360                 <imagedata contentwidth="17"
361                            fileref="screenshots/copyl_button.png" />
362               </imageobject>
363
364               <textobject>
365                 <phrase>Copy Left button</phrase>
366               </textobject>
367             </inlinemediaobject> <guibutton>左へコピー</guibutton>
368             をクリックすると、
369             2番目の差異を、<filename>File2</filename>から、
370           <filename>File1</filename>へマージします。</para>
371
372           <para>マージが完了してファイルが同一になると、メッセージが表示されます。
373           </para>
374
375           <mediaobject>
376             <imageobject>
377               <imagedata contentwidth="600"
378                          fileref="screenshots/filemerged1.png" format="PNG" />
379             </imageobject>
380           </mediaobject>
381           <para></para>
382         </listitem>
383
384         <listitem>
385           <para><guibutton>OK</guibutton>をクリックし、メッセージを閉じてください。
386             差異のステータスが、
387             <computeroutput>差異 1/1</computeroutput>から、
388             <computeroutput>同一</computeroutput>に変わります</para>
389         </listitem>
390
391         <listitem>
392           <para><keycombo>
393               <keycap>Ctrl</keycap>
394
395               <keycap>S</keycap>
396             </keycombo>を押下して変更を保存してください。</para>
397         </listitem>
398       </orderedlist>
399
400       <para>非常にシンプルであると同時に、
401         この例のデモは、
402         ある程度の比較をしたり差異をマージしたりする基本的な手順です。</para>
403     </section>
404
405     <section>
406       <title>マージしたファイルの保存先を選択<indexterm>
407           <primary>差異のマージ</primary>
408
409           <secondary>result file</secondary>
410         </indexterm><indexterm>
411           <primary>result file, in merge</primary>
412         </indexterm></title>
413
414         <para>マージ結果が保たれるようにコントロールしてください。
415           WinMergeのファイル比較ウィンドウには、幾つかのマージツールがそうであるように、
416           分割された結果ペインがありません。 最も単純な方策は、片方、または、両方(または3つすべて)のソースファイルの変更を保存することです。
417           <keycombo>
418           <keycap>Ctrl</keycap>
419
420           <keycap>S</keycap>
421         </keycombo>を押下して、両方のファイルの変更を何度か保存してください。
422       代わりに、<menuchoice>
423           <guimenu>ファイル</guimenu>
424
425           <!-- TODO: 「保存」->「左側を保存」とネストしているため
426                オリジナルのXMLファイルと構成が違うが大丈夫か?
427           -->
428           <guimenuitem>保存</guimenuitem>
429           <guimenuitem>左側のファイルを保存</guimenuitem>
430         </menuchoice>、または、<menuchoice>
431           <guimenu>ファイル</guimenu>
432
433           <guimenuitem>保存</guimenuitem>
434           <guimenuitem>右側のファイルを保存</guimenuitem>
435         </menuchoice>をクリックして、片方のファイルを保存してください。</para>
436
437       <para>どちらか一方のソースファイルの代わりに、別のファイルに書き込むには、
438       <menuchoice>
439           <guimenu>ファイル</guimenu>
440
441           <guimenuitem>名前を付けて保存</guimenuitem>
442         </menuchoice>を使用してください。例えば、ターゲットファイルが、バージョン管理システムによって作成された、
443         差分ファイル、または、競合ファイルなどの場合です。</para>
444
445       <para>同様に、WinMergeのコマンドラインで、<xref linkend="Command_line" />で説明されている、
446         任意の<option>outputfile</option>引数を使用して、
447         両方(または3つすべて)のソースファイルが変更されていない状態のままにしておくことができます。</para>
448     </section>
449   </section>
450 </article>