2011-12-08 3 views
2

Я пытаюсь сделать что-то вроде простое, но с проблемами.SVN объединяет соединительную линию в ветку, удаляя файлы

В принципе, у меня есть SVN репо, то есть ствол и ветвь, которая была создана из ревизии 122.

я добавил файл (ЦСИ/Utils/foo.py) в отрасли, его совершившее, как пересмотр 128, все хорошо. .

Тем не менее, было несколько фиксаций (а именно (123,124,125,126,127) в к стволу, что я хотел бы в моем отделении Так что я сделать что-то вроде:

$ svn merge -r122:127 ^/projects/my_project/trunk/src/utils . 
--- Merging r123 through r127 into '.': 
D foo.py 

возгласы Он удалил свой файл Что! я не ошибаюсь, так что этого не происходит?

+0

Удалось ли кому-то удалить foo.py в багажник? – crashmstr

ответ

1

Возможно, он больше связан с папкой, в которой находится файл, чем сам файл. Я считаю, что большинство инструментов SCM обрабатывают такие папки, как файлы, хорошо. Возможно, вам придется подняться на один уровень, чтобы убедиться, что папка «utils» также объединяется.

Edit:

Просто объяснить немного больше, это папка «Utils», что записи о том, что файл «foo.py» ребенок от него, так что даже если foo.py существует в багажнике, без слияния обновленной папки utils, она может не отображаться.

1

Сначала вы находитесь в правильном каталоге, где вы выполнили команду svn merge? Второй никогда не объединяет только подпапки в SVN. Просто используйте

svn merge ... ^/projects/my_project/trunk 

в корень вашей рабочей копии. Это будет лучше, особенно в связи с историей слияния (svn: mergeinfo).

0

Ах! Кто-то действительно объединил ветку в багажник, который добавил файл в багажник, но затем откат, который зафиксировал, удалив файл из ствола. Спасибо за помощь. Хороший урок в том, как работает svn merge.