2015-04-21 3 views
3

Сценарий в VS2012 с VisualSVN.SVN удаление переименованного/восстановленного файла

  • правой кнопкой мыши переименуйте файл (с помощью VS решение Проводник)
  • Hack в течение нескольких часов
  • правой кнопкой мыши отпустить проект
  • правой кнопкой мыши и repair до/после версий файла
  • В поле «error» указано, что «файл не найден»
  • И да, совершенно верно, новая версия моего файла исчезла.
  • (ругательств удален)

Я знаю, что SVN не нравится не быть хозяином переименовывать, но что происходит здесь не так?

enter image description here

+1

* Щелкните правой кнопкой мыши и восстановите до/после версии файла * - можете ли вы дать дополнительную информацию об этом шаге? –

+0

@ IvanJovovic, я вставил изображение. – Benjol

+0

Мне удалось воспроизвести описанную проблему, но не более того. Точное сообщение об ошибке: * Система не может найти указанный файл *. –

ответ

1
  1. Это кажется ошибка в TortoiseSVN. Я только что сообщил об этом [email protected] TortoiseSVN mailing-list. The bug has been just fixed. Thanks to Stefan Kung.

  2. Вам не нужно запускать команду «Восстановить ход» в файлах, которые были правильно переименованы или перемещены. VisualSVN отслеживает все операции с файлами, выполняемые в Visual Studio, и отражает их в Subversion. Перемещает, добавляет, переименовывает и т. Д. - все они покрываются подключаемым модулем VisualSVN.

Вот цитата из TortoiseSVN руководства связана с вашим вопросом:

Иногда ваша дружественная IDE переименовывает для вас файлы в рамках осуществления рефакторинга, и , конечно, это не скажите Subversion.

VisualSVN фактически говорит Subversion, что было переименование, поэтому вам не нужно запускать «Восстановить ход» при использовании VisualSVN.

Просто попробуйте переименовать файл в некотором тестировании решения Visual Studio с помощью VisualSVN и отметьте svn status, чтобы узнать, что произошло. Например, вот результат:

D  WindowsFormsApplication3\Program.cs 
     > moved to WindowsFormsApplication3\SUPERPROGRAM.cs 
A + WindowsFormsApplication3\SUPERPROGRAM.cs 
     > moved from WindowsFormsApplication3\Program.cs 

Как вы можете видеть, файл был правильно переименован.

А вот запись в журнале хранилища для переименования после фиксации изменений:

r3 | Pavel.Lyalyakin | 2015-04-22 13:46:38 +0300 (Wed, 22 Apr 2015) | 1 line 
Changed paths: 
    D /trunk/WindowsFormsApplication3/Program.cs 
    A /trunk/WindowsFormsApplication3/SUPERPROGRAM.cs (from /trunk/WindowsFormsApplication3/Program.cs:2) 

Как вы можете видеть, есть примечание, что файл SUPERPROGRAM.cs был переименован из Program.cs в правке 2.

+0

Отлично, хорошо знать, что я не сумасшедший :). В стороне, я думаю, что (+) нотация - это орехи, потому что это просто похоже на синоним Add. Не могли ли они вместо этого переименовать? – Benjol

+0

@ Benjol еще нет. Я думаю, что это будет улучшено, когда переименование отслеживания будет реализовано в будущих обновлениях Subversion. Это на дорожной карте Subversion http://subversion.apache.org/roadmap.html – bahrep