1

Tortoise SVNを使用して、次のことが可能かどうか疑問に思いました

  1. 作業コピーを古いリビジョンに更新します
  2. いくつかの変更を加えてコミットします。
  3. HEADに戻る
  4. 手順2のコミットからの変更をマージします。

ありがとう、

4

1 に答える 1

1

いいえ、できません-ステップ2から開始します

svn ci -m "123"
Sending        file.txt
svn: E155011: Commit failed (details follow):
svn: E155011: File 'Z:\wc\file.txt' is out of date
svn: E160028: File '/trunk/file.txt' is out of date

トイレ:

svn log -q
------------------------------------------------------------------------
r4 | Badger | 2012-12-11 06:53:57 +0600 (Вт, 11 дек 2012)
------------------------------------------------------------------------
r3 | Badger | 2012-12-11 06:53:32 +0600 (Вт, 11 дек 2012)
------------------------------------------------------------------------
r2 | Badger | 2012-12-11 06:53:09 +0600 (Вт, 11 дек 2012)
------------------------------------------------------------------------
r1 | Badger | 2012-12-11 06:50:27 +0600 (Вт, 11 дек 2012)
------------------------------------------------------------------------

レポ:

svn log -q file:///Z:/repo
------------------------------------------------------------------------
r7 | Badger | 2012-12-11 06:58:43 +0600 (Вт, 11 дек 2012)
------------------------------------------------------------------------
r6 | Badger | 2012-12-11 06:56:00 +0600 (Вт, 11 дек 2012)
------------------------------------------------------------------------
r5 | Badger | 2012-12-11 06:54:31 +0600 (Вт, 11 дек 2012)
------------------------------------------------------------------------
r4 | Badger | 2012-12-11 06:53:57 +0600 (Вт, 11 дек 2012)
------------------------------------------------------------------------
r3 | Badger | 2012-12-11 06:53:32 +0600 (Вт, 11 дек 2012)
------------------------------------------------------------------------
r2 | Badger | 2012-12-11 06:53:09 +0600 (Вт, 11 дек 2012)
------------------------------------------------------------------------
r1 | Badger | 2012-12-11 06:50:27 +0600 (Вт, 11 дек 2012)
------------------------------------------------------------------------

説明(ショートバージョン)

サブバージョン履歴は線形(ノード内)であり、DAGではありません。つまり、すべての変更はHEAD状態の後に表示される必要があります。古いリビジョンに更新し、このリビジョンのソースを編集して、変更を保存および統合した後

  • svn up to HEAD(そしてローカルの変更をHEADとマージします)、マージされた結果で新しいリビジョンをコミットします

また

  • 他の(新しい)ツリー(ブランチ)に切り替え、ブランチをコミットし、ブランチを古いツリーとマージします
于 2012-12-11T01:10:47.463 に答える