Как я разделяю работу на несколько патчей с подвижными очередями?

Если я крутился далеко в коде некоторое время, и забытый для создания ряда патча, когда я иду, как я создаю ряд патча ретроспективно? До сих пор единственная вещь, которая приходит на ум:

# Prepare and test the first batch of changes.
$ hg qrecord -m 'first batch' 1.patch
$ hg qnew -m 'stash downstream changes' stash-1.patch
$ hg qdelete -k temp-1.patch
$ make hello
cc     hello.c   -o hello
hello.c: In function ‘main’:
hello.c:4: error: syntax error at end of input
make: *** [hello] Error 1
$ echo '}' >> hello.c
$ make hello
cc     hello.c   -o hello
$ hg qrefresh

# Recover the stashed changes.
$ patch -p1 < .hg/patches/last.patch

# And around we go again!
$ hg qrecord -m 'second batch' 2.patch
$ hg qnew -m 'stash downstream changes' stash-2.patch
$ hg qdelete -k stash-2.patch
$ make hello
...

Этот очень громоздкий подход также опасен. Я мог бы забыть -k на qdelete, в которой точке я пойду, колотят мой лоб против кирпичной стены в течение нескольких минут, или я мог бы включать слишком много или слишком мало во время qrecord операции.

Существует ли лучший путь?

(Что я действительно хотел бы, должен быть в состоянии hg qpop к незадолго до патча я хочу разделить, и использовать в настоящее время несуществующую команду, hg qunrecord, в интерактивном режиме высосать изменения из патча в мой рабочий каталог. Как только я доволен изменениями, hg qnew -f мог сжать новый патч перед старым.)

10
задан Marcelo Cantos 27 January 2010 в 01:35
поделиться

3 ответа

MQTUTORIAL объясняет, как разделить патчи. Таким образом, вы можете создать патч из вашей текущей работы и разделить его на несколько патчей.

6
ответ дан 4 December 2019 в 00:24
поделиться

TortoiseHg имеет очень полезную функцию «Hunk Selection» в диалоговом окне Commuck для вида этой работы:
http://tortoisehg.bitsbucket.io/manual/2.0/commit.html#change-sevelife

3
ответ дан 4 December 2019 в 00:24
поделиться

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

2
ответ дан 4 December 2019 в 00:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: