Как пометить группу изменений / наборов изменений в SVN, Hg или Git - PullRequest
3 голосов
/ 24 мая 2010

Я хотел бы пометить произвольную группу коммитов / наборов изменений меткой.

  • Фиксация 1 * Марк 1
  • Фиксация 2 * Марк 2
  • Совершить 3
  • Фиксация 4 * Марк 1
  • Фиксация 5 * Марк 2

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

Местоположение и порядок следования меток должны быть произвольными и должны быть в состоянии работать как с зафиксированными / незафиксированными, так и с заштрихованными / незафиксированными изменениями.

В SVN лучший способ, который я знаю, - это просто отредактировать примечания о коммитах и ​​добавить какой-то специальный текст, который вы можете искать, например, "** Марк 1". Или просто сделать поддельное редактирование, зафиксировать его и использовать его примечание, чтобы перечислить все включенные ревизии.

Есть ли лучшее решение для SVN? Есть ли эквивалентные или лучшие решения для Hg или Git?

Ответы [ 3 ]

2 голосов
/ 24 мая 2010

Нет специальных метаданных с Git, кроме комментария и даты коммита или тега.

Таким образом, у вас остается три варианта:

Эти два варианта не будут хорошо работать с уже отправленными коммитами.

Третий вариант - связать данные с этими коммитами, например, с заявкой.См. ticgit для примера отслеживания ошибок в билетах встроенный в вашем git-репо.

2 голосов
/ 24 мая 2010

В Mercurial вы бы использовали тег:

hg tag -r REVISIONNUMBER "MARK 1"

Во всех трех системах, о которых вы упомянули, вы не сможете комментировать «незафиксированные ... изменения».

Похоже, если вы полностью поняли параметры ветвления в git или mercurial, вы, вероятно, отказались бы от понятия «группы аннотаций», это то, что делают ветви.

http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/

1 голос
/ 24 мая 2010

Для SVN вы можете использовать «Свойства SVN» или сообщения журнала фиксации. Ознакомьтесь с этим ответом на похожую проблему и поток запросов * . Если вы используете свойства ревизий, чтобы найти ревизии с определенным значением, вам нужно пройтись по всем ревизиям, что в вашем случае может быть проблемой в отношении производительности. Если вы используете журналы фиксации, вы можете использовать svn log и анализировать вывод.

Ссылка: раздел свойств svn book

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...