Могу ли я обновить ветку из багажника, не выполняя слияние?

StackOverflow https://stackoverflow.com/questions/2372424

Вопрос

Я, наверное, просто не думал об этом, или, возможно, я просто не знаю о уже существующем варианте в Subversion (я, конечно, нет эксперта).

Мне просто интересно, если я создал филиал, чтобы начать работу над какой-то новой функцией, если есть более простой способ сохранить ветку на сегодняшний день стволСамые последние изменения без необходимости проходить всю неприятность слияния ряда изменений. Я хотел бы иметь возможность просто обновить и получить все изменения из багажника (а также Филиал, конечно), хотя мои преданные изменения влияют только на ветку. Это возможно? Делает то, что я прошу иметь смысл?

Я полагаю, что это на самом деле не обязательно отличается от объединения ряда изменений; Просто я использую Ankhsvn, который выполняет все эти проверки лучшего практики перед тем, как разрешить слияние, а иногда ощущение, что это намного сложнее, чем нужно. Идея состоит в том, что я хочу сохранить свою филиал втумиться с любыми коммитами, другими разработчиками, которые могут приносить к багажнику, чтобы, когда я в конечном итоге делать Слиньте мою ветку в багажник, все идет (как) гладко (насколько это возможно).

Это было полезно?

Решение

Поддержание вашей отрасли до свидания с последними регистрациями багажника называется слиянием.

Я знаю, что слияние может быть королевским кошмаром иногда, но это именно то, что слияние.

Другие советы

TL; DR; Нет, вы должны слиться, вот некоторые инструкции

Это не так плохо, как вы думаете, это. Я наброшу шаги от командировки, которую я использую. Я буду использовать Vimidiff, чтобы управлять конфликтами, которые вы можете использовать Meld или Hoodertore Diff Tooke, который вам нравится. Команды предшествуют Марку 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. Команда Merge будет выглядеть как Thuse

# svn merge -r335:370 svn://url.to.svn.server/project/trunk

Все остальные шаги одинаковы.

Идея состоит в том, что я хочу сохранить свою филиал в современном виде с любыми коммитарами, другими разработчиками могут приносить к багажнику, чтобы, когда я в конечном итоге объединяю свою ветку в багажник, все идет (как) гладко (насколько это возможно).

Для достижения того, что вам нужно сделать ассортимент слияния из багажника. На самом деле, это хорошая практика, чтобы сделать этот вид слияния в ветку время от времени, чтобы быть в курсе, когда происходит в багажнике.

Я не знаю о инструментах для Ankhsvn, но «Pure» SVN имеет очень хорошие инструменты, которые делают операции слияния довольно простыми. ТортосветВН это отличный инструмент для Windows, и если вам нравится NetBeans Существует очень хорошая графическая поддержка для слияния.

Я не знаком с Анкшсом, но то, что вы описываете, это именно то, что svn merge это для. Так что ответ на ваш вопрос нет.

Тем не менее, вы можете проверить --reintegrate Возможность увидеть, что это делает вашу жизнь проще.

Смотрите эти сообщения в блоге:

Subversion Merage Reintegrate
Subversion 1.5 слияние отслеживания в двух словах

Если вы используете phpstorm, вы можете попробовать использовать интерфейс GUIhttps://www.jetbrains.com/help/idea/2016.1/integrating-changes-To-from-feature-branches.html.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top