Ответ 1
Сохранение вашей ветки до даты с последней регистрацией сундуков называется слиянием.
Я знаю, что слияние иногда может быть королевским кошмаром, но это именно то, что происходит слиянием.
Я, вероятно, просто не думал об этом, или, может быть, я просто не знаю уже существующего варианта в Subversion (я, конечно, не эксперт).
Мне просто интересно, если я создал ветку, чтобы начать работу над какой-то новой функцией, если есть более простой способ удержать филиал в актуальном состоянии с последними версиями ствола без необходимости преодолевать все проблемы о слиянии диапазона пересмотров. Я хотел бы иметь возможность просто обновлять и получать все исправления от соединительной линии (и ветки, конечно), в то время как мои зафиксированные изменения влияют только на ветвь. Это возможно? Делает то, что я прошу, имеет смысл?
Я полагаю, что на самом деле это не обязательно отличается от слияния диапазона ревизий; просто я использую AnkhSVN, который выполняет все эти лучшие практики, прежде чем разрешить слияние, а иногда кажется, что это намного сложнее, чем нужно. Идея заключается в том, что я хочу сохранить свою ветку в актуальном состоянии с любыми коммитами, которые другие разработчики могут делать в багажнике, так что, когда я в конечном итоге сливаю свою ветку в багажник, все идет (как) плавно (насколько это возможно).
Сохранение вашей ветки до даты с последней регистрацией сундуков называется слиянием.
Я знаю, что слияние иногда может быть королевским кошмаром, но это именно то, что происходит слиянием.
TL; DR; Нет, вы должны объединиться, вот несколько инструкций
Это не так плохо, как вы думаете. Я опишу шаги из командной строки, которые я использую. Я буду использовать vimidiff для управления конфликтами, которые вы можете использовать в Meld или другом инструменте diff, который вам нравится. Перед командами предшествует символ hash '#'
<in branch first time from copy>
# svn log --stop-on-copy | tail
<read the revision that was the copy instruction in this case r229>
# cd ../../trunk
# svn up
<I make note of the latest rivision which is r334>
<now I go back to the branch>
# cd ../branches/branch
# svn merge -r229:334 svn://url.to.svn.server/project/trunk
<a whole bunch of stuff happens>
< now I check for conflicts >
# svn status | grep ^C
<which outputs something like>
C public/tools/Diagnostic.class.php
C public/domain/Report_Setup_Parameter.class.php
C public/modules/mReports.module.php
<I now revert all these and manually merge them>
# svn revert public/tools/Diagnostic.class.php
...
<revert done now manuall doinng the merge
# vimdiff public/tools/Diagnostic.class.php ../../trunk/public/tools/Diagnostic.class.php
...
<now all the changes are done>
# svn commit -m "Merging trunk into branch 'branch' r:229:334"
commited revision 335
Сделано, если вы делаете это регулярно, изменений не так много. После первого слияния вам нужно использовать ревизию # последнего слияния. Поэтому некоторое время в будущем команда будет выглядеть в журнале svn, чтобы найти, когда была выполнена ревизия последнего слияния, в этом случае 335. Команда слияния будет выглядеть как thuse
# svn merge -r335:370 svn://url.to.svn.server/project/trunk
Все остальные шаги одинаковы.
Идея в том, что я хочу сохранить свою обновлять филиал с любыми фиксациями другие разработчики могут сундук, чтобы, когда я в конце концов объединить мою ветку в багажник, все идет (как) гладко (как возможно).
Чтобы добиться этого, вам нужно выполнить слияние диапазонов с сундуком. На самом деле, это хорошая практика, чтобы время от времени делать это слияние с веткой, чтобы быть в курсе того, что происходит в багажнике.
Я не знаю об инструментах для AnkhSVN, но "чистый" SVN имеет очень хорошие инструменты, которые упрощают операции слияния. TortoiseSVN - отличный инструмент для Windows, и если вам нравится Netbeans есть очень приятная графическая поддержка для слияния.
Я не знаком с AnkhSVN, но то, что вы описываете, - это именно то, для чего svn merge
. Поэтому ответ на ваш вопрос - нет.
Однако вы можете проверить параметр --reintegrate
, чтобы убедиться, что это облегчает вашу жизнь.
Смотрите эти сообщения в блоге:
Слияние конвертации Subversion
Отслеживание слияния Subversion 1.5 в двух словах
Если вы используете PHPStorm, вы можете попробовать использовать интерфейс GUI https://www.jetbrains.com/help/idea/2016.1/integrating-changes-to-from-feature-branches.html