sapling/tests/test-fb-hgext-fbhistedit-graft.t
Jun Wu 7fa918cefd perftweaks: move commit head detection removal logic to core
Summary: Also change the internal API so it no longer accepts the "heads" argument.

Reviewed By: ryanmce

Differential Revision: D6745865

fbshipit-source-id: 368742be49b192f7630421003552d0a10eb0b76d
2018-04-13 21:50:52 -07:00

93 lines
2.3 KiB
Raku

$ . "$TESTDIR/histedit-helpers.sh"
$ cat >> $HGRCPATH <<EOF
> [extensions]
> fbhistedit=
> histedit=
> rebase=
> [alias]
> tglog = log -G --template "{rev}:{node}:{phase} '{desc}'\n"
> EOF
$ hg init repo
$ cd repo
$ echo base > base
$ hg add base
$ hg commit -m "base"
$ for x in a b c ; do
> echo $x > $x
> hg add $x
> hg commit -m $x
> done
$ hg up -q 0
$ for x in d e f ; do
> echo $x > $x
> hg add $x
> hg commit -m $x
> done
$ hg tglog
@ 6:1eb7eda15cd7b2222738a7c9b47d1f51349b2bdb:draft 'f'
|
o 5:581a2eefdc84e2ec03c03b152f4982eefd77d7d8:draft 'e'
|
o 4:331acda6ee0072ace4b46c46bf80bb585d55d799:draft 'd'
|
| o 3:f9d2e574dc5853aac398917ed798d8640e8203af:draft 'c'
| |
| o 2:c87fe1ae405ff0a6dcc1ce27064cb9d303a05734:draft 'b'
| |
| o 1:c604726e05fb3a349978173b3ab4a3ee6e43cd6c:draft 'a'
|/
o 0:d20a80d4def38df63a4b330b7fb688f3d4cae1e3:draft 'base'
Use histedit to graft an extra commit into current history
$ hg up -q 3
$ hg histedit 1 --commands - 2>&1 << EOF | fixbundle
> pick c604726e05fb
> pick c87fe1ae405f
> graft 581a2eefdc84
> pick f9d2e574dc58
> EOF
$ hg tglog
@ 7:fc9a25c1b8afb917f8e3dacad873f0d0bea14a96:draft 'c'
|
o 6:efc3ff9af0d1c5d50876bd81f6c4782dccc1c5b2:draft 'e'
|
| o 5:1eb7eda15cd7b2222738a7c9b47d1f51349b2bdb:draft 'f'
| |
| o 4:581a2eefdc84e2ec03c03b152f4982eefd77d7d8:draft 'e'
| |
| o 3:331acda6ee0072ace4b46c46bf80bb585d55d799:draft 'd'
| |
o | 2:c87fe1ae405ff0a6dcc1ce27064cb9d303a05734:draft 'b'
| |
o | 1:c604726e05fb3a349978173b3ab4a3ee6e43cd6c:draft 'a'
|/
o 0:d20a80d4def38df63a4b330b7fb688f3d4cae1e3:draft 'base'
Try to use histedit to graft a non-existent commit
$ hg histedit 1 --commands - 2>&1 << EOF | fixbundle
> pick c604726e05fb
> pick c87fe1ae405f
> graft abcdefabcdef
> pick fc3ff9af0d1c
> pick fc9a25c1b8af
> EOF
hg: parse error: unknown changeset abcdefabcdef listed
Try to use histedit to graft a commit from the set of commits being edited
$ hg histedit 1 --commands - 2>&1 << EOF | fixbundle
> pick c604726e05fb
> pick c87fe1ae405f
> graft fc9a25c1b8af
> pick fc3ff9af0d1c
> pick fc9a25c1b8af
> EOF
hg: parse error: graft "fc9a25c1b8af" changeset was an edited list candidate
(graft must only use unlisted changesets)