DVCS с "именованными коммитами" - PullRequest
4 голосов
/ 23 июля 2010

Я ищу DVCS, который позволил бы мне использовать что-то вроде «именованного коммита» - похоже на то, чего достигают очереди патчей, но не совсем ... (я буду сравнивать только с mq и stg, поскольку я не знаю других подобных)

Очереди исправлений близки, но мне бы хотелось, чтобы эти функции:

  • Создание новой ветки в хранилище,ветки также патч серии.(m q использует глобальные очереди исправлений, git теряет информацию stg при ветвлении и ветвлениях с примененными в настоящее время исправлениями)
  • Возможность перечислять "именованные коммиты", извлекать и выдвигать их как патчи,(оба делают это)
  • Привязка изменений именованного коммита к обычным коммитам - так что, когда я создаю патч на 1-й версии, я изменяю патч на 3-й версии, я все еще могу проверить 1-ю версию и увидетьстарая версия.(mq снова глобален, stg завершается с ошибкой «не на ветке», когда я возвращаюсь к более старой ревизии)
  • То же, что и выше - возможность пометить ревизию таким образом, чтобы при проверкетогда я получаю "именованные коммиты", которые у меня были тогда.

Есть ли что-нибудь подобное там?Какие-нибудь расширения для некоторых DVCS?Или, может быть, есть способ заставить mq или stg вести себя так, как я хочу?Любые предложения?

Кажется, что mq, который хранит информацию в том же репо, что и другие файлы, будет близко к тому, что мне нужно, но возможно ли это вообще?


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

1 Ответ

1 голос
/ 23 июля 2010

Вы можете сделать это с Mercurial, используя mq внутри собственного репо.Большинство команд имеют флаг --mq, который будет работать в очереди исправлений.Для начала используйте hg init --mq (hg qinit также работает, но этот шаблон более ограничен, тем более что qpush будет перегружен).Это создает репо внутри .hg/patches, которое не зависит от основного репо.Затем используйте mq как обычно.Если вы хотите зафиксировать свою очередь патчей, используйте hg commit --mq.

. Вы также можете пометить и разветвить с помощью флага --mq, чтобы отслеживать различные заголовки.К сожалению, похоже, что расширение Bookmarks еще не поддерживает mq, что было бы неплохо, поскольку вам, вероятно, нужны легкие ярлыки.Однако, если вы хотите, вы можете установить псевдоним для qbookmark, который просто добавляет -R .hg/patches, чтобы он работал с репо в очереди исправлений.

Я сам этим не пользовался, но выглядиткак и многие собственные команды Mercurial, поддерживающие --mq, чтобы сделать его возможным для вас.

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