Clone wiki

thg-ja / SVN

TortoiseHg for SVN Users

SVN ユーザのための TortoiseHg

This page is intended as a compendium of links and helpful notes for Subversion users who are converting to, or at least trying out, Mercurial and TortoiseHg.

When learning Mercurial the first step should be the hgbook, available in html. Mercurial's wiki is also a key source.
Mercurial を学ぶときに最初にあたるべき情報は the hgbook (英語) (html 日本語) です。 Mercurial の wiki も重要な情報元です。

SVN から Mercurial に変換したプロジェクトへのリンク


Using TortoiseHg with a Subversion like workflow

Subversion のようなワークフローで TortoiseHg を使う

As you first begin using TortoiseHg, you may want to configure some of these optional features to approach a more subversion like work flow. See the settings tool manual to learn how to configure these settings either globally or per-repository.
グローバルに、またはリポジトリ毎のこれらの設定を構成する方法については、マニュアル 設定ダイアログ を参照してください。

Post-Pull Operations

Pull 後の処理

After changesets are pulled from a remote repository, TortoiseHg can perform an automated function. In the settings tool, this option can be found at the top of the Sync tab. リモートリポジトリから変更を取り込んだ後、 TortoiseHg は自動化された機能を実行することができます。設定ツールの中の同期タブの先頭にこのオプションがあります。

  1. Update - checkout the new tip changeset on your current branch. If you have uncommitted changes, this can result in a three way merge if changes in the new tip conflict with your changes (rare, but possible).
    更新 - 現在のブランチの新しい先端のチェンジセットを取り出します。コミットされていない変更がある場合で、新しい先端のと自分の変更が競合した場合は3-way マージの結果を得ます。(レアケースですが、可能です)
  2. Fetch - automatically merge your local changesets with the pulled changesets. Requires the fetch extension to be enabled. Does not perform any merge if your repository has uncommitted changes.
    フェッチ - 自動的にローカルのチェンジセットと取り込んだチェンジセットをマージします。フェッチ拡張が有効になっている必要があります。コミットされていない変更がある場合は、フェッチは実行されません。
  3. Rebase - automatically rebase your local changesets onto the top of the pulled changesets. Requires the rebase extension to be enabled. Does not perform a rebase if your repository has uncommitted changes.
    リベース - 自動的にローカルのチェンジセットをとりこんだチェンジセットの先頭にリベースします。リベース拡張が有効になっている必要があります。コミットされていない変更がある場合は、リベースは実行されません。

This setting can also be changed on the fly in the Repository Explorer before you perform a pull, in case you want to change your default behavior for a single operation. 単一の操作のデフォルトの動作を変更したい場合、リポジトリエクスプローラで pull を実行する前に動的にこの設定を変更できます。

Post-Commit Push

コミット後の Push

This setting can be found on the commit tab of the settings tool. When enabled, TortoiseHg will attempt to push your local changesets to your default upstream repository after every successful commit.
設定ツールのコミットタブに設定があります。 有効にした場合、 TortoiseHg はコミットが成功するたびにローカルの変更点をデフォルトの上流リポジトリに push しようとします。



By default, TortoiseHg will use kdiff3 (a graphical three way merge tool) to resolve merge conflicts. You have a number of other options. On the TortoiseHg tab of the settings tool, you will find a 'Three-way Merge Tool' configurable. デフォルトでは TortoiseHg はマージの競合を解決するために kdiff3(GUI の 3-way マージツール) を使用します。設定ツールのTortoiseHgのタブに、"3-way マージツール" の設定があり、別のマージツールを選択できます。

  1. If you have TortoiseSVN installed and prefer TortoiseMerge you can select TortoiseMerge from the drop-down list.
    TortoiseSVN がインストール済みで TortoiseMerge を使用したい場合はドロップダウンリストから TortoiseMerge を選択できます。
  2. If you prefer P4Merge, or some other tool supported by Mercurial, it will automatically show up in the drop-down list.
    P4Merge やその他 Mercurial がサポートしているツールの使用したい場合は、自動的にドロップダウンリストに表示されます。
  3. If you want Mercurial to write the .BASE .LOCAL .OTHER versions for you to manually merge, chose internal:dump
    手動でマージするために Mercurial に .BASE .LOCAL .OTHER のファイルを出力させたい場合は、 internal:dump を選びます。
  4. If you want Mercurial to prompt you whether to keep either the local or other version, chose internal:prompt
    Mercurial にローカルまたは他のバージョンを保持するかどうかのプロンプトを表示させたい場合は、 internal:prompt を選びます。
  5. If you want Mercurial to perform trivial merges internally, and leave conflict markers in place on conflicts, chose internal:merge
    Mercurial に内部的に単純なマージを行い、競合箇所にコンフリクトマーカーを残させたい場合は、 internal:merge を選びます。

See merge-tools for a description of how to configure an external merge tool that was not supported "out of the box."
バンドルされていない外部マージツールの設定方法の詳細については merge-tools を参照してください。

Using TortoiseHg as a client for a Subversion server

Subversion クライアントとして TortoiseHg を使う

hgsubversion should work with TortoiseHg "out of the box", since TortoiseHg Windows installers include the SVN python bindings required by hgsubversion. Simply clone the extension to your machine, enable it, read its documentation. then clone your subversion repository.
TortoiseHg の Windows インストーラが hgsubversion が必要とする SVN の Python バインディングを含むようになってから、hgsubversion は TortoiseHg ですぐに動作するはずです。 単にあなたのマシンに hgsubversion 拡張をクローンし、有効にして、ドキュメントを読んでください。その後、Subversionのリポジトリをクローンします。

mkdir C:\repos
hg clone C:\repos\hgsubversion

Add lines like these to your Mercurial.ini file
次のような行を Mercurial.ini に追加してください

hgsubversion = C:\repos\hgsubversion

Make a test clone:

hg clone svn+ python-hg

Mercurial Wiki へのリンク

See also