Исправление копирования / перемещения SVN - PullRequest
2 голосов
/ 19 октября 2011

Другой разработчик проекта переместил версионную папку, не сделав это правильно через SVN.Таким образом, SVN показывает удаленное дерево каталогов и созданное другое, и не показывает, что одно было просто результатом переименования другого.Это винты с исправлениями версий, dif и исходной историей.

Есть ли способ исправить это, например, через svndump?

По существу, чтобы пометить trunk/b как копиюот trunk/a.

Ответы [ 2 ]

2 голосов
/ 19 октября 2011

Вы можете просто перейти с версии до изменения , сделать правильное переименование, а затем объединить это с транком.
Во время слияния вам, конечно, потребуется сообщить об изменении из «нового» каталога.

Таким образом, у вас есть история!

Или, если в журнале мало ревизий, вы можете получить патч из его модификации, вернуть модификацию в svn и вручную изменить патч для исключения операций удаления / создания.

2 голосов
/ 19 октября 2011

Вы можете вручную отредактировать файл svndump для этого коммита, чтобы удалить содержимое всех дополнений и изменить его на одно добавление trunk / a с копированием из и копированием из рев.Затем вам нужно будет сбросить все предыдущие ревизии и все последующие ревизии, затем загрузить все ревизии по порядку в новый репозиторий и заменить ваш репозиторий.Затем вам нужно, чтобы все извлекли из нового репозитория и удалили свои старые рабочие копии.

Вы можете избежать бита ручного редактирования, предполагая, что неправильное переименование было единственной вещью в этом коммите.Предположим, плохая ревизия - $ REV.Сброс ревизий от 0 до (но не включая) $ REV.Загрузите их в новый репозиторий.Оформить заказ из нового репозитория, сделать правильное переименование и зафиксировать.Сделайте добавочный дамп $ REV + 1 через HEAD в старом репозитории и загрузите в новый репозиторий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...