<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>衝突の解消 — Bazaar v2.2.4 documentation</title> <link rel="stylesheet" href="../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT: '../', VERSION: '2.2.4', COLLAPSE_INDEX: false, FILE_SUFFIX: '.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="../_static/jquery.js"></script> <script type="text/javascript" src="../_static/underscore.js"></script> <script type="text/javascript" src="../_static/doctools.js"></script> <script type="text/javascript" src="../_static/translations.js"></script> <link rel="shortcut icon" href="../_static/bzr.ico"/> <link rel="top" title="Bazaar v2.2.4 documentation" href="../index.html" /> <link rel="up" title="Bazaarユーザーガイド" href="index.html" /> <link rel="next" title="変更に注釈を付ける" href="annotating_changes.html" /> <link rel="prev" title="変更をマージする" href="merging_changes.html" /> </head> <body> <div class="related"> <h3>ナビゲーション</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="annotating_changes.html" title="変更に注釈を付ける" accesskey="N">次へ</a></li> <li class="right" > <a href="merging_changes.html" title="変更をマージする" accesskey="P">前へ</a> |</li> <li><a href="../index.html">目次 (2.2.4)</a> »</li> <li><a href="index.html" accesskey="U">Bazaarユーザーガイド</a> »</li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body"> <div class="section" id="id1"> <h1>衝突の解消<a class="headerlink" href="#id1" title="このヘッドラインへのパーマリンク">¶</a></h1> <div class="section" id="id2"> <h2>ワークフロー<a class="headerlink" href="#id2" title="このヘッドラインへのパーマリンク">¶</a></h2> <p>マージプロセスの間にそれぞれの衝突を解消することを強制する他のいくつかのツールとは異なり、Bazaarはできる限りマージしてから衝突を報告します。 これによって衝突の解消をより扱いやすくします。 解消すべき方法を決めることを手助けするためにポストマージツリー全体の内容が利用可能だからです。 それぞれの解消もしくはグループがよい状態であることを確認するためにテストをいくつか選んで実行することもよいでしょう。</p> </div> <div class="section" id="id3"> <h2>衝突の一覧を表示する<a class="headerlink" href="#id3" title="このヘッドラインへのパーマリンク">¶</a></h2> <p><tt class="docutils literal"><span class="pre">merge</span></tt> コマンドで報告されるのと同様に、突出した衝突の一覧は <tt class="docutils literal"><span class="pre">conflicts</span></tt> コマンドを使用することでいつでも表示されます。 これは <tt class="docutils literal"><span class="pre">status</span></tt> コマンドから出力の一部として含めることも可能です。</p> </div> <div class="section" id="id4"> <h2>衝突を解消する<a class="headerlink" href="#id4" title="このヘッドラインへのパーマリンク">¶</a></h2> <p>衝突に遭遇したら、 <tt class="docutils literal"><span class="pre">merge</span></tt> コマンドは解決されていない領域を表示する埋め込みマーカーをそれぞれのファイルに追加します。 1つの衝突を持つそれぞれのファイルに対して3つのファイルも作ります:</p> <blockquote> <div><ul class="simple"> <li>foo.BASE</li> <li>foo.THIS</li> <li>foo.OTHER</li> </ul> </div></blockquote> <p><tt class="docutils literal"><span class="pre">foo</span></tt> は衝突したファイルの名前です。 多くの場合、問題になっているそれぞれのファイルを手作業で編集し、関連領域を修正し衝突マーカーを除去することで衝突を解消できます。</p> <p>衝突の中のすべてのファイルを修正し、マーカーを削除した後で、 <tt class="docutils literal"><span class="pre">resolve</span></tt> コマンドを使用してBazaarにそれらを解決したものとしてマークするように頼みます:</p> <div class="highlight-python"><pre>bzr resolve</pre> </div> <p>代わりに、それぞれのファイルを修正した後で、これを解消したものとしてマークできます:</p> <div class="highlight-python"><pre>bzr resolve foo</pre> </div> <p><tt class="docutils literal"><span class="pre">resolve</span></tt> コマンドは作業ツリーからBASE, THIS, OTHERファイルをクリーンナップします。</p> </div> <div class="section" id="remerge"> <h2>remergeコマンドを使う<a class="headerlink" href="#remerge" title="このヘッドラインへのパーマリンク">¶</a></h2> <p>いくつかの場合、任意のファイルに対して異なるマージアルゴリズムを試したいことがあります。 これを行うためには、ファイルを次のように指定して <tt class="docutils literal"><span class="pre">remerge</span></tt> コマンドを使います:</p> <div class="highlight-python"><pre>bzr remerge --weave foo</pre> </div> <p><tt class="docutils literal"><span class="pre">foo</span></tt> はファイルで <tt class="docutils literal"><span class="pre">weave</span></tt> オプションは利用可能なマージアルゴリズムです。 いわゆる <tt class="docutils literal"><span class="pre">criss-cross</span></tt> (十字遺伝)マージが検出されたときに、 たとえば、2つのブランチが同じものをマージしてからお互いをマージするときに、このアルゴリズムはとりわけ便利です。 詳細については <tt class="docutils literal"><span class="pre">criss-cross</span></tt> と <tt class="docutils literal"><span class="pre">remerge</span></tt> のオンラインヘルプを参照してください。</p> </div> <div class="section" id="id5"> <h2>衝突を解消するために外部ツールを利用する<a class="headerlink" href="#id5" title="このヘッドラインへのパーマリンク">¶</a></h2> <p>衝突を解消するためにGUIツールを利用したいのであれば、 <em>extmerge</em> プラグインをインストールしてください。次のようにインストールできます:</p> <div class="highlight-python"><pre>bzr extmerge foo</pre> </div> <p><tt class="docutils literal"><span class="pre">foo</span></tt> は衝突したファイルです。 解消するファイルの一覧を提供するよりも、すべての衝突ファイルを暗黙の内に指定するために <tt class="docutils literal"><span class="pre">--all</span></tt> オプションを利用できます。</p> <p><tt class="docutils literal"><span class="pre">extmerge</span></tt> コマンドは <tt class="docutils literal"><span class="pre">bazaar.conf</span></tt> ファイルの中の <tt class="docutils literal"><span class="pre">external_merge</span></tt> 設定によって指定されるツールを使います。 設定されていなければ、 <tt class="docutils literal"><span class="pre">kdiff3</span></tt> もしくは <tt class="docutils literal"><span class="pre">opendiff</span></tt> のような人気のあるマージツールが設定されます。 後者はOS XのFileMergeのコマンドラインインターフェイスです。</p> </div> </div> </div> </div> </div> <div class="sphinxsidebar"> <div class="sphinxsidebarwrapper"> <h3><a href="../index.html">目次</a></h3> <ul> <li><a class="reference internal" href="#">衝突の解消</a><ul> <li><a class="reference internal" href="#id2">ワークフロー</a></li> <li><a class="reference internal" href="#id3">衝突の一覧を表示する</a></li> <li><a class="reference internal" href="#id4">衝突を解消する</a></li> <li><a class="reference internal" href="#remerge">remergeコマンドを使う</a></li> <li><a class="reference internal" href="#id5">衝突を解消するために外部ツールを利用する</a></li> </ul> </li> </ul> <h4>前のトピックへ</h4> <p class="topless"><a href="merging_changes.html" title="前の章へ">変更をマージする</a></p> <h4>次のトピックへ</h4> <p class="topless"><a href="annotating_changes.html" title="次の章へ">変更に注釈を付ける</a></p> <h3>このページ</h3> <ul class="this-page-menu"> <li><a href="../_sources/user-guide/resolving_conflicts.txt" rel="nofollow">ソースコードを表示</a></li> </ul> <div id="searchbox" style="display: none"> <h3>クイック検索</h3> <form class="search" action="../search.html" method="get"> <input type="text" name="q" size="18" /> <input type="submit" value="検索" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> <p class="searchtip" style="font-size: 90%"> モジュール、クラス、または関数名を入力してください </p> </div> <script type="text/javascript">$('#searchbox').show(0);</script> </div> </div> <div class="clearer"></div> </div> <div class="related"> <h3>ナビゲーション</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="annotating_changes.html" title="変更に注釈を付ける" >次へ</a></li> <li class="right" > <a href="merging_changes.html" title="変更をマージする" >前へ</a> |</li> <li><a href="../index.html">目次 (2.2.4)</a> »</li> <li><a href="index.html" >Bazaarユーザーガイド</a> »</li> </ul> </div> <div class="footer"> © Copyright 2009, Canonical Ltd. このドキュメントは <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7 で生成しました。 </div> </body> </html>