Настройка макета простой проект SVN:Как предотвратить потерю истории фиксации в Subversion после слияния?
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.'
ли работу в главном Dev отрасли:
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?
Хах, я собирался сказать, что это, на самом деле , вот как это делается. Обычно я устанавливаю нечто вроде 'alias svnmlog = 'svn log -g'', чтобы убедиться, что не забываю. ' – Wrikken