Я ищу передовые методы, чтобы делать следующее:
Когда мне нужно реализовать функцию или исправить ошибку, я создаю новый репозиторий Mercurial из основного (ствола). Затем, в течение нескольких дней или недель, я реализую задачу во вновь созданном репозитории, делаю коммиты и периодически сливаюсь со стволом. После того, как код в новом репозитории пройдет все проверки кода, я должен предоставить репозиторий со всеми изменениями, свернутыми в одну ревизию.
Мой обычный способ сделать это (должно быть включено расширение rdiff):
hg clone ~/repos/trunk ~/repos/new-collapsed cd ~/repos/new-collapsed hg diff ~/repos/new > new.diff patch -p1 < new.diff hg commit
Это работает почти хорошо, за исключением случаев, когда в изменениях из ~ / repos / new присутствуют двоичные файлы. Другой способ:
hg clone ~/repos/trunk ~/repos/new-collapsed cd ~/repos/new-collapsed hg pull ~/repos/new hg update hg rollback then resolve possible conflicts and manually commit the changes
Оба способа кажутся мне несколько уродливыми и неродными, поэтому я ищу, как можно упростить эту операцию. Я играл с расширением rebase, но похоже, что его команда hg rebase --collapse
не работает с рабочим процессом, описанным выше .
Любые идеи приветствуются.