Идея: SVN монитор для ожидающих коммитов? - PullRequest
2 голосов
/ 23 сентября 2010

Я хочу спросить, слышал ли кто-нибудь об инструменте мониторинга SVN для этого случая: в прошлом мы использовали MS SourceSafe с механизмом извлечения и блокировки, чтобы избежать слияний. Одним из преимуществ этого было то, что «менеджер релизов» может видеть в репозитории все файлы, которые еще не проверены. SVN - отличный инструмент, но иногда я пропускаю эту информацию, даже чтобы избежать больших конфликтов. Существует ли система мониторинга, с помощью которой можно узнать, кто изменил файлы, ожидающие отправки? На каждой рабочей станции сервис / демон, собирающий информацию о модификации, периодически отправляет ее на центральный сервер и в клиентские приложения для просмотра информации.

Это всего лишь идея, я не знаю, подходит ли она, имеет ли смысл ...

С уважением, Andi

Ответы [ 4 ]

2 голосов
/ 23 сентября 2010

svn не требует блокировок при оформлении заказа;однако он поддерживает блокировки.Итак, если вашим командам удобнее работать с этим стилем работы, я предлагаю вам использовать svn lock .

В принципе, у вас больше гибкости, чем раньше:

  • Если разработчик просто хочет «попробовать что-то», он может обновить свою рабочую копию и изменить файл, не блокируя ее.

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

1 голос
/ 23 сентября 2010

Так как вы имели в виду MS SourceSafe, я понимаю, что вы можете быть в мире MS, но на всякий случай вы не. Если вы работаете с Java, Ruby, PHP, Javascript, Android, Flex, я бы порекомендовал перейти на IntelliJ IDE, потому что он имеет прекрасный обзор истории SVN, встроенный прямо в вашу IDE. Вы можете видеть каждую регистрацию (вкладка «Репозиторий»), и файлы, измененные в этой регистрации (справа). Я включил снимок экрана как раз в этом случае. Действительно легко, так что вы можете просто разобраться и ругаться.

alt text

0 голосов
/ 23 сентября 2010

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

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

0 голосов
/ 23 сентября 2010

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

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

...