Управление задачами с помощью Mercurial сложнее, так как неверные сообщения о коммитах нельзя изменить - PullRequest
2 голосов
/ 08 февраля 2011

Раньше я использовал SVN и мог отслеживать задачу, добавляя номер задачи в сообщение фиксации, например:

-m "Task34: done something"

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

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

1 Ответ

1 голос
/ 08 февраля 2011

Mercurial построен на идее неизменной истории.Каждое изменение строго является добавлением нового набора изменений.Например, удаление чего-либо выполняется путем добавления обратного (с помощью команды backout), чтобы у вас была запись как плохого кода, так и его удаления в истории (в отличие от отсутствия записи в истории).

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

При этом базовая ртутная функциональность не собирается создавать пересматриваемые сообщения коммита,даже если их никогда не подталкивали, потому что это идет вразрез с моделью.Однако есть и другие способы пересмотра кода, пока вы не будете довольны им.Вы можете использовать Mercurial Queues, которые являются изменяемыми наложениями, которые сами по себе могут быть неизменными.

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

Тогда вы сможете сделать что-то вроде:

hg log --keyword Task34

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

...