2008-10-10 2 views
6

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

Есть много хороших инструментов коды обзора, но никто на самом деле не позволяет мне легко поддержке этой последовательности действий:

  • изменения кода.
  • Легко отправьте свой код из своего инструмента (например, Eclipse), чтобы просмотреть систему.
  • Получите код, одобренный кем-то еще в системе обзора.
  • Отправьте код. Репозиторий аннулирует его, если он не одобрен.

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

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

+1

Зачем вам нужно пересмотреть свой код? Не соответствуют ли они стандартам? Является ли их код нарушением сборки? Вы ищете недостатки? Являются ли вопросы, связанные с отдельными разработчиками, или вы хотите просмотреть код от кого-либо, когда совершаете определенные области системы? – 2008-10-10 12:09:10

ответ

0

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

4

Возможно, вам будет полезно перейти на систему управления распределенной версией, такую ​​как Git или Bazaar. Вы должны иметь возможность поддерживать систему, в которой вы можете проверить слияния в основное репо.

Инструменты для каждого из них не такие продвинутые, как SVN (пока), но они в порядке. Просто подумать.

+0

Ребята, стоящие за черепахой bzr, перестали называть это доказательством концепции и теперь упаковывают его с установками Windows. – 2008-10-10 10:09:21

0

В Bazaar у вас может быть Human GateKeeper в рабочем процессе, который будет работать рецензентом.

Команды на базаре очень похожи, как в SVN, плюс дополнительные, отличные функциональные возможности (например, смены стеллажей и т. Д.).

Bazaar оказывает базовую поддержку для импорта SVN-репо с полной историей, поддерживает подключаемые модули и TortoiseBzr. Вы также можете заглянуть в QBzr.

0

Мое ощущение, что этот вид рабочего процесса следует отслеживать в вашем программном обеспечении отслеживания ошибок. Например, Trac позволяет создавать пользовательские рабочие процессы для реализации этапа проверки кода. Он также имеет плагин XMLRPC, который позволит вам запретить объединение ветвей билета, если их связанный билет не достигнет правильной точки рабочего процесса.

1

Я не уверен, что есть «идеальный» способ сделать это - я посмотрел!

два варианта, которые я использовал являются:

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

  • Низкотехнологичное решение: просмотрите код на компьютере пользователя, прежде чем он проверяет код, просматривает общий диск или что-то подходящее в вашей среде.

Я также рассмотрел варианты, такие как svk, которая представляет собой распределенную версию диверсии, но не имеют опыта на самом деле не использовать его.

Также можно синхронизировать с svn на git. Это позволит вам сохранить svn и получить рабочий процесс обзора за счет сложности. Также звучит довольно хрупко.

0

отправить исправления в список рассылки вашего проекта?

Возможно, это была бы миссия разработать что-то для этого. Использование двух репозиториев и некоторого программного обеспечения для веб-сайтов, которое объединяет код из репозиториев «pre-commit» в репозитории, когда выполняются определенные рекомендации.

3

Код Коллаборатор (http://www.smartbear.com/codecollab.php) делает все, что вы хотите. Мы используем его с Perforce. Создание отзывов легко сделать изнутри клиента perforce или из Eclipse, если хотите. Обзоры просто обрабатываются с помощью веб-интерфейса. Вам не нужно делать свои собственные различия. Он отслеживает дефекты для вас.

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

0

Team Foundation Server имеет концепцию «стеллажного кода», которая по существу создает мини-ветвь, которую вы можете вытащить вниз для обзора. В этот момент вы можете слить отложенный код в основную ветку после утверждения. Вы также можете установить права, чтобы кто-то мог только отложить код, а не проверять багажник. Затем вы предоставляете права определенным лицам, чтобы они могли выполнять слияния, предположительно, после надлежащего цикла обзора.