LINUX.ORG.RU

Mercurial - склейка коммитов


0

0

Кто в курсе, есть ли возможность в mercurial делать что-то типа подрепозиториев без лишних телодвижений? К примеру, команда разрабатывает фишку, коммитит, потом ведущий программист оформляет это в виде одного единственного коммита в главный реопзиторий. Без бранчей обойтись можно?


1. Не надо склеивать коммиты, хрен разберёшься потом.

2. Команда может девелопить набор патчей в Mq, потом кто-то делает
`qfold`, а затем `qfinish`.

Sphinx ★★☆☆
()

MQ. Директория с патчами может быть обычным репозиторием, отсюда и плясать.

Zenom ★★★
()

Конечно, mq.

>Без бранчей обойтись можно?

А вот это странно. Суть DVCS в бранчах, их надо любить. Если недавно с сабвершна мигрировал, не пугайся, работа с бранчами меркуриала вовсе не такой ад, как в svn.

anonymous4
()
Ответ на: комментарий от anonymous4

Нет-нет, я бранчей не пугаюсь, просто mercurial используется не только по назначению, но и для обучения новичков в течение самого процесса разработки. Написал он кусок, закоммитил, его наставник запуллил, поправил, сделал коммит. Это просто тривиальный пример. Не хотелось бы, чтобы подобные ситуации палились в общем дереве коммитов. А про Mq да, забыл, надо снова посмотреть.

SMiX
() автор топика
Ответ на: комментарий от SMiX

mq с репозиторием патчей чуть более чем полностью удовлетворяет твоим потребностям.

Забавно только, что обучить ньюфагов-перебезчиков с сабвершн работе с mq может оказаться сложнее, чем обучить их работать с именованными бранчами :)

anonymous4
()
Ответ на: комментарий от SMiX

>Написал он кусок, закоммитил, его наставник запуллил, поправил, сделал коммит.

А может лучше ли сначала клонировать, затем изменение - коммит, изменение - коммит ..., правка - коммит и т.д., а затем запулить в основной?

Macil ★★★★★
()
Ответ на: комментарий от SMiX

Я бы рекомендовал немного подправить схему: ученик использует mq, наставник осуществляет review патча и после этого производится qfin.

Zenom ★★★
()
Ответ на: комментарий от Zenom

Да.

Эх, все никак не дойдут руки до прикручивания к review board демона, который бы проверял почтовый ящик на тему patchbomb и создавал бы ревью-реквесты из них...

anonymous4
()
Ответ на: комментарий от Macil

>>Написал он кусок, закоммитил, его наставник запуллил, поправил, сделал коммит.

>А может лучше ли сначала клонировать, затем изменение - коммит, изменение - коммит ..., правка - коммит и т.д., а затем запулить в основной?

Видимо, не нравится, что в этом случае в истории основного репозитория можно будет найти быдлокод и матные комментарии злобных новичков. Не знаю про меркуриал, но гит вроде умеет при мерже (не пулл!) представлять все изменения одним коммитом.

const86 ★★★★★
()
Ответ на: комментарий от const86

Хм, ну так и в меркуриале мердж -- один коммит. Линейной история делается только если ясно делаешь ребейз (или если не было коммитов в основную ветку, а для слияния используются не именованные бранчи а разные репозитории, но это уже частности).

anonymous4
()
Ответ на: комментарий от anonymous4

> Хм, ну так и в меркуриале мердж -- один коммит.

Не совсем, но это не важно. Если захотеть, то так оно и будет. Получается такая схема: новичок в своей ветке коммитит что-то, потом наставник тянет себе, доводит до ума и делает мерж в основную ветку.

const86 ★★★★★
()
Ответ на: комментарий от const86

Named branches для этого хорошо годятся. Ну и к тому же наставнику ничего не мешает не пулить в свою working dir изменения, а сделать clone из репозитория нуба в свой локальный и потом пуллить в мастер оттуда.

anonymous4
()
Ответ на: комментарий от const86

>> Хм, ну так и в меркуриале мердж -- один коммит.

> Не совсем, но это не важно.

Это относилось к "и", а не к "в меркуриале". В гите можно мержем сохранить всю историю.

const86 ★★★★★
()
Ответ на: комментарий от anonymous4

Топикстартер вроде бы хочет, чтобы не сохранилась. По умолчанию-то она как раз сохраняется.

const86 ★★★★★
()
Ответ на: комментарий от Sphinx

И чем это так плохо? Если человек работает над одной фичей долгое время и делает сотню промежуточных коммитов с откатами то нафига в мэйнлайн сливать этот мусор?

Fray
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.