Source

cointoss1973.bitbucket.org / thg / html / shelve.html

<!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>4.6. シェルフ &mdash; TortoiseHg 1.0.0 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:     '1.0.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="top" title="TortoiseHg 1.0.0 documentation" href="index.html" />
    <link rel="up" title="4. TortoiseHg ダイアログ" href="daily.html" />
    <link rel="next" title="4.7. チェンジログ" href="changelog.html" />
    <link rel="prev" title="4.5. コミット" href="commit.html" /> 
  </head>
  <body>
    <div class="related">
      <h3>ナビゲーション</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="総合索引"
             accesskey="I">索引</a></li>
        <li class="right" >
          <a href="py-modindex.html" title="Pythonモジュール索引"
             >モジュール</a> |</li>
        <li class="right" >
          <a href="changelog.html" title="4.7. チェンジログ"
             accesskey="N">次へ</a> |</li>
        <li class="right" >
          <a href="commit.html" title="4.5. コミット"
             accesskey="P">前へ</a> |</li>
        <li><a href="index.html">TortoiseHg 1.0.0 documentation</a> &raquo;</li>
          <li><a href="daily.html" accesskey="U">4. TortoiseHg ダイアログ</a> &raquo;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="module-shelve.dialog">
<span id="id1"></span><h1>4.6. シェルフ<a class="headerlink" href="#module-shelve.dialog" title="このヘッドラインへのパーマリンク"></a></h1>
<div class="admonition warning">
<p class="first admonition-title">警告</p>
<p class="last">win32text 拡張機能はハンク選択で問題を引き起こす可能性があります。この問題は
Mercurial 1.3 と TortoiseHg 0.8 において解決されましたが、適切な設定が
必要です。詳しくは
<a class="reference external" href="http://bitbucket.org/tortoisehg/stable/issue/82/">issue #82</a>
をご覧ください。</p>
</div>
<p>このダイアログは作業ディレクトリにおける変更点のうち、必要な部分のみを選択して <em>シェルフ</em>
(一時的に別の場所に保管しておく) するために使います。シェルフした変更点は特別なパッチとして
リポジトリに格納され、いつでもその変更点を作業ディレクトリに戻すことができます。</p>
<div class="figure">
<img alt="シェルフダイアログ" src="_images/shelve.png" />
<p class="caption">シェルフダイアログ</p>
</div>
<p>ツールバーボタンを左から順に見ていきます:</p>
<blockquote>
<div><dl class="docutils">
<dt><em class="guilabel">シェルフ</em></dt>
<dd>チェックされたファイルの選択されたハンクをシェルフします。</dd>
<dt><em class="guilabel">シェルフから戻す</em></dt>
<dd>シェルフされた変更点を作業ディレクトリに戻します。</dd>
<dt><em class="guilabel">差分</em></dt>
<dd>チェックの入っているファイルの GUI 差分を表示します。</dd>
<dt><em class="guilabel">元に戻す</em></dt>
<dd>チェックされているファイルを変更を加える前の状態に戻します。
その変更がマージの場合はどちらの親リビジョンに戻すか選択できます。</dd>
<dt><em class="guilabel">追加</em></dt>
<dd>チェックされている不明ファイル &#8216;?&#8217; または無視ファイル &#8216;I&#8217; を追加します。</dd>
<dt><em class="guilabel">移動</em></dt>
<dd>チェックされているファイルを指定されたディレクトリに移動します。</dd>
<dt><em class="guilabel">削除</em></dt>
<dd>チェックされているファイルを削除します。</dd>
<dt><em class="guilabel">破棄</em></dt>
<dd>チェックされている管理済みファイルを破棄します。</dd>
<dt><em class="guilabel">再読み込み</em></dt>
<dd>作業ディレクトリの状態を再読み込みします。
再読み込み後もチェックボックスの選択状態は保たれます。</dd>
</dl>
</div></blockquote>
<p>ファイル一覧には4つの列があります:</p>
<blockquote>
<div><ol class="arabic simple">
<li>各種操作のためにそのファイルが選択されているかどうかを示すチェックボックス。
ツールバーボタンによる操作はチェックされているファイルにのみ行なわれます。
部分選択状態のファイルについては特殊なチェック状態となります。
この列のヘッダを使えばすべてのファイルをチェックしたりチェックを外したりできます。</li>
<li><em class="guilabel">状態</em> 列には Mercurial の status コマンドで使用されている
ファイル状態を示す &#8216;MARD?IC&#8217; のうちの1つが表示されます。</li>
<li><em class="guilabel">マージ</em> 列はそのファイルのマージ状態を示しており、Mercurial の
resolve コマンドで使用されている &#8216; RU&#8217; のうちどれか1つが表示されます。</li>
<li>リポジトリルートを基準としたファイルパスが表示されます。</li>
</ol>
</div></blockquote>
<p>ファイル一覧の下に並んだチェックボックスは
{M:変更, A:追加, R:削除, !:削除, ?:不明, C:クリーン, I:無視}
のファイル状態ごとにファイル一覧に表示するかどうかを設定できます。
このチェックボックスはコミットツールからファイルまたはディレクトリを指定された場合には
無効になります。</p>
<div class="section" id="id2">
<h2>4.6.1. タブ<a class="headerlink" href="#id2" title="このヘッドラインへのパーマリンク"></a></h2>
<p>シェルフツールの差分表示パネルには4つのタブがあります:</p>
<blockquote>
<div><ol class="arabic">
<li><p class="first">テキスト差分 - 選択されているファイルの差分が表示されます</p>
</li>
<li><p class="first">ハンク選択 - 選択されているファイルのハンク選択状態を変更できます</p>
</li>
<li><dl class="first docutils">
<dt>シェルフプレビュー - すべての選択されている変更点が表示されます。このプレビュー</dt>
<dd><p class="first last">に表示されている内容が作業ディレクトリから取り除かれてシェルフに格納されます。</p>
</dd>
</dl>
</li>
<li><p class="first">シェルフ内容 - シェルフに格納されている内容が表示されます</p>
</li>
</ol>
</div></blockquote>
</div>
<div class="section" id="id3">
<h2>4.6.2. 変更点をシェルフする<a class="headerlink" href="#id3" title="このヘッドラインへのパーマリンク"></a></h2>
<p>このダイアログはコミットツールのように TortoiseHg のハンク選択機能を採用しており、
シェルフに移動したいファイルおよび変更点をユーザが選択できます。シェルフボタンを
押すと、選択された変更点が作業ディレクトリから削除され、パッチファイルとして保存されます。
既にシェルフされた変更点が存在する場合はその変更点と置き換えるか、もしくは新しい変更点を
それにマージするか尋ねられます。シェルフに変更点があるときのみシェルフから戻すボタンが
有効になります。</p>
</div>
<div class="section" id="id4">
<h2>4.6.3. シェルフした変更点を戻す<a class="headerlink" href="#id4" title="このヘッドラインへのパーマリンク"></a></h2>
<p>シェルフから戻すボタンが押されると、シェルフした変更点が作業ディレクトリに再適用されます。</p>
<div class="admonition note">
<p class="first admonition-title">ノート</p>
<p class="last">シェルフから戻した後、シェルフツールを再読み込みすると、シェルフから戻された変更点は
作業ディレクトリへの変更として表示されます。</p>
</div>
<div class="section" id="record-commit">
<h3>4.6.3.1. record/commit とはどう違うのか?<a class="headerlink" href="#record-commit" title="このヘッドラインへのパーマリンク"></a></h3>
<p>シェルフされた変更点はそれが戻されるまで実際に作業ディレクトリから取り除かれます。
これはシェルフされている状態でもプロジェクトをビルドしたり、テストを実行したり
できることを意味しています。コミットされた変更点が有効かどうか試すことができるので、
ビルド時に変更点を選択するより安全と言えます。</p>
<p>変更点をシェルフすることは完成した作業結果からデバッグ用コードを取り除くこどで動作に
影響がないか確かめるのに便利です。</p>
<p>注意:シェルフされた変更点は作業ディレクトリの内容を基準としたパッチに保管されます。
そのためもしシェルフ後の変更と衝突を起こした場合、そのパッチがキレイに再適用できる
という保証はありません。</p>
</div>
<div class="section" id="mq">
<h3>4.6.3.2. MQ とはどう違うのか?<a class="headerlink" href="#mq" title="このヘッドラインへのパーマリンク"></a></h3>
<p>シェルフはチェンジセットに変換されない単一の無名 MQ パッチと見なすことができます。</p>
<p>しかしシェルフツールは MQ でパッチを管理していても便利に使えます。
シェルフは MQ のパッチから変更点の一部を取得し、それらを別の MQ パッチ
(または完全に新しいパッチ) に再適用できます。</p>
<dl class="docutils">
<dt>例えば:</dt>
<dd><ol class="first last arabic simple">
<li>分割したいパッチに変更をプッシュする</li>
<li>シェルフツールを開く (最上位のパッチがハンク選択可能になる)</li>
<li>そのパッチに残したいハンクの選択を解除して、 <em class="guilabel">シェルフ</em> ボタンを押す</li>
<li>コマンドラインから <strong class="command">hg qrefresh</strong> するかコミットツールの
<em class="guilabel">QRefresh</em> ボタンで最上位のパッチを更新する</li>
<li><strong class="command">qpush</strong> または <strong class="command">qpop</strong> してシェルフした変更を適用したい
パッチに移動する</li>
<li>シェルフツールを開いて <em class="guilabel">シェルフから戻す</em> ボタンを押す</li>
<li>最上位のパッチを更新する (手順4に戻る)</li>
</ol>
</dd>
</dl>
<p>追加、削除、名前変更されたファイルをシェルフすることはできませんが、
MQ ならそれが可能です。</p>
</div>
<div class="section" id="attic">
<h3>4.6.3.3. attic 拡張機能とはどう違うのか?<a class="headerlink" href="#attic" title="このヘッドラインへのパーマリンク"></a></h3>
<p>attic 拡張機能はシェルフ機能の上位版です。具体的には attic は独立した複数の名前付き
<em>シェルフ</em> を保持することができます。</p>
</div>
</div>
<div class="section" id="id5">
<h2>4.6.4. キーボードショートカット<a class="headerlink" href="#id5" title="このヘッドラインへのパーマリンク"></a></h2>
<dl class="docutils">
<dt><em class="guilabel">Ctrl-C</em></dt>
<dd>差分表示パネルで現在ハイライト (選択ではない) されているハンクをクリップボードに
コピーします。コピーしたハンクをテキストエディタに貼り付ければ、作業ディレクトリに
おける変更点から任意のパッチを作り出すのに使えます。</dd>
</dl>
<p>クリップボードにコピーされたハンクは差分ヘッダが付加されるため、クリップボードの内容は
常に有効なパッチとして利用できます。</p>
</div>
<div class="section" id="id6">
<h2>4.6.5. オプション設定<a class="headerlink" href="#id6" title="このヘッドラインへのパーマリンク"></a></h2>
<ul class="simple">
<li><em class="menuselection">TortoiseHg ‣ 差分を画面下部に表示</em></li>
<li><em class="menuselection">TortoiseHg ‣ タブ文字の幅</em></li>
<li><em class="menuselection">TortoiseHg ‣ 最大差分サイズ</em></li>
</ul>
</div>
<div class="section" id="id7">
<h2>4.6.6. コマンドラインからの実行<a class="headerlink" href="#id7" title="このヘッドラインへのパーマリンク"></a></h2>
<p>シェルフツールはコマンドラインから起動することもできます:</p>
<div class="highlight-python"><pre>hgtk shelve

