Переименование файлов: Visual Studio против контроля версий - PullRequest
12 голосов
/ 07 апреля 2010

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

Но большинство (не все *) системы контроля версий также хотят быть теми, кто делает переименование.

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

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

Итак, для тех из вас, кто использует Visual Studio, какой источник контроля вы используете? Используете ли вы интеграцию VS (какая?) И как иначе решить эту проблему с переименованием?

(* git достаточно умен, чтобы решить сам)

Ответы [ 6 ]

5 голосов
/ 07 апреля 2010

Я использую SVN (TortiseSVN в качестве клиента) и использую команду Repair Move * из диалога фиксации. Это позволяет мне переименовывать файлы в VS и разрешать переименование, когда я готов зафиксировать историю версий.

Что касается использования интеграции с VS, то, как и вы, я нахожу все интеграции с VS неудобными и не использую их.

2 голосов
/ 07 апреля 2010

mercurial обычно предпочитает делать переименование с помощью hg rename, однако он также может обнаруживать переименования из внешнего источника с помощью hg addremove -s 100 (или меньше 100, если вы хотите сопоставить переименование с изменениями), так что вы можете разрешить VS сделать переименование и получить Mercurial, чтобы догнать с addremove.

1 голос
/ 24 декабря 2010

Мы разрабатываем «Plastic SCM», а Visual Studio Package поддерживает операции перемещения .Но я понимаю вашу точку зрения, мне все больше и больше нравится идея не иметь плагинов / пакетов, а затем заставить систему управления версиями работать за кулисами и просто обнаруживать, что произошло без необходимости «подключаться» к IDE.На самом деле мы работаем над этим для следующего выпуска ...

1 голос
/ 07 апреля 2010

Мы используем Team Foundation Server, и он работает без проблем. Я также обнаружил, что переход на использование полностью интегрированного клиента улучшил мой рабочий процесс, поскольку мне не нужно переключаться между приложениями только для выполнения тривиальных задач.

1 голос
/ 07 апреля 2010

Мы используем SVN (точнее TortoiseSVN), и меня всегда беспокоит проблема с переименованием. Самое простое решение, которое я нашел, - это удалить файлы из проекта, переименовать их через TSVN и добавить их обратно в проект. Вы должны вручную обновить включения для переименованных файлов заголовков, но это сравнительно легко с помощью поиска и замены.

0 голосов
/ 21 декабря 2010

Помимо приведенного выше совета, для Visual Studio 2008 я обнаружил, что после внесения всех глобальных изменений в любой файл, переименованный из VS, включая щелчок правой кнопкой мыши по файлу и его переименование, а также глобальный поиск и замену для всех строк, Заменив старое имя файла на новое, вы должны, если файл является начальным файлом запуска, щелкнуть правой кнопкой мыши и выбрать его как «установить как страницу по умолчанию». В противном случае вы вполне можете получить «Ресурс не найден». ошибка во время выполнения.

...