Subversionは:私は、一度に複数のチェックアウトしたフォルダをコミットすることはできますか?
-
12-09-2019 - |
質問
のは、私は私のファイルシステムに散在私のSVNリポジトリから、いくつかの異なるフォルダのコピーを作業しているとしましょう。彼らの親ディレクトリは、リポジトリの一部ではありません。例えばます。
somedir1\
workingcopyOfA\
workingcopyOfB\
somedir2\
somedir3\
workingcopyOfC\
workingcopyOfD\
今、彼らはすべて私がチェックインするために一回(単純化のために一つだけの新しいリビジョン番号を使用して、利便性のために一度だけsvn
を呼び出す)で希望の変更が含まれています。
これは可能ですか?これはチェンジがために意図されているとは何ですか?私は (そこにいくつかの同様の質問がここにSOのですが、彼らは別の問題を参照してください。) 編集:明確にするには、次の作業コピーはすべて同じリポジトリに属しているが、別の部分に、すなわち、リポジトリは次のようになります:svn
RepoDirA\
RepoDirB\
RepoDirC\
RepoDirD\
解決
、それは(特にDガルシアの回答を参照)ことはできません。
日食はそれのようなものをサポートしている場合は、、私はそれがあなたの背中の後ろに複数のチェックインを作成する疑います。
何が可能であることは(彼らが重なった場合)1つの作業ディレクトリの変更をdiffをし、他の作業ディレクトリにそれらの変更を適用することです。あなたはそれをやった後は、すべての変更は、あなたがからチェックすることができ、単一の作業ディレクトリです。 Dガルシアがで指摘合併問題は今、パッチ時に解決するためにあなたの責任です。
あなたの作業ディレクトリであれば、のないの重複、そしてあなたは、複数の作業ディレクトリを持っている唯一の理由は、例えばありますあなたは)私はあなたの作業ディレクトリの共通ルートに階層をチェックアウトするが、非再帰的(svn co -N root
を使用して)、その後、中間ディレクトリに対してsvn update path/to/subsetOfInterest
で特定の作業ディレクトリを取得することを提案、リポジトリ全体を引っ張ってほしくありませんでした。そうすれば、それらはすべて同じ作業ディレクトリ内住んでおり、アトミックその上で動作することができます。
他のヒント
私は、Eclipseがこれを行うことができます知っているが、おそらく、彼らは内部にいくつかのトリックを使用しています(例えば、CVSやSVNで他にあるものについても、異なるリポジトリを使用するプロジェクトをコミットすることができますので)
私は自分のクライアントでそれを試してみることをお勧め。それが動作しない場合は、エラーを出力します。あなたは、おそらく何かを破ることはできません。
それはあなたができることを表示されません。私は頻繁に複数の作業コピーをチェックアウトしたところ、私は、ここでそれを試してみました。 Subversionはそこにはあなたがチェックしようとしているフォルダの共通ルートにはの.svnディレクトリされていない程度不機嫌になります。
もちろん、すべての作業コピーが同じリポジトリのパスを参照する場合 - できるようにする、本当に厄介なものになるでしょう。あなたは、基本的には紛争解決の楽しみを作ることができリポジトリにそれらを置く前にローカル変更の4セットをマージする転覆を期待するだろう:)
これは転覆1.4.5とあったことに注意してください。
1.5ではそれがチェンジが同じ作業ディレクトリに変更の複数のワーキングセットを持つ、むしろ複数の作業ディレクトリを持つよりも、それらを別々に扱うことができることと、一方のエンティティとしてそれらをINGの扱いについてもっとあると思われます。
私はそれがないのTortoiseSVNとコマンドラインとしないことで、可能性はないと思います。しかし、これを可能にするツールがあるかもしれません。あなたはまたのためのバッハ・スクリプトを書くことができます。
のチェンジは、あなたが別々にそれらをグループ化する1 workingcopyでいくつかの変更にコミットすることができますことができますので、ここで、何か他のものです。
私は、チェンジセットがリポジトリごとでリポジトリに維持されていると思います - ので、あなたの例では、作業コピーはB&Cはすべて同じリポジトリになければならないであろう。 そして、あなたは同じチェンジリストに個別に作業コピーのそれぞれを追加する必要があると思います。
私は(完了まで)、それをテストすることはできませんが、セットアップが動作しているようです。