Я хочу преобразовать проект CVS в Subversion, используя cvs2svn. Он имеет основной ствол (HEAD) с несколькими временными ветвями разработки, созданными из ствола.
Прежде чем мы преобразуем его, мы объединим последние изменения из ствола во все ветви разработки. Но они также будут иметь изменения, которые еще не были объединены в магистраль.
Когда я преобразую проект в SVN, он не будет иметь никаких свойств истории слияния. Итак, как я могу инициализировать эти свойства, чтобы впоследствии я мог объединяться с ветвями и из них?
Другими словами, после преобразования будет ряд различий между стволом и любой данной ветвью. В следующий раз, когда я сливаюсь из магистрали в ветку, я не хочу рассматривать эти различия как изменения, которые необходимо объединить. Но когда я сливаюсь с ветки в ствол, я делаю. Это возможно?
ОБНОВЛЕНИЕ : Я принял предложение Мхаггера и сказал SVN, что в ветви уже внесены все изменения из магистрали:
svn co [branch URL] .
svn merge --record-only [trunk URL]
svn commit -m ''
Это работает, поэтому в следующий раз, когда я попытаюсь слиться из магистрали в ветку, новых изменений не будет.
Но у меня все еще есть проблема с --reintegrate merges, от ответвления до ствола. В конечном итоге он отображает множество файлов с буквой «R», что означает, что в стволе есть файл X, а в ветви - файл X, но они не считаются одним и тем же файлом. Это делает слияние беспорядочным, хотя, похоже, в итоге получается правильный результат.
Я думаю, что это происходит из-за следующей последовательности событий:
- Ветка создана (в CVS)
- Файл X был добавлен в транк (в CVS)
- X был объединен с веткой (также в CVS)
- Проект был преобразован в Subversion
- Subversion не знала, что ветка / X была скопирована из транка / X. Так что
думает, что это замена.
История SVN выглядит примерно так:
r100: create branch (copied from trunk)
r200: add trunk/X
r300: add branch/X (because of a CVS merge, but it's not a SVN copy)
Итак, есть ли способ сказать мне, что Subversion игнорирует файлы?
происхождение при выполнении слияния --reintegrate? Или лучший способ конвертировать эти файлы?