Как я правильно перехожу постфиксация и возвращаюсь соединительная линия в svn?

9
задан Dane O'Connor 29 September 2008 в 14:27
поделиться

4 ответа

Я думаю, что метод Philips был бы чем-то как следующее, предположив, что последний "хороший" пересмотр был в 100, и Вы теперь в 130, для создания нового ответвления:

svn copy -r100 svn://repos/trunk svn://repos/branches/newbranch
svn merge -r 100:130 svn://repos/trunk svn://repos/branches/newbranch

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

Вернуться соединительная линия:

svn merge -r130:100 .
svn ci -m 'reverting to r100 (undoing changes in r100-130)' . 

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

Затем Вы могли переключиться на новое ответвление, которое Вы создали в repo:

svn switch svn://repos/branches/newbranch workdir
18
ответ дан 4 December 2019 в 09:15
поделиться

Честно говоря, я копирую свои изменения прочь, возвращаюсь соединительная линия, ответвление, затем передаю мои изменения в ответвлении. Так как главной причиной будет простота слияния позже (если Вы позже объединитесь от соединительной линии до ответвления в точке разветвления, то слияние будет содержать возвращение Ваших начальных изменений).

Это не может быть "корректным" путем, поскольку можно всегда пропускать изменения при слиянии, но это обычно - намного меньше головной боли для меня позже.Отказ от ответственности: Я не svn гуру, таким образом, это может быть легче для меня, потому что я делаю его неправильно - но я действительно использую svn довольно много.

3
ответ дан 4 December 2019 в 09:15
поделиться

Нет, ничто неправильно с методом следующего Philip, кроме него не оставляет некоторый "хлам" в истории пересмотра. Если Вы хотели к удаленному их для пользы опрятности, и изменения в ГОЛОВЕ, Вы могли удалить их из репозитория путем следования этим инструкциям.

Обновление: метод Philip лучше, чем тот, предложенный в вопросе по причинам, которые он заявил. Мой и методы Philip были бы подобны, за исключением того, что insead возвращения соединительной линии я предлагаю удалить изменения из истории пересмотра. (как я сказал, это может только быть сделано, если все изменения, которые Вы хотите удалить, во главе репозитория.)

2
ответ дан 4 December 2019 в 09:15
поделиться

Я не имею svn в наличии прямо здесь, но это - то, как я попытался бы сделать это:

Определите точку в истории, где Вы начали фиксировать плохой материал (скажите, что пересмотр "100", в то время как Вы в "130"),

svn copy trunk branch # create your branch while preserving history
svn copy trunk@100 trunk #replace current revision with revision 100  

Это должно обойти плохую историю, не добавляя обратное слияние (на самом деле, Вы обходите историю соединительной линии между 100 и 130, но Вы сохранили ссылку на ту историю в ответвлении и получающий доступ к соединительной линии, в то время как принуждение версии все еще приведет к корректной истории),

Затем

svn switch branch workdir

это должно работать, если Вы хотите полностью удалить изменения из соединительной линии. Если существуют маленькие, Вы хотите сохранить Вас, может избирательно подойти к выбору их снова от ответвления для транкинга (если Вы будете использовать svn 1.5, то это отследит точки слияния и избежит побочных конфликтов),

0
ответ дан 4 December 2019 в 09:15
поделиться
Другие вопросы по тегам:

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