Я родом из CVS. В настоящее время я изучаю использование SVN для проекта. Код, над которым я работаю, обычно имеет следующую структуру каталогов.
проект \ ЛИЭС \ lib1
Проект \ ЛИЭС \ lib1 \ тест
проект \ ЛИЭС \ lib1 \ фиктивный
проект \ ЛИЭС \ lib2
и т.д.
Когда я отмечаю релиз в CVS, я склонен создавать два тега, один из которых является "project-release-1", а другой - "project-release-1-with-tests". Тег «project-release-1» исключает тестовые каталоги, макеты каталогов и, возможно, некоторые другие файлы. Идея состоит в том, что мы часто не отправляем наш тестовый источник клиентам, и, выполняя экспорт тега «project-release-1», мы получаем клиентский набор исходного кода, который мы можем отправить им, и делая заказ на Тэг "project-release-1-with-tests" позволяет получить весь объем, который мы можем использовать для ветвления, если это необходимо для дальнейшей разработки.
Как мне сделать что-то похожее с SVN? В идеале в форме, которая может быть в сценарии; с SVN у нас есть сценарий для каждого проекта, который будет применять оба тега и создавать тег клиента, просто удаляя тег из каталогов test и mock и т. д. ...
Я предполагаю, что в SVN я бы создал тег "with tests", а затем (каким-то образом) проверил это, удалил каталоги test и mock и создал тег выпуска клиента?
Обновление :
Я решил изменить то, как я это делаю ... Вместо того, чтобы иметь скрипт для проекта, который устанавливает мои двойные теги старого стиля, у меня теперь есть скрипт для проекта, который принимает помеченный релиз (который включает в себя материал, который я не доставлять клиентам) и удаляет вещи, которые я не отправляю клиентам. Работа выполнена, нужен только один тег.