私はトランクにマージしたいブランチで行った修正をいくつか持っています。ブランチ全体をトランクにマージするのではなく、実行したいくつかのブランチチェックインのみを実行します。これを行うための正しい構文は何ですか?
TY、フレッド
タイトルが単一のファイルのマージについて語っているので、あなたが何を求めているのか正確にはわかりませんが、質問のテキストは単一のリビジョンについて語っています。単一のリビジョンをマージする場合、以下が必要です:(リビジョン100、105、115でコミットされた変更をマージするには)
cd trunk
svn merge -c 100 -c 105 -c 115 http://..../branches/mybranch .
File.cppに影響するリビジョン100の部分のみをマージする場合:
cd trunk/path/to/file.cpp
svn merge -c 100 http://../branches/mybranch/path/to/file.cpp file.cpp
ブランチ全体をマージする必要があります。 svn 1.5以降、マージされたものに関する情報はリポジトリに保存されます-svn:mergeinfo
プロパティ。個々のファイルをマージする場合svn:mergeinfo
はツリーの奥深くに設定されます。誰かがプロジェクトの最上部からマージしようとすると、svn:mergeinfo
は存在せず、彼らはそのチェンジセットを採用することを決定する必要があります。本当にマージしたくない場合は、プロジェクトの最上部からマージし、最上位ディレクトリ(svn:mergeinfo
が唯一の変更となります)、必要なファイル。