2013-06-22 2 views
1

Мы собираемся создать диверсию для разработки проекта, где большая часть кода будет отредактирован в VisualStudio 2012.опросом статус подрывной файл всех членов команды

Чтобы избегать людей, блокирующих файлы, мы хотели бы установить механизм опроса, так что членам команды выдается предупреждение о том, что кто-то еще начал редактировать конкретный файл. Это предупреждение подскажет им, что если они внесут изменения, им придется объединить свои изменения с другими текущими изменениями, которые в настоящее время находятся в процессе разработки.

Единственная ссылка на subversion для опроса, которую я могу найти с легкостью, это Jenkins, но это не подходит для установки VS2012/VisualSVN.

Я бы предположил, что использование прецедента для мониторинга удаленных svn изменений статуса будет общим. Кто-нибудь нашел решение для этого?

Настройка какой-либо формы опроса и, возможно, включение специального свойства в файлы с фиксацией с фиксацией после фиксации на изменения триггера на всех машинах может быть сложнее, чем она появляется. Если нет существующего решения, вы можете дать мне указатели, чтобы настроить это?

ответ

3

Я не думаю, что в SVN есть что-либо, что сделает это за вас. Это не обычный случай использования, потому что одновременное редактирование обрабатывается gracefully SVN, и поэтому не считается проблемой, о которой стоит уведомлять других разработчиков.

Если вы хотите получать уведомления о том, что разработчик приступает к редактированию SVN-отслеживаемого файла, вам, вероятно, потребуется разработать механизм самостоятельно. У вас может быть сценарий, запущенный на машине каждого разработчика, каждые 5 минут выполняет «svn status | grep^M» (или как-то эквивалент Windows), а затем отправляет полученный текстовый вывод на (настраиваемый) сервер. Затем сервер мог сравнить текст, полученный от каждой машины-разработчика, и, если он отличается от текста, полученного ранее с этого компьютера, он мог бы отправить другим разработчикам уведомления о внесении изменений.

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

+0

Спасибо Джереми, действительно, кажется, что эффективное использование svn сводится к хорошим привычкам и подружиться с diff. Если мы выполним скрипт статуса, я обязательно добавлю его в этот пост. – FvD

0

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

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

SVN не похож на VSS или TFS, вам не нужно беспокоиться о том, чтобы 2 человека вносили изменения в файл одновременно - SVN (несмотря на некоторые фанкойлы от ребята DVCS) сливается довольно хорошо.

Вам действительно нужно прочитать Redbook, особенно бит около different ways of working with a VCS.

Если вы все еще решите, что вам нужно уведомление о выписках, вам нужно будет запустить Apache с SVN и parse the logs, так как у SVN нет крюка «checkout». (TortoiseSVN, однако, поэтому вы можете использовать это, но некоторые люди не будут использовать Tortoise, они будут использовать VisualSVN или AnkhSVN внутри Visual Studio).