Visual Source Safe Автоматизированная фиксация - PullRequest
0 голосов
/ 24 октября 2011

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

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

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

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

РЕДАКТИРОВАТЬ 2:

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

В этом контексте, если бы мне пришлось изменить сохраненный proc A, запишите его в файл, а затем попробуйте запустить приведенные ниже пакетные команды., все процы, НО А будут проверены.

Я включил 2 примера команды проверки.Ни один из них не работает ...

set PATH=%path%;C:\Program Files\Microsoft 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" не соответствует.Я бы предпочел перебрать все подпапки вручную и выполнить команды «для %% F в (. )».

1 Ответ

1 голос
/ 26 октября 2011

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

...