Черепаха SVN дерево конфликтует с собой - PullRequest
3 голосов
/ 01 июня 2010

Кто-нибудь имел опыт перемещения файла в черепахе и успешной фиксации, только для того, чтобы позднее зафиксировать другое изменение и получить информацию о конфликте деревьев, где:

  1. файл в исходном местоположении был удален, но в черепахе помечен как отсутствующий
  2. файл находится в новом месте, но помечен как уже добавленный.

(я использую SVN черепахи, а у нас клиент и сервер> 1.60)

Никто другой не изменил ни каталог, ни файл (согласно журналу svn).

  1. Почему это происходит?
  2. Есть ли способ избежать этого?
  3. Если это произойдет, есть ли более элегантный способ решения проблемы, чем удаление всей папки и повторное обновление?

Ответы [ 3 ]

3 голосов
/ 01 июня 2010
  1. Звучит так, как будто вы переместили файл с помощью команды «Переместить» в проводнике Windows, а не команды «Переместить» в черепахе. Первый просто перемещает файл в файловой системе, не обновляя дерево подрывной деятельности (удаляя старый файл из управления версиями и связывая историю старого файла с новой).

  2. Всегда используйте команду TortoiseSVN «Переместить» или, если вы хотите переместить файл без истории, затем скопируйте файл с помощью проводника Windows, добавьте новую версию с помощью Tortoise, а затем удалите старую версию с помощью Tortoise. .

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

1 голос
/ 01 июня 2010

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

0 голосов
/ 25 ноября 2010

Я попал в конфликт дерева, щелкнув по папке, выбрав «переименовать» и используя «newpath \ to \ folder» в качестве параметра. После многих раундов неудачных команд очистки и некоторых других вещей я наконец восстановил здравомыслие:

  1. открыть новую чистую проверку в другую папку
  2. svn удаление и фиксация поврежденного «newpath \ to \ folder» из чистой проверки
  3. выберите 'oldpath \ folder', перетащите r-click и svn переместитесь в новое место
  4. немедленно принятие изменения без других операций в середине
  5. перейдите к неработающей отметке 'oldpath \ folder' и вручную скопируйте файлы, которые были отброшены или оставлены в 'newpath \ to \ folder'
  6. добавить скопированные вручную файлы, как если бы они были новыми.

Цепочка бесшовной истории для обновленных вручную файлов разорвана, но, по крайней мере, я могу продолжить работу.

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