aliases: unshelve

shelve/unshelve tool

use "hgtk -v help shelve" to show global options</pre>
</div>
<p>TortoiseHg のシェルフ機能を Mercurial のコマンドラインから使うには、
Mercurial.ini ファイルで以下のように拡張機能を有効化してください:</p>
<div class="highlight-python"><pre>[extensions]
tortoisehg.util.hgshelve=</pre>
</div>
<p>これにより Mercurial に <strong class="command">shelve</strong> および <strong class="command">unshelve</strong>
コマンドが追加されます。</p>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
            <p class="logo"><a href="index.html">
              <img class="logo" src="_static/thg_logo_92x50.png" alt="Logo"/>
            </a></p>
  <h3><a href="index.html">目次</a></h3>
  <ul>
<li><a class="reference internal" href="#">4.6. シェルフ</a><ul>
<li><a class="reference internal" href="#id2">4.6.1. タブ</a></li>
<li><a class="reference internal" href="#id3">4.6.2. 変更点をシェルフする</a></li>
<li><a class="reference internal" href="#id4">4.6.3. シェルフした変更点を戻す</a><ul>
<li><a class="reference internal" href="#record-commit">4.6.3.1. record/commit とはどう違うのか?</a></li>
<li><a class="reference internal" href="#mq">4.6.3.2. MQ とはどう違うのか?</a></li>
<li><a class="reference internal" href="#attic">4.6.3.3. attic 拡張機能とはどう違うのか?</a></li>
</ul>
</li>
<li><a class="reference internal" href="#id5">4.6.4. キーボードショートカット</a></li>
<li><a class="reference internal" href="#id6">4.6.5. オプション設定</a></li>
<li><a class="reference internal" href="#id7">4.6.6. コマンドラインからの実行</a></li>
</ul>
</li>
</ul>

  <h4>前のトピックへ</h4>
  <p class="topless"><a href="commit.html"
                        title="前の章へ">4.5. コミット</a></p>
  <h4>次のトピックへ</h4>
  <p class="topless"><a href="changelog.html"
                        title="次の章へ">4.7. チェンジログ</a></p>
  <h3>このページ</h3>
  <ul class="this-page-menu">
    <li><a href="_sources/shelve.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="genindex.html" title="総合索引"
             >索引</a></li>
        <li class="right" >
          <a href="py-modindex.html" title="Pythonモジュール索引"
             >モジュール</a> |</li>
        <li class="right" >
          <a href="changelog.html" title="4.7. チェンジログ"
             >次へ</a> |</li>
        <li class="right" >
          <a href="commit.html" title="4.5. コミット"
             >前へ</a> |</li>
        <li><a href="index.html">TortoiseHg 1.0.0 documentation</a> &raquo;</li>
          <li><a href="daily.html" >4. TortoiseHg ダイアログ</a> &raquo;</li> 
      </ul>
    </div>
    <div class="footer">
        &copy; Copyright 2010, Steve Borho、他.
      このドキュメントは <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3 で生成しました。
    </div>
  </body>
</html>
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.