Visual Source Safe действительно не хватает функциональности переименования? - PullRequest
4 голосов
/ 23 июня 2009

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

Я нажал на предупреждения, не обращая особого внимания, понял, что переименовав файл, я потерял всю свою историю. Это действительно так? Я не могу поверить, что VSS не поддерживает переименование.

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


Спасибо за ответы. Я предполагаю, что VSS имеет функцию переименования, но не в Visual Studio. Что за нарушение соглашения, переключение приложений для переименования файла в системе контроля версий? : /

Ответы [ 3 ]

8 голосов
/ 23 июня 2009

Это можно сделать в SourceSafe, но требует небольшого ручного вмешательства:

  1. Сначала убедитесь, что файл, который вы хотите переименовать, отмечен.
  2. В SourceSafe щелкните файл правой кнопкой мыши и выберите в меню Rename (или просто нажмите F2), затем переименуйте файл.
  3. Это только переименовывает файл в SourceSafe. Вам потребуется извлечь переименованный файл в рабочую папку, а затем удалить исходный файл из рабочей копии, чтобы завершить переименование.

Если вы просмотрите историю файла (щелкните правой кнопкой мыши, затем Show History или, альтернативно, Ctrl-H), вы увидите, что вся его история не повреждена. Однако обратите внимание, что SourceSafe будет ссылаться на файл по его новому имени во всех записях истории для файла. Фактическое переименование отслеживается на уровне папки проекта. Если вы просмотрите историю папки, содержащей переименованный файл, вы увидите элемент истории, указывающий, что файл был переименован из oldname в newname.


Добавление: примечание по извлечению старых версий переименованных файлов из истории

Джо Уайт прокомментировал этот ответ , что SourceSafe не учитывает исходное имя файла, когда вы делаете Get в более старой версии переименованного файла. Это верно, если вы получаете старую версию из средства просмотра истории файлов.

Однако, если вы делаете Get старой версии вашего кода (до переименования) из средства просмотра истории родительской папки 1030 *, SourceSafe будет правильно использовать исходное имя файла, когда оно помещает файлы в вашей рабочей папке.

Причина такого поведения восходит к тому факту, что SourceSafe отслеживает переименования на уровне родительской папки, а не на уровне файлов.

3 голосов
/ 23 июля 2009

Неважно.

Как только вы увидели, что ваша «база данных» SourceSafe повреждена из-за отсутствия ваших собственных действий, SS может производить ежедневные радуги и единорогов, но в конечном итоге они превратятся в гнойные морские существа со случайными байтами, которые человек не сможет восстановить.

Отойди от Source Safe. Microsoft предприняла благородную попытку заставить людей задуматься о контроле над источниками, но я дважды (за 2 года, одно и то же хранилище данных, 3 человека, работающие против него) видел, как он умирает безвозвратно.

Получить в SVN, TFS, что-нибудь еще! Скажите своим руководителям, что вы играете с огнем каждый раз, когда вы регистрируетесь. Возможно, вам повезет больше, чем я был в проекте до провала, или вы можете просто ... полагаться на свою стратегию резервного копирования ... .

1 голос
/ 23 июня 2009

VSS имеет функцию переименования, которая поддерживает историю File > Rename (Я уверен, что это история maitains) но это было давно, так как я использовал его

...