2016-11-29 13 views
0

В Eclipse я переехал и переименовал несколько файлов и зафиксировал их. Теперь я понимаю, что я должен был использовать svn move и svn rename или сделать Repair move в TortoiseSVN перед фиксацией. Но я не делал и не совершал. Теперь история не связана для этих файлов. Можно ли восстановить историю?Восстановление ссылок истории SVN после фиксации

Раньше я использовал Subclipse, и я не сталкивался с этой проблемой. Но теперь у меня нет Subclipse. Поэтому я предполагаю, что если Subclipse установлен, он обрабатывает это, изменяя поведение рефакторинга Eclipse. Это правда?

ответ

0

После того, как вы совершили изменения, единственный способ исправить это - начать с начала. Удалите элементы и зафиксируйте, а затем вернитесь и выполните правильное перемещение и фиксацию. Вы также можете использовать svn copy для копирования старого элемента из истории, если это необходимо.

Если вы использовали Subclipse при рефакторинге файлов, они были бы перемещены автоматически, поэтому у вас не было бы этой проблемы.

+0

AFAIK, если файл удален, и после нескольких коммитов новый файл записывается в тот же путь с тем же именем файла, они считаются одним и тем же файлом, и их история связана. Это правда? – groove

+0

№. История не основана на имени пути. SVN знает, что удаляемый элемент - это конец его истории, а создаваемый элемент - это начало. Неважно, имеют ли они одно и то же имя, –

+0

Таким образом, удаление файла, а затем перемещение в новой версии после того, как факт выполнит то, что вы хотите. Это предполагает, что исходный файл также перемещается. –