web-dev-qa-db-ja.com

Hg:履歴を失わずにファイルを(サブフォルダーに)移動する方法は?

履歴を失わずにファイルを(サブフォルダーに)移動する方法は?

私のMercurialリポジトリ(.hgが含まれるフォルダーを意味します)には、すべてのプロジェクトファイルを含むMyProject /フォルダーがあります。次に、src /フォルダーを内部に作成し、そこにすべてのファイルを移動する必要があります(MyProject /からMyProject/src /)。すべての履歴を失うことなくそれを行うにはどうすればよいですか?

48
AlexP11223
hg mv 

正しいことをしますが、hg logオプションを指定しない限り、-fは移動後のエントリをリストしません。詳細については、この質問を参照してください

なぜ 'hg mv'(Mercurial)はデフォルトでファイルの履歴を移動しないのですか?

これを実行した後、-fオプションをhg logに追加して、リポジトリのhgrcファイルに追加することができます。

.hg/hgrc

[defaults] 
log = -f 

「tortoisehg」タグがあるので、GUIを使用してこれを行う方法を説明すると思いました。

通常、IDEまたはWindowsエクスプローラーでファイルの名前を変更/移動するだけで、コミットすると、THGは(?)不明なファイルと(R)削除されたファイルを表示します。いずれかのファイルを右クリックして[名前の変更を検出...]を選択し、[名前の変更を検索]ボタンをクリックします。

必要なすべてのファイルと必要なファイルのみを取得するまで、[Min Similarity]スライダーを調整する必要がありますが、通常は非常に簡単です。

46
mo.

Tortoise HGがインストールされたWindowsには、これを非常にうまく処理するWindows Shell拡張機能があります。

Windowsエクスプローラーで、移動するファイルを右クリックして、目的のフォルダーにドラッグします。次に、次の選択肢を提供するポップアップが表示されます。

HGバージョン項目をここに移動

HGバージョン化されたアイテムをここにコピー

10
Eric Goldsmith

つかいます hg mvを使用してファイルを移動し、hg log -f(フォロー)名前の変更を含む履歴を表示します。

5
Stephen Rasku