Автоматическая фиксация с визуальным исходным кодом

#version-control #automation #visual-sourcesafe

#контроль версий #автоматизация #visual-sourcesafe

Вопрос:

В настоящее время я пытаюсь настроить автоматический скрипт добавления / проверки / проверки, используя MS Visual Source Safe через командную строку. Онлайн-документация есть… отсутствует… и я надеялся, что кто-то еще пытался сделать что-то подобное в прошлом.

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

Файлы, которые у меня есть, представляют собой скриптовую версию нашей схемы базы данных и выглядят так в репозитории:

$/project_name/DBScripts /servers/ databases /object_types, где object_types — это таблицы, хранимые процедуры и т. Д.

Я пытаюсь сделать следующее:

1- Скрипт всех объектов базы данных для файлов. Эта часть выполнена и работает правильно.
2. Добавьте все новые файлы в репозиторий.
3- Зафиксируйте все файлы, которые были изменены. Убедитесь, что файлы НЕ остаются извлеченными или доступными только для чтения.

ПРАВКА 2:

Снова удален старый код. Ниже приведен текущий код. Add работает правильно, но команда проверки НЕ работает ни с какими файлами, которые были изменены локально.

В этом контексте, если бы я должен был изменить сохраненный процесс A, записать его в файл, затем попробуйте выполнить пакетные команды ниже, все процедуры, КРОМЕ A, будут извлечены.

Я включил 2 примера команды проверки. Ни то, ни другое не работает…

 set PATH=%path%;C:Program FilesMicrosoft Visual SourceSafe
set SSDIR=repo_path

cd DBScripts/server/database/StoredProcedures
ss cp $/project/DBScripts/server/database/StoredProcedures

for %%F in (*.*) do ss add %%~nF%%~xF -C- -I-N -K- -W
for %%F in (*.*) do ss checkout $/project/DBScripts/server/database/StoredProcedures/%%~nF%%~xF -C- -G- -M- -L 
ss checkout $/project/DBScripts/server/database/StoredProcedures *.* -C- -G- -M- -L  -Vltemp
for %%F in (*.*) do ss checkin %%~nF%%~xF -C- -K- -P $/project/DBScripts/server/database/StoredProcedures -W

cd ../../../..
 

Примечание: команда SourceSafe «-R» несовместима. Я бы предпочел перебирать все вложенные папки вручную и выполнять команды «for %%F in (.)».

Комментарии:

1. Не могли бы вы рассказать нам больше о том, «что абсолютно не работает»? Вы получаете какое-либо сообщение об ошибке? Или команды не соответствуют вашим требованиям?

2. Хотя я ценю ответ, ошибки, которые я получил в ходе различных итераций кода, не имеют реальной пользы — я не собираюсь исправлять какую-то ошибку в своем коде. Скорее, мне просто нужна помощь в структурировании правильного ss.exe команда. Кроме того, это, вероятно, должно быть комментарием, а не ответом.

3. Несколько тем, которые я прочитал при поиске решений, предполагают, что SourceSafe потенциально глючит, и может потребоваться обновление. Очень надеюсь, что здесь это не так…

Ответ №1:

Возможная причина заключается в том, что команда проверки выполняется до завершения предыдущих команд добавления / проверки. Попробуйте проверить, успешно ли add перед командой checkout, и проверить, успешно ли checkout перед командой checkin .