2

シンプルな SVN プロジェクト レイアウトをセットアップします。

svnadmin create proj-repo
svn co file://$PWD/proj-repo proj
cd proj
mkdir branches trunk tags features
svn add *
svn ci -m 'Basic SVN project setup.'

プロジェクトを開始:

cd trunk
svn add README
svn ci -m 'Add README'

実装機能:

svn cp . ^/features/linux-port
cd ../../
svn co file://$PWD/proj-repo/features/linux-port proj-linux-port
cd proj-linux-port
svn ci -m "Implement feature 1."
svn ci -m "Implement feature 2."
svn ci -m 'Add last feature.'

メイン開発ブランチでジョブを実行:

svn switch ^/trunk
svn ci -m "Fix."

新機能の準備ができました:

svn merge --reintegrate ^/features/linux-port
svn ci -m 'Integrate features.'

でも今:

svn log .

------------------------------------------------------------------------
r9 | user | 2013-07-30 18:38:01 +0300 (Tue, 30 Jul 2013) | 1 line

Integrate features.
------------------------------------------------------------------------
r8 | user | 2013-07-30 18:36:53 +0300 (Tue, 30 Jul 2013) | 1 line

Fix.

と:

svn diff -r9

Index: README
===================================================================
--- README      (revision 8)
+++ README      (revision 9)
@@ -1,2 +1,5 @@
 hello fix

+feature 1
+
+feature 2
+
+final feature

Property changes on: .
___________________________________________________________________
Added: svn:mergeinfo
   Merged /features/linux-port:r2-8

そのため、 からの個々の機能ごとに後続のコミットが失われ/features/linux-port:r2-8ます。HG/Git/Bzr/Fossil に切り替えずに保存することは可能ですか?

更新通常、コーディングの決定を説明し、BTS へのリンクを配置する適切なコミット メッセージを作成します。SVN はこれらの情報を消去しており、非常に残念です。

では、古い学校のChangelogを使用する必要がありますか?

4

1 に答える 1

3

ああ、私は注意深く読みました:

svn help log

  -g [--use-merge-history] : use/display additional information from merge

そのため、通常の SVN ツールで完全な履歴を利用できます。

実際の差分を表示するには、ハット パス構文を使用します。

svn diff -c 4 ^/

また、公式ドキュメントで適切なセクションを見つけました:

http://svnbook.red-bean.com/en/1.7/svn.branchmerge.advanced.html

The svn blame command also takes the --use-merge-history (-g) option.
If this option is neglected, somebody looking at a line-by-line annotation
of file may get the mistaken impression that you were responsible for the lines
that fixed a certain error
于 2013-07-30T16:15:23.700 に答える