0

「svn merge --reintegrate」を使用すると、トランク上で削除されたブランチ ファイルが削除されたことに関して、ブランチがトランクに正常にマージされました。これは私が期待し、望んでいたものです。良い。

ただし、ブランチに追加されたファイルはトランクに追加されませんでした。「svn merge --reintegrate」は追加されたファイルをトランクの作業ディレクトリにコピーしましたが、それらはsvnに追加されず、もちろんコミットされませんでした。私はこれを期待していませんでした。悪い。

ファイルの削除やファイルの追加など、ブランチからトランクへの変更を安全にマージするにはどうすればよいですか?

これが私がしたことです

my-bug-fix ブランチは、トランクの最後の公式リリースから作成されました。これは単一の開発者プロジェクトですが、マージを台無しにしてビルドを壊すことができました。

マージする前に、ブランチとトランクの両方を「ステージング」フォルダーにチェックアウトして、差分を簡単に作成できるようにしました。コミットする前に、マージが期待どおりであることを差分が保証してくれることを望んでいました。残念ながら、diff は、追加されたファイルが svn に追加されていないことを知りませんでした。

mkdir merge-staging
cd merge-staging
svn co https://myserver.com:8443/svn/myproject/branches/my-bug-fix/ branch
svn co https://myserver.com:8443/svn/myproject/trunk/ trunk
cd trunk
svn merge --reintegrate https://myserver.com:8443/svn/myproject/branches/my-bug-fix/
echo Perform diff between branch and trunk to verify the trunk now matches branch.
diff -r  --exclude=".svn" branch/ trunk/

svn --version
svn, version 1.6.15 (r1038135)
   compiled Nov 25 2010, 00:08:34

[esutton@esutton-vm-rhel merge]$ svn status trunk
X       trunk/common/externals
?       trunk/common/scripts/strip-dbg-sym.sh

どんな指示でも事前に感謝します、-Ed

4

1 に答える 1

1
  1. の場合merge --reintegrate、前に my-bug-fix ブランチにマージされたトランクが表示されないのはなぜですか?
  2. コマンドの実際の出力が表示されないのはなぜですか?
  3. なぜ私はあなたを見ることができないのsvn --versionですか?
  4. 問題のリビジョンのレポの「svn log -v -q」が表示されないのはなぜですか?
  5. svn statusdiff の代わりに使用できます

問題に戻る:

記載の効果を確認・再現できない

>svn log -v file:///Z:/Repo
------------------------------------------------------------------------
r9 | Badger | 2013-04-23 07:32:26 +0600 (Вт, 23 апр 2013) | 1 line
Changed paths:
   M /trunk
   M /trunk/fleA.txt
   D /trunk/fleB.txt
   A /trunk/fleC.txt (from /branches/corrections/fleC.txt:8)

Reintegrated branch to trunk
------------------------------------------------------------------------
r8 | Badger | 2013-04-23 07:30:04 +0600 (Вт, 23 апр 2013) | 1 line
Changed paths:
   M /branches/corrections
   M /branches/corrections/fleA.txt

Merged trunk to branches/corrections
------------------------------------------------------------------------
r7 | Badger | 2013-04-23 07:25:40 +0600 (Вт, 23 апр 2013) | 1 line
Changed paths:
   D /branches/corrections/fleB.txt

Deleted fleB.txt
------------------------------------------------------------------------
r6 | Badger | 2013-04-23 07:24:57 +0600 (Вт, 23 апр 2013) | 1 line
Changed paths:
   A /branches/corrections/fleC.txt

Added fleC.txt
------------------------------------------------------------------------
r5 | Badger | 2013-04-23 07:23:37 +0600 (Вт, 23 апр 2013) | 2 lines
Changed paths:
   M /branches/corrections/fleA.txt

Added string to fleA.txt

------------------------------------------------------------------------
r4 | Badger | 2013-04-23 07:22:12 +0600 (Вт, 23 апр 2013) | 2 lines
Changed paths:
   M /trunk/fleA.txt

Edited fleA.txt

------------------------------------------------------------------------
r3 | Badger | 2013-04-23 07:20:25 +0600 (Вт, 23 апр 2013) | 1 line
Changed paths:
   A /branches/corrections (from /trunk:2)

Branch for changes
------------------------------------------------------------------------
r2 | Badger | 2013-04-23 07:17:25 +0600 (Вт, 23 апр 2013) | 1 line
Changed paths:
   A /trunk/fleA.txt
   A /trunk/fleB.txt

Starting point
------------------------------------------------------------------------
r1 | Badger | 2013-04-23 07:15:06 +0600 (Вт, 23 апр 2013) | 1 line
Changed paths:
   A /branches
   A /tags
   A /trunk

Imported folder structure
------------------------------------------------------------------------

>svn ls -v file:///Z:/Repo/trunk
      9 Badger                апр 23 07:32 ./
      9 Badger             52 апр 23 07:32 fleA.txt
      9 Badger             40 апр 23 07:32 fleC.txt
于 2013-04-23T01:46:20.203 に答える