Sophie

Sophie

distrib > Mageia > 5 > i586 > by-pkgid > 27647990744ebd9cfe32398f37f67e20 > files > 3327

bzr-2.6.0-11.1.mga5.i586.rpm

<!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 2.0 移行ガイド &mdash; Bazaar 2.6.0 ドキュメント</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.6.0',
        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 2.6.0 ドキュメント" href="../index.html" />
    <link rel="next" title="Bazaarユーザーリファレンス" href="../user-reference/index.html" />
    <link rel="prev" title="Licence" href="../user-guide/licence.html" /> 
  </head>
  <body>
    <div class="related">
      <h3>ナビゲーション</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../user-reference/index.html" title="Bazaarユーザーリファレンス"
             accesskey="N">次へ</a></li>
        <li class="right" >
          <a href="../user-guide/licence.html" title="Licence"
             accesskey="P">前へ</a> |</li>
        <li><a href="../index.html">目次 (2.6.0)</a> &raquo;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="bazaar-2-0">
<h1>Bazaar 2.0 移行ガイド<a class="headerlink" href="#bazaar-2-0" title="このヘッドラインへのパーマリンク">¶</a></h1>
<div class="section" id="id1">
<h2>概要<a class="headerlink" href="#id1" title="このヘッドラインへのパーマリンク">¶</a></h2>
<div class="section" id="id2">
<h3>移行手順の概要<a class="headerlink" href="#id2" title="このヘッドラインへのパーマリンク">¶</a></h3>
<p>Bazaar 2.xへのアップグレード作業は3段階あります:</p>
<ol class="arabic simple">
<li>コアソフトウェアの移行</li>
<li>必要なプラグインの移行</li>
<li>新しいデフォルトフォーマットへのデータ移行</li>
</ol>
<p>Bazaar 2.xは以前のブランチのフォーマットをサポートしているので、厳密には3番目の手順は
必要ありません。しかし、Bazaar 2.xの新しいデフォルトフォーマットはより効率よく領域を使用する、
巨大なプロジェクトでより高速になる、さまざまな新しい特徴をそなえている、などの理由からほとんどのプロジェクトについて都合のよいときにでもアップグレードすることをおすすめします。</p>
<p>ほとんどのユーザの方は2.xへのアップグレードと新しいフォーマットへの移行に苦労しません。
しかしながら、大勢の開発者がいる(もしくは多くの開発者をようする)プロジェクトでは移行作業に手間がかかります。
この場合、注意深く計画をたてることとよいコミュニケーションが必要不可欠となります。
本文書はこの視点からの一般的なアドバイスを記載しています。
不安な点がありましたら、メーリングリストやIRCチャンネルで私たちにおたずねください。</p>
</div>
<div class="section" id="id3">
<h3>コアソフトウェアの移行<a class="headerlink" href="#id3" title="このヘッドラインへのパーマリンク">¶</a></h3>
<p>コアソフトウェアの移行手順はオペレーティングシステムによって異なります。
Bazaar 1.xからBazaar 1.yへの移行とBazaar 1.xからBazaar 2.0への移行には特に違いはありません。手順の概要は以下のようになります。</p>
<p>Linuxでの移行手順:</p>
<ol class="arabic">
<li><dl class="first docutils">
<dt>必要なソフトウェアのソースに関してお使いのパッケージマネージャの設定をおこなう。</dt>
<dd><p class="first last">たとえばUbuntuの正式なリリースのPPAは <a class="reference external" href="https://launchpad.net/~bzr/+archive">https://launchpad.net/~bzr/+archive</a> です。</p>
</dd>
</dl>
</li>
<li><p class="first">パッケージマネージャを使用して最新バージョンに移行する。</p>
</li>
</ol>
<p>Windowsでの移行手順:</p>
<ol class="arabic simple">
<li>「プログラムの追加と削除」で古いバージョンを削除する。</li>
<li>新しいバージョンのインストーラでインストールする。</li>
</ol>
<p>OS Xでの移行手順(インストーラを使用):</p>
<ol class="arabic simple">
<li>新しいバージョンのインストーラでインストールする。</li>
</ol>
<p>OS Xでの移行手順 (MacPortを使用):</p>
<ol class="arabic simple">
<li>package metadataを更新する。 <strong>sudo port selfupdate</strong></li>
<li>最新のバージョンに更新する。 <strong>sudo port upgrade bzr</strong></li>
</ol>
<p>インストールや移行に関する詳しい情報については <a class="reference external" href="http://bazaar-vcs.org/Download">http://bazaar-vcs.org/Download</a>
をごらんください。</p>
</div>
<div class="section" id="id4">
<h3>必要なプラグインの移行<a class="headerlink" href="#id4" title="このヘッドラインへのパーマリンク">¶</a></h3>
<p>多くのプラグインは特定のBazaarのバージョンに依存していないので、任意の作業です。
他のプラグイン、特にbzrtoolsとbzr-svnはBazaarのAPIにかたく結びついているので、
大体はコアソフトウェアとあわせて移行する必要があります。</p>
<p>WindowsやOS Xをお使いのかたは、bzrtoolsとbzr-svnはインストーラに付属していますので
移行にあたって特別な作業は必要ありません。LinuxやUNIXをお使いのかたは、bzrtools、bzr-svn
や他の著名なプラグインをインストールしたり移行作業をお使いのプラットホームのパッケージマネージャ
(たとえばUbuntuのSynaptic)でおこなうことができます。</p>
</div>
<div class="section" id="id5">
<h3>新しいデフォルトフォーマットへのデータ移行<a class="headerlink" href="#id5" title="このヘッドラインへのパーマリンク">¶</a></h3>
<p>冒頭でも説明しましたように新しいフォーマットへの移行に伴う複雑さはいくつかの要因、特にプロジェクトの
コミュニティの大きさに依存します。また、データがどのように保存されているかにも依存します。たとえば
standaloneブランチとか、複数のブランチがshared repositoryに格納されているかとか、Launchpad上の
stackedブランチかなどです。これらのシナリオについては次章で説明します。</p>
</div>
</div>
<div class="section" id="id6">
<h2>データ移行<a class="headerlink" href="#id6" title="このヘッドラインへのパーマリンク">¶</a></h2>
<div class="section" id="id7">
<h3>データ移行の準備<a class="headerlink" href="#id7" title="このヘッドラインへのパーマリンク">¶</a></h3>
<p>移行を開始する前に、最初におこなうべきことがあります。</p>
<ol class="arabic simple">
<li>完全にバックアップをとってください。</li>
<li>古いブランチを消去(purge)する時間をとってください。</li>
</ol>
<p>完全なバックアップはなにか悪いことがおきたときのセーフティネットとなります。</p>
<p>古いブランチの消去は移行対象となるデータを減らすことができます。これをおこなうためのいくつかのコツを
<a href="#id14"><span class="problematic" id="id15">`Finding obsolete branches`_</span></a>  でご覧ください。</p>
</div>
<div class="section" id="id8">
<h3>移行に関連するコマンドの紹介<a class="headerlink" href="#id8" title="このヘッドラインへのパーマリンク">¶</a></h3>
<p>データ移行時には注意すべき3つの重要なコマンドがあります。</p>
<ul class="simple">
<li><strong>check</strong> - リポジトリ、ブランチやツリーのデータ完全性に関するエラーのチェック。</li>
<li><strong>reconcile</strong> - データ完全性に関するエラーの修復。</li>
<li><strong>upgrade</strong> - 異なるデータフォーマットへの移行。</li>
</ul>
<p><strong>reconcile</strong> はめったに必要ではありませんが  <strong>check</strong> を <strong>upgrade</strong> の前後で行うことは良い習慣です。</p>
<p>これらのコマンドの詳細なヘルプは <a class="reference external" href="../user-reference/index.html">Bazaarユーザーリファレンス</a> をごらんください。</p>
</div>
<div class="section" id="id9">
<h3>あなたのコミュニティとのコミュニケーション<a class="headerlink" href="#id9" title="このヘッドラインへのパーマリンク">¶</a></h3>
<p>新しいフォーマットへのスムーズな移行を可能にするためには、以下が必須です:</p>
<ol class="arabic simple">
<li>trunkの移行を行う責任者を1人きめること。</li>
<li>trunkの移行試験が成功すること。</li>
<li>trunkを移行する時間の予定をたてることと、前もってあなたのコミュニティに知らせておくこと。</li>
</ol>
<p>事前に警告をしておくことによりコミュニティに所属する人々が 移行日より前に Bazaarや必要なpluginを移行するのに十分な余裕を持つことができるでしょう。</p>
<p>さらに大きなコミュニティにおいては、移行それ自身に要する時間に配慮しましょう。
試験移行の後でどのくらい移行に時間がかかるのかに関する良い案を持っておくべきです。移行を週末か金曜日に行うことで問題が発生したときにあなた自身が一息つける時間をとることができることは道理にかなっているでしょう。</p>
<p>trunkが移行したら、あなたはコミュニティに対して適切にお知らせし、彼らに彼ら自身のローカルブランチの移行説明書を示す必要があります。後ほど説明書の例を示します。</p>
</div>
<div class="section" id="id10">
<h3>スタンドアロンブランチの移行<a class="headerlink" href="#id10" title="このヘッドラインへのパーマリンク">¶</a></h3>
<p>作業手順は以下のとおりです。:</p>
<ol class="arabic simple">
<li><strong>bzr check</strong> を起動します。</li>
<li>もしエラーが発生したら、<strong>bzr reconcile</strong> を使ってエラーの修復をこころみてください。もしこれが失敗したら問題を解決してあなたのtrunkをクリーンにするために私たちがお手伝いできるようバグの報告ください。もし成功したならクリーンなtrunkなうちにバックアップをとってください。</li>
<li><strong>bzr upgrade &#8211;format</strong> を実行してください。<strong>format</strong> は 2a またはそれ以降のことです。</li>
<li><strong>bzr check</strong> を起動して最終結果が正しいかどうかを確認してください。</li>
</ol>
</div>
<div class="section" id="id11">
<h3>共用リポジトリ中のブランチを移行<a class="headerlink" href="#id11" title="このヘッドラインへのパーマリンク">¶</a></h3>
<p>移行は以下の手順で行ってください:</p>
<ol class="arabic simple">
<li>共用リポジトリの移行。</li>
<li>ブランチの移行。</li>
<li>軽量チェックアウトの移行。</li>
</ol>
<p>スタンドアロンブランチの例のように <strong>check</strong> を移行の前後に行って問題が存在していないか、あるいは問題がひきおこされていないかを確認してください。</p>
</div>
<div class="section" id="launchpad">
<h3>Launchpad上のブランチを移行<a class="headerlink" href="#launchpad" title="このヘッドラインへのパーマリンク">¶</a></h3>
<p>公開ブランチとプライベートブランチを独立させるために、Launchpadでは共用リポジトリではなく、スタックブランチをディスク容量の効率化の中心技術として使用しています。したがってLaunchpadをコードホスティングに使用しているプロジェクトでは新しいフォーマットへの移行は個人や社内でしようしているとはことなります。</p>
<p>手順は次のようになります:</p>
<ol class="arabic simple">
<li>指名された人がtrunkのコピーを持ち移行作業を実施します。</li>
<li>Launchpadにおいては 現在のtrunkを開発の中心(focus)からはずします。(これは <em>必ず</em> 実施してください、そうしないとこの後の手順が期待通りになりません。)</li>
<li>移行した trunk をLaunchpadに push します。</li>
<li>開発の中心(focus)に設定します。</li>
<li>古い trunk に登録しているユーザに対して新しい trunk へ登録するよう依頼します。</li>
</ol>
<p>つまり、これらの手順の意味は 古い trunk がいぜんとして有効でスタックされたブランチが存在し続けるということです。しかしながら開発の中心は移行後の trunk に切り替わっており、以後のLaunchpadにpushされるあなたのプロジェクトの新しいブランチは(移行後のtrunkに)スタックされます。</p>
<p>この時点であなたはあなたのコミュニティに対して 新しいtrunkが有効になったことを知らせ、彼らに彼らのローカルブランチを移行する説明する準備ができました。</p>
</div>
<div class="section" id="trunk">
<h3>中央の trunk が移行した後のローカルブランチ移行<a class="headerlink" href="#trunk" title="このヘッドラインへのパーマリンク">¶</a></h3>
<p>スタンドアロンブランチの移行手順:</p>
<ol class="arabic simple">
<li>中央リポジトリの場所から最新のブランチを新しいディレクトリに取得します。</li>
<li>既存のブランチの中のあなたが行った修正を新しいブランチへpullあるいはmergeします。</li>
</ol>
<p>ブランチを共用リポジトリに移行する手順:</p>
<ol class="arabic simple">
<li>新しい共用リポジトリを新フォーマット(2aあるいはそれ以降)で作成します。</li>
<li>中央リポジトリから最新のブランチを作成した共用リポジトリへ格納します。</li>
<li>あなたのローカルブランチで移行したいものを決定します。
(もし決定していなければ、もちろんバックアップした後、
<a href="#id16"><span class="problematic" id="id17">`Finding obsolete branches`_</span></a> をしてそのブランチを消去するのによい時間です。)</li>
<li>各ローカルブランチの移行に関して2つ選択肢があります。</li>
</ol>
<blockquote>
<div><ul class="simple">
<li>新しいリポジトリで1つ空のブランチを <strong>init</strong> して古いリポジトリからリビジョンを <strong>pull</strong> する。</li>
<li>新リポジトリにおいて、 trunkから新しいブランチに <strong>branch</strong> した後古いリポジトリにおいてあなたが行った変更を <strong>merge</strong> する。</li>
</ul>
</div></blockquote>
<p>前者の方法は(リビジョンの履歴という意味において)古いブランチと同一のブランチを得ることができる一方、parentブランチは古いブランチを指してしまい、新しいtrunkをさしません。もしあなたがこの方法をとった場合、おそらく branch.conf ファイルの parentブランチに関する設定をしなおしたくなるでしょう。</p>
<p>それに比較して後者の方法は parentブランチは正確に設定されます。しかし、もしあなたがすべての最新のリビジョンをtrunkからそのブランチにincludeする用意ができていない限り理想的な方法にはなりません。</p>
</div>
</div>
<div class="section" id="id12">
<h2>役立つヒントとコツ<a class="headerlink" href="#id12" title="このヘッドラインへのパーマリンク">¶</a></h2>
<div class="section" id="id13">
<h3>古いブランチを見つける<a class="headerlink" href="#id13" title="このヘッドラインへのパーマリンク">¶</a></h3>
<p>もしあなたが開発における各変更や個々に行っている拡張のためにブランチの機能を使っている場合、いくつかのもう必要とされないブランチを持つことになるかもしれません。たいていの場合、関係のある変更は trunkにマージされているはずです。そのほかの場合ブランチは自分あるいは他人が行った別の変更の結果、古くなっているはずです。</p>
<p>古いブランチをチェックするときには特に3つの点に注意があります。</p>
<ol class="arabic simple">
<li>ワーキングツリーは変更の途中でないこと。</li>
<li>ワーキングツリー内にはbzr shelveコマンドによって退避された変更をふくんでいないこと。</li>
<li>どんなローカルでコミットされたリビジョンもparentブランチにマージされていること。</li>
</ol>
<p>ブランチのルートディレクトリに移動したあと、これらの点を個々にチェックするためのコマンドは以下です:</p>
<div class="highlight-python"><div class="highlight"><pre>bzr status
bzr shelve --list
bzr missing --mine-only
</pre></div>
</div>
<p>もしあなたのブランチがローカルの共用リポジトリに入っているならば、(revision 159またはそれ以降の)Bazaar Explorerのリポジトリビューの中の <em>Local Changed</em> タブがあなたが選択したブランチについて、いまのところはshelveコマンドによって退避された変更を除き、上記の情報の概要を表示するので有用です。</p>
</div>
</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="#">Bazaar 2.0 移行ガイド</a><ul>
<li><a class="reference internal" href="#id1">概要</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="#id5">新しいデフォルトフォーマットへのデータ移行</a></li>
</ul>
</li>
<li><a class="reference internal" href="#id6">データ移行</a><ul>
<li><a class="reference internal" href="#id7">データ移行の準備</a></li>
<li><a class="reference internal" href="#id8">移行に関連するコマンドの紹介</a></li>
<li><a class="reference internal" href="#id9">あなたのコミュニティとのコミュニケーション</a></li>
<li><a class="reference internal" href="#id10">スタンドアロンブランチの移行</a></li>
<li><a class="reference internal" href="#id11">共用リポジトリ中のブランチを移行</a></li>
<li><a class="reference internal" href="#launchpad">Launchpad上のブランチを移行</a></li>
<li><a class="reference internal" href="#trunk">中央の trunk が移行した後のローカルブランチ移行</a></li>
</ul>
</li>
<li><a class="reference internal" href="#id12">役立つヒントとコツ</a><ul>
<li><a class="reference internal" href="#id13">古いブランチを見つける</a></li>
</ul>
</li>
</ul>
</li>
</ul>

  <h4>前のトピックへ</h4>
  <p class="topless"><a href="../user-guide/licence.html"
                        title="前の章へ">Licence</a></p>
  <h4>次のトピックへ</h4>
  <p class="topless"><a href="../user-reference/index.html"
                        title="次の章へ">Bazaarユーザーリファレンス</a></p>
  <h3>このページ</h3>
  <ul class="this-page-menu">
    <li><a href="../_sources/upgrade-guide/index.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" />
      <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="../user-reference/index.html" title="Bazaarユーザーリファレンス"
             >次へ</a></li>
        <li class="right" >
          <a href="../user-guide/licence.html" title="Licence"
             >前へ</a> |</li>
        <li><a href="../index.html">目次 (2.6.0)</a> &raquo;</li> 
      </ul>
    </div>
    <div class="footer">
        &copy; Copyright 2009-2011 Canonical Ltd.
      このドキュメントは <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3 で生成しました。
    </div>
  </body>
</html>