言い換えると、hgリポジトリを、外部リポジトリに対して最初にhgクローンを実行したとき、およびプルを実行する前に存在していた状態に戻す方法はありますか?
サーバーVMをFTP送信するときにスペースを節約しようとしていますが、hgリポジトリが他の場所に存在するため、それらを転送する理由はありません。もう一方の端で実行する必要があるのは、hg pull、hg updateだけで、再び実行できるようにサーバーを設定したいと思います。
言い換えると、hgリポジトリを、外部リポジトリに対して最初にhgクローンを実行したとき、およびプルを実行する前に存在していた状態に戻す方法はありますか?
サーバーVMをFTP送信するときにスペースを節約しようとしていますが、hgリポジトリが他の場所に存在するため、それらを転送する理由はありません。もう一方の端で実行する必要があるのは、hg pull、hg updateだけで、再び実行できるようにサーバーを設定したいと思います。
クローンを最小限に抑え、元のリポジトリから回復したいようです。ローカルコピーを完全に削除し、クローンパスのリストを保持して、それらを再び取得しないのはなぜですか?
それ以外の場合(および保持したいものをプッシュしたと仮定して)strip
、MercurialQueues拡張機能からのコマンドを使用して、でクローンのすべてのローカル履歴を削除し、hg strip 0 --no-backup
ですべてを戻すことができhg pull
ます。
いいえ、単一の水銀コマンドではありません。実行するhg pull
と、Mercurialはそのプル前の状態を記録しません。
ただし、クローンを作成したときのチェンジセットの記録を保持している場合(たとえば、追跡されていないファイルに書き込むだけで)、不要なすべてのチェンジセットを非常に効率的に取り除くことができます。Mercurial:チェンジセットの削除を参照してください
最後のプル以降、リポジトリの内部状態を変更した他のコマンドをコミットまたは実行していない場合は、hgrollbackを実行できます。