Кто-то на моей работе переместил папку в другое местоположение. Но он не сделал надлежащего перемещения SVN, он просто добавил их как новые файлы и удалил старые файлы. Это, конечно, означало, что история объектов является неправильной. Я отсутствовал, в то время и несколько редактирований произошли на файлах с тех пор, таким образом возвращаясь, изменения и восстановление операции сам отсутствуют.
Существует ли способ, которым я могу согласовать это так, SVN узнает их полную историю?
P.S. Я использую tortoiseSVN.
Невозможно редактировать содержимое истории репозитория Subversion. Вы должны либо:
svn update -rN
) до редакций, которые будут заменены. svn copy @
), затем используйте svn merge
, чтобы повторно применить изменения с тех пор к новой копии папки старого местоположения. Из справки TortoiseSVN http://tortoisesvn.net/repairmoves.html
Перемещение и переименование файлов с версией внутри рабочей копии всегда должно выполняться с помощью соответствующих команд Subversion / TortoiseSVN. перемещение / переименование без них (например, с проводником Windows) приводит к проблемам, поскольку Subversion не знает , что вы переместили / переименовали файлы.
Например, если вы переименуете файл с именем myfile.txt в myfile2.txt без использования команды Subversion / TortoiseSVN, myfile.txt будет отображаться как "отсутствует" , а myfile2.txt - как "без версии" в диалоговое окно фиксации или диалоговое окно Проверка изменений.
Если это произойдет с вами, TortoiseSVN предлагает вам простой способ исправить это.
Насколько я знаю, это единственный способ исправить move, хотя насчет move_and_then_added не уверен.
Это из TortoiseSVN FAQ :
Если вы уже зафиксировали удаленный файл , то вы можно использовать браузер репозитория , перейти к версии , в которой файл все еще существовал , а затем использовать команду "Копировать в ... из контекстного меню. Введите путь к вашей рабочей копии в качестве целевого, и удаленный файл будет скопирован из репозитория в вашу рабочую копию.
Вы также можете восстановить удаленный каталог, используя эту технику.
Конечно, вы должны сначала удалить (или переименовать) папку, добавленную вашим коллегой.