Я пытаюсь автоматизировать процесс создания новых проектов из существующих проектов с использованием скриптов. Моя первоначальная идея состоит в том, что должно быть два сценария:
1: извлечь существующий проект из репозитория svn, а затем переименовать его (то есть выполнить поиск и замену из ExistingProjectName => NewProjectName во всех файлах, затем «svn переименовать» все файлы и каталоги, содержащие строку ExistingProjectName)
2: после того, как пользователь проверил компиляцию и т. Д., Создайте новый проект в хранилище (например, с помощью команды "svn switch")
Идея заключалась в том, что хранилище не следует изменять до тех пор, пока пользователь не сможет выполнить проверки.
Тем не менее, потенциальный риск был указан для меня. После запуска # 1 локальная рабочая копия все еще связана с существующим проектом. Кто-то, кто небрежно коммитит на этом этапе, испортит существующий проект.
Кто-нибудь может подумать о некоторых хитростях SVN, которые могут остановить коммит пользователя после # 1? Я ничего не могу придумать даже после просмотра документации.
Спасибо.
Andy
(Если невозможно остановить фиксацию, нам нужно будет использовать меньшее из двух зол и написать сценарий, чтобы он обновил хранилище, прежде чем пользователь сможет проверить.)