Вы просто вызываете метод, который возвращает целое число, но вы никогда не используете / не печатаете его. Попробуйте использовать его в своем коде, чтобы узнать, есть ли у вас желаемое значение, как вы установили в своем классе.
Страница справочника мерзавца-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
правильно (это требует объединяющихся полных ответвлений), затем, клон мерзавца будет выглядеть корректным пользователям мерзавца.
Можно использовать пересадки ткани для обучения мерзавца слияниям, которые не обозначены в рассматриваемом объекте фиксации.
echo "$merge_sha1 $parent1_sha1 $parent2_sha1" >> .git/info/grafts
Нахождение этой информации достаточно легко: данная находка рассматриваемая фиксация слияния, Вы знаете $merge_sha1
и $parent1_sha1
уже. Традиционно, сообщение о фиксации такой фиксации будет содержать количество пересмотра SVN второй родительской фиксации, которую Вы просто переводите в соответствующий идентификатор фиксации:
git svn find-rev r$revnum $branch
Престо, у Вас есть все 3 сведения, необходимо создать пересадку ткани.
Попробуйте использовать параметры --add-author-from и --use-log-author, чтобы git-svn.