##// END OF EJS Templates
shelve: add a shelve extension to save/restore working changes...
shelve: add a shelve extension to save/restore working changes This extension saves shelved changes using a temporary draft commit, and bundles the temporary commit and its draft ancestors, then strips them. This strategy makes it possible to use Mercurial's bundle and merge machinery to resolve conflicts if necessary when unshelving, even when the destination commit or its ancestors have been amended, squashed, or evolved. (Once a change has been unshelved, its associated unbundled commits are either rolled back or stripped.) Storing the shelved change as a bundle also avoids the difficulty that hidden commits would cause, of making it impossible to amend the parent if it is a draft commits (a common scenario). Although this extension shares its name and some functionality with the third party hgshelve extension, it has little else in common. Notably, the hgshelve extension shelves changes as unified diffs, which makes conflict resolution a matter of finding .rej files and conflict markers, and cleaning up the mess by hand. We do not yet allow hunk-level choosing of changes to record. Compared to the hgshelve extension, this is a small regression in usability, but we hope to integrate that at a later point, once the record machinery becomes more reusable and robust.

File last commit:

r17132:b87acfda default
r19854:49d4919d default
Show More
test-excessive-merge.t
101 lines | 3.0 KiB | text/troff | Tads3Lexer
/ tests / test-excessive-merge.t
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 $ hg init
$ echo foo > a
$ echo foo > b
$ hg add a b
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg ci -m "test"
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974
$ echo blah > a
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg ci -m "branch a"
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974
$ hg co 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo blah > b
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg ci -m "branch b"
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 created new head
$ HGMERGE=true hg merge 1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg ci -m "merge b/a -> blah"
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974
$ hg co 1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ HGMERGE=true hg merge 2
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg ci -m "merge a/b -> blah"
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 created new head
$ hg log
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 4:2ee31f665a86
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 tag: tip
Martin Geisler
tests: remove unneeded -d flags...
r12156 parent: 1:96155394af80
parent: 2:92cc4c306b19
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 summary: merge a/b -> blah
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 3:e16a66a37edd
parent: 2:92cc4c306b19
parent: 1:96155394af80
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 summary: merge b/a -> blah
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 2:92cc4c306b19
parent: 0:5e0375449e74
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 summary: branch b
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 1:96155394af80
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 summary: branch a
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 0:5e0375449e74
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 summary: test
Sune Foldager
debugindex etc.: add --changelog and --manifest options...
r14323 $ hg debugindex --changelog
Bryan O'Sullivan
tests: reduce spurious failures when run with generaldelta...
r17132 rev offset length ..... linkrev nodeid p1 p2 (re)
0 0 60 ..... 0 5e0375449e74 000000000000 000000000000 (re)
1 60 62 ..... 1 96155394af80 5e0375449e74 000000000000 (re)
2 122 62 ..... 2 92cc4c306b19 5e0375449e74 000000000000 (re)
3 184 69 ..... 3 e16a66a37edd 92cc4c306b19 96155394af80 (re)
4 253 29 ..... 4 2ee31f665a86 96155394af80 92cc4c306b19 (re)
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974
revision 1
$ hg manifest --debug 1
79d7492df40aa0fa093ec4209be78043c181f094 644 a
2ed2a3912a0b24502043eae84ee4b279c18b90dd 644 b
revision 2
$ hg manifest --debug 2
2ed2a3912a0b24502043eae84ee4b279c18b90dd 644 a
79d7492df40aa0fa093ec4209be78043c181f094 644 b
revision 3
$ hg manifest --debug 3
79d7492df40aa0fa093ec4209be78043c181f094 644 a
79d7492df40aa0fa093ec4209be78043c181f094 644 b
revision 4
$ hg manifest --debug 4
79d7492df40aa0fa093ec4209be78043c181f094 644 a
79d7492df40aa0fa093ec4209be78043c181f094 644 b
Sune Foldager
tests: fix deprecated use of hg debugdata/debugindex...
r14182 $ hg debugindex a
Bryan O'Sullivan
tests: reduce spurious failures when run with generaldelta...
r17132 rev offset length ..... linkrev nodeid p1 p2 (re)
0 0 5 ..... 0 2ed2a3912a0b 000000000000 000000000000 (re)
1 5 6 ..... 1 79d7492df40a 2ed2a3912a0b 000000000000 (re)
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 5 changesets, 4 total revisions