Как создать репозитарные действия после фиксации проекта - PullRequest
3 голосов
/ 16 сентября 2008

В настоящее время у нас есть несколько основных проектов, каждый в своем собственном хранилище. Для контроля версий нам потребуется до десятка дополнительных проектов. VisualSVN рекомендует создать 1 репозиторий для нашей компании, а затем vc все проекты внутри него.

Хорошей практикой является создание одного репозитория для всей компании или отдела и сохранение всех ваших проектов в этом репозитории. Создание отдельного репозитория для каждого проекта не очень хорошая идея, потому что в этом случае вы не сможете выполнять такие операции Subversion, как кросс-проект копирования, сравнения и слияния. VisualSvn.com

В настоящее время мы используем перехваты после фиксации для обновления сервера тестирования последним коммитом и выполнения других действий, специфичных для проекта (например, отправка определенных сообщений по электронной почте для одного проекта, но не для других), в зависимости от того, какой проект был зафиксирован.

Поскольку post-commit работает для всего хранилища, возможно ли это в такой ситуации? Как мне узнать, в каком проекте произошли изменения? фильтровать структуру папок?

Ответы [ 3 ]

1 голос
/ 16 сентября 2008

Из post-commit ловушки выполните команду svnlook changed , чтобы узнать, какие пути затрагиваются коммитом. Вы можете использовать grep, чтобы увидеть, включают ли они какой-либо путь проекта.

1 голос
/ 16 сентября 2008

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

0 голосов
/ 16 сентября 2008

Я не уверен, что согласен с этой рекомендацией VisualSVN. Я всегда настраивал отдельные репозитории для каждого проекта и никогда не сталкивался с ситуацией, когда мне хотелось бы объединиться между проектами или что-то в этом роде.

Если в вашей компании есть общий код, который совместно используется проектами, он должен стать собственным проектом совместно используемой библиотеки (также с собственным репозиторием).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...