Мы пытаемся внедрить то, что, как мы надеемся, является хорошей практикой разработки: каждая фиксация должна быть связана с проблемой в системе отслеживания ошибок. (Совершенно приемлемо создать новый выпуск, чтобы удовлетворить это требование.)
Наш трекер проблем (Redmine) и DVCS (Mercurial) хорошо интегрируются, но у нас есть одна проблема: что произойдет, если разработчику нужно что-то зафиксировать в автономном режиме? В настоящее время доступ к Redmine осуществляется онлайн, а доступ к Mercurial осуществляется через TortoiseHG (Windows) или оболочку (Linux).
Мне неизвестен какой-либо инструмент (например, настольный клиент Windows, коммерческий или бесплатный), который позволяет использовать Redmine в автономном режиме (для создания проблем, а не только для их просмотра). Мы бы даже не отказались скопировать базу данных Redmine на машину каждого разработчика, но тогда синхронизировать базы данных будет непросто.
Что нам делать? Я вижу следующие варианты:
Переключитесь с Redmine на средство отслеживания проблем с автономной поддержкой. [Я не думаю, что Trac намного лучше]
Придумайте какое-нибудь решение для создания проблем в Redmine в автономном режиме. [не знаю как, не вызывая, а не решая проблем]
Откажитесь от идеи, что коммиты всегда должны относиться к существующей проблеме. [но это казалось такой хорошей идеей]
Обратная ссылка фиксирует проблемы. [это требует, чтобы разработчики записывали описание каждой проблемы во временном месте, позже копировали их в Redmine, а затем вручную связывали новую проблему с фиксацией; неэффективен и подвержен ошибкам]
Запретить офлайн-коммиты (таким образом, запретить работу офлайн). [кажется глупым, учитывая, что DVCS был выбран в первую очередь для работы в автономном режиме]
Что бы вы посоветовали?