мерзавец-svn объединяется и детали фиксации

Вы просто вызываете метод, который возвращает целое число, но вы никогда не используете / не печатаете его. Попробуйте использовать его в своем коде, чтобы узнать, есть ли у вас желаемое значение, как вы установили в своем классе.

5
задан Bart Schuller 12 February 2009 в 14:48
поделиться

3 ответа

Страница справочника мерзавца-svn рекомендует не использовать слияние. ""Рекомендуется выполнить выборку мерзавца-svn, и переоснова (не вытягивают или объединяются)"". Однако можно сделать то, что Вы любите :-)

Здесь существует 2 проблемы. Сначала то, что svn только хранит разработчик, не автора патча, как мерзавец делает. Таким образом, когда Y передает слияния для транкинга, svn только записывает ее имя, даже при том, что патчи были созданы X. Это - удивительная функция мерзавца, потрясающе простой все же жизненно важный для проектов с открытым исходным кодом приписывали изменения в авторе, может избежать правовых проблем в будущем.

Во-вторых, мерзавец, кажется, не использует относительно новые функции слияния svn. Это может быть временной вещью, поскольку мерзавец активно разрабатывается, и новые опции добавляются все время. Но на данный момент, это не использует их.

Я только что попробовал мерзавцем 1.6.0.2, и это "теряет" информацию по сравнению с выполнением той же операции со слиянием svn. В svn 1.5 новая опция была добавлена к входу и методам аннотации, так, чтобы svn зарегистрировались,-g на соединительной линии произвел бы что-то вроде этого для слияния:

------------------------------------------------------------------------
r5 | Y | 2008-09-24 15:17:12 +0200 (Wed, 24 Sep 2008) | 1 line

Merged release-1.0 into trunk
------------------------------------------------------------------------
r4 | X | 2008-09-24 15:16:13 +0200 (Wed, 24 Sep 2008) | 1 line
Merged via: r5

Return 1
------------------------------------------------------------------------
r3 | X | 2008-09-24 15:15:48 +0200 (Wed, 24 Sep 2008) | 2 lines
Merged via: r5

Create a branch

Здесь, Y фиксирует r5, который включает изменения от X на ответвлении в соединительную линию. Формат журнала не является действительно настолько большим, но он добивается признания на-g вины svn:

       2          Y int main()
       2          Y {
G      4          X   return 1;
       2          Y }

Сюда принятие Y только передает соединительной линии, мы видим, что одна строка была отредактирована X (на ответвлении) и объединена.

Так, при использовании svn 1.5.2 Вы возможно лучше из слияния с настоящим svn клиентом на данный момент. Хотя Вы потеряли бы информацию о слиянии в мерзавце, это обычно достаточно умно для не жалобы.

Обновление: я только что попробовал это мерзавцем 1.7.1, чтобы видеть, были ли какие-либо усовершенствования тем временем. Плохие новости - то, что слияние в мерзавце все еще не заполняет значения svn:mergeinfo, таким образом, git merge сопровождаемый git svn dcommit не установит svn:mergeinfo, и Вы потеряете информацию о слиянии, если репозиторий Подверсии будет каноническим источником, который это, вероятно. Хорошие новости - это git svn clone действительно читает в svn:mergeinfo свойствах для построения лучшей истории слияния, поэтому если Вы используете svn merge правильно (это требует объединяющихся полных ответвлений), затем, клон мерзавца будет выглядеть корректным пользователям мерзавца.

13
ответ дан 18 December 2019 в 07:32
поделиться

Можно использовать пересадки ткани для обучения мерзавца слияниям, которые не обозначены в рассматриваемом объекте фиксации.

echo "$merge_sha1 $parent1_sha1 $parent2_sha1" >> .git/info/grafts

Нахождение этой информации достаточно легко: данная находка рассматриваемая фиксация слияния, Вы знаете $merge_sha1 и $parent1_sha1 уже. Традиционно, сообщение о фиксации такой фиксации будет содержать количество пересмотра SVN второй родительской фиксации, которую Вы просто переводите в соответствующий идентификатор фиксации:

git svn find-rev r$revnum $branch

Престо, у Вас есть все 3 сведения, необходимо создать пересадку ткани.

6
ответ дан 18 December 2019 в 07:32
поделиться

Попробуйте использовать параметры --add-author-from и --use-log-author, чтобы git-svn.

2
ответ дан 18 December 2019 в 07:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: