##// END OF EJS Templates
typing: add stub functions for `cext/charencoding`...
typing: add stub functions for `cext/charencoding` I'm not sure if it's better to have a separate file, and currently pytype doesn't really know how to handle these, so it's no help in figuring that out. Technically, these methods are part of the `mercurial.cext.parsers` module, so put them into the existing stub until there's a reason to split it out.

File last commit:

r49536:f8f2ecdd default
r52834:e58f02e2 default
Show More
test-rebase-obsolete.t
746 lines | 19.4 KiB | text/troff | Tads3Lexer
/ tests / test-rebase-obsolete.t
Pierre-Yves David
rebase: allow creation obsolescence relation instead of stripping...
r17612 ==========================
Test rebase with obsolete
==========================
Enable obsolete
$ cat >> $HGRCPATH << EOF
Martin von Zweigbergk
config: add a new [command-templates] section for templates defined by hg...
r46350 > [command-templates]
> log= {rev}:{node|short} {desc|firstline}{if(obsolete,' ({obsfate})')}
Durham Goode
obsolete: update tests to use obsolete options...
r22955 > [experimental]
Boris Feld
config: use 'experimental.evolution.create-markers'...
r34867 > evolution.createmarkers=True
Boris Feld
config: use 'experimental.evolution.allowunstable'...
r34868 > evolution.allowunstable=True
Pierre-Yves David
rebase: allow creation obsolescence relation instead of stripping...
r17612 > [phases]
> publish=False
Laurent Charignon
rebase: fix a typo in test-rebase-obsolete...
r27011 > [extensions]
Pierre-Yves David
rebase: allow creation obsolescence relation instead of stripping...
r17612 > rebase=
Martin von Zweigbergk
tests: demonstrate broken rebase of merge with p1's successor in dest...
r33640 > drawdag=$TESTDIR/drawdag.py
Sushil khanchi
rebase: add --stop option to stop rebase at any point (issue5206)...
r39128 > strip=
Pierre-Yves David
rebase: allow creation obsolescence relation instead of stripping...
r17612 > EOF
Setup rebase canonical repo
$ hg init base
$ cd base
$ hg unbundle "$TESTDIR/bundles/rebase.hg"
adding changesets
adding manifests
adding file changes
added 8 changesets with 7 changes to 7 files (+2 heads)
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets cd010b8cd998:02de42196ebe (8 drafts)
Pierre-Yves David
rebase: allow creation obsolescence relation instead of stripping...
r17612 (run 'hg heads' to see heads, 'hg merge' to merge)
$ hg up tip
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg log -G
@ 7:02de42196ebe H
|
| o 6:eea13746799a G
|/|
o | 5:24b6387c8c8c F
| |
| o 4:9520eea781bc E
|/
| o 3:32af7686d403 D
| |
| o 2:5fddd98957c8 C
| |
| o 1:42ccdea3bb16 B
|/
o 0:cd010b8cd998 A
$ cd ..
simple rebase
---------------------------------
$ hg clone base simple
updating to branch default
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd simple
$ hg up 32af7686d403
3 files updated, 0 files merged, 2 files removed, 0 files unresolved
$ hg rebase -d eea13746799a
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 1:42ccdea3bb16 "B"
rebasing 2:5fddd98957c8 "C"
rebasing 3:32af7686d403 "D"
Pierre-Yves David
rebase: allow creation obsolescence relation instead of stripping...
r17612 $ hg log -G
@ 10:8eeb3c33ad33 D
|
o 9:2327fea05063 C
|
o 8:e4e5be0395b2 B
|
| o 7:02de42196ebe H
| |
o | 6:eea13746799a G
|\|
| o 5:24b6387c8c8c F
| |
o | 4:9520eea781bc E
|/
o 0:cd010b8cd998 A
$ hg log --hidden -G
@ 10:8eeb3c33ad33 D
|
o 9:2327fea05063 C
|
o 8:e4e5be0395b2 B
|
| o 7:02de42196ebe H
| |
o | 6:eea13746799a G
|\|
| o 5:24b6387c8c8c F
| |
o | 4:9520eea781bc E
|/
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 | x 3:32af7686d403 D (rewritten using rebase as 10:8eeb3c33ad33)
Pierre-Yves David
rebase: allow creation obsolescence relation instead of stripping...
r17612 | |
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 | x 2:5fddd98957c8 C (rewritten using rebase as 9:2327fea05063)
Pierre-Yves David
rebase: allow creation obsolescence relation instead of stripping...
r17612 | |
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 | x 1:42ccdea3bb16 B (rewritten using rebase as 8:e4e5be0395b2)
Pierre-Yves David
rebase: allow creation obsolescence relation instead of stripping...
r17612 |/
o 0:cd010b8cd998 A
$ hg debugobsolete
Boris Feld
obsolete: activate effect-flag by default...
r34962 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 e4e5be0395b2cbd471ed22a26b1b6a1a0658a794 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 2327fea05063f39961b14cb69435a9898dc9a245 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
32af7686d403cf45b5d95f2d70cebea587ac806a 8eeb3c33ad33d452c89e5dcf611c347f978fb42b 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
Pierre-Yves David
rebase: allow creation obsolescence relation instead of stripping...
r17612
$ cd ..
empty changeset
---------------------------------
$ hg clone base empty
updating to branch default
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd empty
$ hg up eea13746799a
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
We make a copy of both the first changeset in the rebased and some other in the
set.
$ hg graft 42ccdea3bb16 32af7686d403
Mads Kiilerich
graft: show more useful status information while grafting...
r23505 grafting 1:42ccdea3bb16 "B"
grafting 3:32af7686d403 "D"
Pierre-Yves David
rebase: allow creation obsolescence relation instead of stripping...
r17612 $ hg rebase -s 42ccdea3bb16 -d .
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 1:42ccdea3bb16 "B"
Martin von Zweigbergk
rebase: clarify that commits that become empty are skipped...
r40900 note: not rebasing 1:42ccdea3bb16 "B", its destination already has all its changes
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 2:5fddd98957c8 "C"
rebasing 3:32af7686d403 "D"
Martin von Zweigbergk
rebase: clarify that commits that become empty are skipped...
r40900 note: not rebasing 3:32af7686d403 "D", its destination already has all its changes
Pierre-Yves David
rebase: allow creation obsolescence relation instead of stripping...
r17612 $ hg log -G
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 10:5ae4c968c6ac C
Pierre-Yves David
rebase: allow creation obsolescence relation instead of stripping...
r17612 |
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 @ 9:08483444fef9 D
Pierre-Yves David
rebase: allow creation obsolescence relation instead of stripping...
r17612 |
o 8:8877864f1edb B
|
| o 7:02de42196ebe H
| |
o | 6:eea13746799a G
|\|
| o 5:24b6387c8c8c F
| |
o | 4:9520eea781bc E
|/
o 0:cd010b8cd998 A
$ hg log --hidden -G
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 10:5ae4c968c6ac C
Pierre-Yves David
rebase: allow creation obsolescence relation instead of stripping...
r17612 |
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 @ 9:08483444fef9 D
Pierre-Yves David
rebase: allow creation obsolescence relation instead of stripping...
r17612 |
o 8:8877864f1edb B
|
| o 7:02de42196ebe H
| |
o | 6:eea13746799a G
|\|
| o 5:24b6387c8c8c F
| |
o | 4:9520eea781bc E
|/
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 | x 3:32af7686d403 D (pruned using rebase)
Pierre-Yves David
rebase: allow creation obsolescence relation instead of stripping...
r17612 | |
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 | x 2:5fddd98957c8 C (rewritten using rebase as 10:5ae4c968c6ac)
Pierre-Yves David
rebase: allow creation obsolescence relation instead of stripping...
r17612 | |
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 | x 1:42ccdea3bb16 B (pruned using rebase)
Pierre-Yves David
rebase: allow creation obsolescence relation instead of stripping...
r17612 |/
o 0:cd010b8cd998 A
$ hg debugobsolete
Boris Feld
obsolete: activate effect-flag by default...
r34962 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 {cd010b8cd998f3981a5a8115f94f8da4ab506089} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'rebase', 'user': 'test'}
5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 5ae4c968c6aca831df823664e706c9d4aa34473d 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
32af7686d403cf45b5d95f2d70cebea587ac806a 0 {5fddd98957c8a54a4d436dfe1da9d87f21a1b97b} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'rebase', 'user': 'test'}
Pierre-Yves David
rebase: do not invent successor to skipped changeset...
r18444
Martin von Zweigbergk
tests: demonstrate broken rebase from obsolete commit...
r31295 More complex case where part of the rebase set were already rebased
Pierre-Yves David
rebase: do not invent successor to skipped changeset...
r18444
$ hg rebase --rev 'desc(D)' --dest 'desc(H)'
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 9:08483444fef9 "D"
Martin von Zweigbergk
evolution: report new unstable changesets...
r35727 1 new orphan changesets
Pierre-Yves David
rebase: do not invent successor to skipped changeset...
r18444 $ hg debugobsolete
Boris Feld
obsolete: activate effect-flag by default...
r34962 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 {cd010b8cd998f3981a5a8115f94f8da4ab506089} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'rebase', 'user': 'test'}
5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 5ae4c968c6aca831df823664e706c9d4aa34473d 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
32af7686d403cf45b5d95f2d70cebea587ac806a 0 {5fddd98957c8a54a4d436dfe1da9d87f21a1b97b} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'rebase', 'user': 'test'}
08483444fef91d6224f6655ee586a65d263ad34c 4596109a6a4328c398bde3a4a3b6737cfade3003 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
Pierre-Yves David
rebase: do not invent successor to skipped changeset...
r18444 $ hg log -G
Augie Fackler
rebase: preserve metadata from grafts of changes (issue4001)
r19861 @ 11:4596109a6a43 D
Pierre-Yves David
rebase: do not invent successor to skipped changeset...
r18444 |
av6
graphlog: add another graph node type, unstable, using character "*" (BC)
r35524 | * 10:5ae4c968c6ac C
Pierre-Yves David
rebase: do not invent successor to skipped changeset...
r18444 | |
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 | x 9:08483444fef9 D (rewritten using rebase as 11:4596109a6a43)
Pierre-Yves David
rebase: do not invent successor to skipped changeset...
r18444 | |
| o 8:8877864f1edb B
| |
o | 7:02de42196ebe H
| |
| o 6:eea13746799a G
|/|
o | 5:24b6387c8c8c F
| |
| o 4:9520eea781bc E
|/
o 0:cd010b8cd998 A
Laurent Charignon
rebase: don't rebase obsolete commit whose successor is already rebased...
r26349 $ hg rebase --source 'desc(B)' --dest 'tip' --config experimental.rebaseskipobsolete=True
Jun Wu
rebase: move working parent and bookmark for obsoleted revs (BC)...
r34010 rebasing 8:8877864f1edb "B"
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 note: not rebasing 9:08483444fef9 "D", already in destination as 11:4596109a6a43 tip "D"
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 10:5ae4c968c6ac "C"
Pierre-Yves David
rebase: do not invent successor to skipped changeset...
r18444 $ hg debugobsolete
Boris Feld
obsolete: activate effect-flag by default...
r34962 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 {cd010b8cd998f3981a5a8115f94f8da4ab506089} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'rebase', 'user': 'test'}
5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 5ae4c968c6aca831df823664e706c9d4aa34473d 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
32af7686d403cf45b5d95f2d70cebea587ac806a 0 {5fddd98957c8a54a4d436dfe1da9d87f21a1b97b} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'rebase', 'user': 'test'}
08483444fef91d6224f6655ee586a65d263ad34c 4596109a6a4328c398bde3a4a3b6737cfade3003 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
8877864f1edb05d0e07dc4ba77b67a80a7b86672 462a34d07e599b87ea08676a449373fe4e2e1347 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
5ae4c968c6aca831df823664e706c9d4aa34473d 98f6af4ee9539e14da4465128f894c274900b6e5 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
Boris Feld
revset: remane divergent into contentdivergent...
r33770 $ hg log --rev 'contentdivergent()'
Pierre-Yves David
rebase: do not invent successor to skipped changeset...
r18444 $ hg log -G
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 13:98f6af4ee953 C
Pierre-Yves David
rebase: do not invent successor to skipped changeset...
r18444 |
Augie Fackler
rebase: preserve metadata from grafts of changes (issue4001)
r19861 o 12:462a34d07e59 B
Pierre-Yves David
rebase: do not invent successor to skipped changeset...
r18444 |
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 @ 11:4596109a6a43 D
Pierre-Yves David
rebase: do not invent successor to skipped changeset...
r18444 |
o 7:02de42196ebe H
|
| o 6:eea13746799a G
|/|
o | 5:24b6387c8c8c F
| |
| o 4:9520eea781bc E
|/
o 0:cd010b8cd998 A
Augie Fackler
rebase: preserve metadata from grafts of changes (issue4001)
r19861 $ hg log --style default --debug -r 4596109a6a4328c398bde3a4a3b6737cfade3003
changeset: 11:4596109a6a4328c398bde3a4a3b6737cfade3003
phase: draft
parent: 7:02de42196ebee42ef284b6780a87cdc96e8eaab6
parent: -1:0000000000000000000000000000000000000000
manifest: 11:a91006e3a02f1edf631f7018e6e5684cf27dd905
user: Nicolas Dumazet <nicdumz.commits@gmail.com>
date: Sat Apr 30 15:24:48 2011 +0200
files+: D
extra: branch=default
extra: rebase_source=08483444fef91d6224f6655ee586a65d263ad34c
extra: source=32af7686d403cf45b5d95f2d70cebea587ac806a
description:
D
Matt Harbison
rebase: preserve the 'intermediate-source' attribute of grafts...
r26902 $ hg up -qr 'desc(G)'
$ hg graft 4596109a6a4328c398bde3a4a3b6737cfade3003
grafting 11:4596109a6a43 "D"
$ hg up -qr 'desc(E)'
$ hg rebase -s tip -d .
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 rebasing 14:9e36056a46e3 tip "D"
Matt Harbison
rebase: preserve the 'intermediate-source' attribute of grafts...
r26902 $ hg log --style default --debug -r tip
Siddharth Agarwal
graft: don't preserve most extra fields...
r27974 changeset: 15:627d4614809036ba22b9e7cb31638ddc06ab99ab
Matt Harbison
rebase: preserve the 'intermediate-source' attribute of grafts...
r26902 tag: tip
phase: draft
parent: 4:9520eea781bcca16c1e15acc0ba14335a0e8e5ba
parent: -1:0000000000000000000000000000000000000000
manifest: 15:648e8ede73ae3e497d093d3a4c8fcc2daa864f42
user: Nicolas Dumazet <nicdumz.commits@gmail.com>
date: Sat Apr 30 15:24:48 2011 +0200
files+: D
extra: branch=default
extra: intermediate-source=4596109a6a4328c398bde3a4a3b6737cfade3003
Siddharth Agarwal
graft: don't preserve most extra fields...
r27974 extra: rebase_source=9e36056a46e37c9776168c7375734eebc70e294f
Matt Harbison
rebase: preserve the 'intermediate-source' attribute of grafts...
r26902 extra: source=32af7686d403cf45b5d95f2d70cebea587ac806a
description:
D
Martin von Zweigbergk
tests: demonstrate broken rebase from obsolete commit...
r31295 Start rebase from a commit that is obsolete but not hidden only because it's
a working copy parent. We should be moved back to the starting commit as usual
even though it is hidden (until we're moved there).
$ hg --hidden up -qr 'first(hidden())'
Martin von Zweigbergk
update: print warning about hidden changeset after update...
r37939 updated to hidden changeset 42ccdea3bb16
Boris Feld
update: display the obsfate of hidden revision we update to...
r35729 (hidden revision '42ccdea3bb16' is pruned)
Martin von Zweigbergk
tests: demonstrate broken rebase from obsolete commit...
r31295 $ hg rebase --rev 13 --dest 15
rebasing 13:98f6af4ee953 "C"
Martin von Zweigbergk
rebase: unhide original working directory node as well (issue5219)...
r31297 $ hg log -G
o 16:294a2b93eb4d C
|
o 15:627d46148090 D
|
| o 12:462a34d07e59 B
| |
| o 11:4596109a6a43 D
| |
| o 7:02de42196ebe H
| |
+---o 6:eea13746799a G
| |/
| o 5:24b6387c8c8c F
| |
o | 4:9520eea781bc E
|/
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 | @ 1:42ccdea3bb16 B (pruned using rebase)
Martin von Zweigbergk
rebase: unhide original working directory node as well (issue5219)...
r31297 |/
o 0:cd010b8cd998 A
Martin von Zweigbergk
tests: demonstrate broken rebase from obsolete commit...
r31295
Pierre-Yves David
rebase: allow creation obsolescence relation instead of stripping...
r17612 $ cd ..
Pierre-Yves David
rebase: properly handle --collapse when creating obsolescence marker...
r17613 collapse rebase
---------------------------------
$ hg clone base collapse
updating to branch default
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd collapse
$ hg rebase -s 42ccdea3bb16 -d eea13746799a --collapse
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 1:42ccdea3bb16 "B"
rebasing 2:5fddd98957c8 "C"
rebasing 3:32af7686d403 "D"
Pierre-Yves David
rebase: properly handle --collapse when creating obsolescence marker...
r17613 $ hg log -G
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 8:4dc2197e807b Collapsed revision
Pierre-Yves David
rebase: properly handle --collapse when creating obsolescence marker...
r17613 |
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 | @ 7:02de42196ebe H
Pierre-Yves David
rebase: properly handle --collapse when creating obsolescence marker...
r17613 | |
o | 6:eea13746799a G
|\|
| o 5:24b6387c8c8c F
| |
o | 4:9520eea781bc E
|/
o 0:cd010b8cd998 A
$ hg log --hidden -G
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 8:4dc2197e807b Collapsed revision
Pierre-Yves David
rebase: properly handle --collapse when creating obsolescence marker...
r17613 |
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 | @ 7:02de42196ebe H
Pierre-Yves David
rebase: properly handle --collapse when creating obsolescence marker...
r17613 | |
o | 6:eea13746799a G
|\|
| o 5:24b6387c8c8c F
| |
o | 4:9520eea781bc E
|/
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 | x 3:32af7686d403 D (rewritten using rebase as 8:4dc2197e807b)
Pierre-Yves David
rebase: properly handle --collapse when creating obsolescence marker...
r17613 | |
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 | x 2:5fddd98957c8 C (rewritten using rebase as 8:4dc2197e807b)
Pierre-Yves David
rebase: properly handle --collapse when creating obsolescence marker...
r17613 | |
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 | x 1:42ccdea3bb16 B (rewritten using rebase as 8:4dc2197e807b)
Pierre-Yves David
rebase: properly handle --collapse when creating obsolescence marker...
r17613 |/
o 0:cd010b8cd998 A
Pierre-Yves David
tests: prepare rebase test for wc parent preservation...
r19924 $ hg id --debug -r tip
Pierre-Yves David
rebase: properly handle --collapse when creating obsolescence marker...
r17613 4dc2197e807bae9817f09905b50ab288be2dbbcf tip
$ hg debugobsolete
Boris Feld
obsolete: explicitly track folds inside the markers...
r40078 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 4dc2197e807bae9817f09905b50ab288be2dbbcf 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'fold-id': '6fb65cdc', 'fold-idx': '1', 'fold-size': '3', 'operation': 'rebase', 'user': 'test'}
5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 4dc2197e807bae9817f09905b50ab288be2dbbcf 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'fold-id': '6fb65cdc', 'fold-idx': '2', 'fold-size': '3', 'operation': 'rebase', 'user': 'test'}
32af7686d403cf45b5d95f2d70cebea587ac806a 4dc2197e807bae9817f09905b50ab288be2dbbcf 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'fold-id': '6fb65cdc', 'fold-idx': '3', 'fold-size': '3', 'operation': 'rebase', 'user': 'test'}
Pierre-Yves David
rebase: properly handle --collapse when creating obsolescence marker...
r17613
$ cd ..
Pierre-Yves David
rebase: ensure rebase does not revive extinct revision...
r17615 Rebase set has hidden descendants
---------------------------------
Denis Laxalde
tests: clarify a comment in test-rebase-obsolete.t
r35046 We rebase a changeset which has hidden descendants. Hidden changesets must not
be rebased.
Pierre-Yves David
rebase: ensure rebase does not revive extinct revision...
r17615
$ hg clone base hidden
updating to branch default
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd hidden
Denis Laxalde
tests: add a couple of 'hg log' calls in test-rebase-obsolete.t...
r35048 $ hg log -G
@ 7:02de42196ebe H
|
| o 6:eea13746799a G
|/|
o | 5:24b6387c8c8c F
| |
| o 4:9520eea781bc E
|/
| o 3:32af7686d403 D
| |
| o 2:5fddd98957c8 C
| |
| o 1:42ccdea3bb16 B
|/
o 0:cd010b8cd998 A
Pierre-Yves David
rebase: ensure rebase does not revive extinct revision...
r17615 $ hg rebase -s 5fddd98957c8 -d eea13746799a
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 2:5fddd98957c8 "C"
rebasing 3:32af7686d403 "D"
Denis Laxalde
tests: add a couple of 'hg log' calls in test-rebase-obsolete.t...
r35048 $ hg log -G
o 9:cf44d2f5a9f4 D
|
o 8:e273c5e7d2d2 C
|
| @ 7:02de42196ebe H
| |
o | 6:eea13746799a G
|\|
| o 5:24b6387c8c8c F
| |
o | 4:9520eea781bc E
|/
| o 1:42ccdea3bb16 B
|/
o 0:cd010b8cd998 A
Pierre-Yves David
rebase: ensure rebase does not revive extinct revision...
r17615 $ hg rebase -s 42ccdea3bb16 -d 02de42196ebe
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 1:42ccdea3bb16 "B"
Pierre-Yves David
rebase: ensure rebase does not revive extinct revision...
r17615 $ hg log -G
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 10:7c6027df6a99 B
Pierre-Yves David
rebase: ensure rebase does not revive extinct revision...
r17615 |
| o 9:cf44d2f5a9f4 D
| |
| o 8:e273c5e7d2d2 C
| |
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 @ | 7:02de42196ebe H
Pierre-Yves David
rebase: ensure rebase does not revive extinct revision...
r17615 | |
| o 6:eea13746799a G
|/|
o | 5:24b6387c8c8c F
| |
| o 4:9520eea781bc E
|/
o 0:cd010b8cd998 A
$ hg log --hidden -G
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 10:7c6027df6a99 B
Pierre-Yves David
rebase: ensure rebase does not revive extinct revision...
r17615 |
| o 9:cf44d2f5a9f4 D
| |
| o 8:e273c5e7d2d2 C
| |
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 @ | 7:02de42196ebe H
Pierre-Yves David
rebase: ensure rebase does not revive extinct revision...
r17615 | |
| o 6:eea13746799a G
|/|
o | 5:24b6387c8c8c F
| |
| o 4:9520eea781bc E
|/
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 | x 3:32af7686d403 D (rewritten using rebase as 9:cf44d2f5a9f4)
Pierre-Yves David
rebase: ensure rebase does not revive extinct revision...
r17615 | |
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 | x 2:5fddd98957c8 C (rewritten using rebase as 8:e273c5e7d2d2)
Pierre-Yves David
rebase: ensure rebase does not revive extinct revision...
r17615 | |
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 | x 1:42ccdea3bb16 B (rewritten using rebase as 10:7c6027df6a99)
Pierre-Yves David
rebase: ensure rebase does not revive extinct revision...
r17615 |/
o 0:cd010b8cd998 A
$ hg debugobsolete
Boris Feld
obsolete: activate effect-flag by default...
r34962 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b e273c5e7d2d29df783dce9f9eaa3ac4adc69c15d 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
32af7686d403cf45b5d95f2d70cebea587ac806a cf44d2f5a9f4297a62be94cbdd3dff7c7dc54258 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 7c6027df6a99d93f461868e5433f63bde20b6dfb 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
Pierre-Yves David
rebase: ensure rebase does not revive extinct revision...
r17615
Pierre-Yves David
test: fix in-test comments related to obsolescence...
r18398 Test that rewriting leaving instability behind is allowed
---------------------------------------------------------------------
Pierre-Yves David
rebase: allow non-head rebase-set when obsolete is enabled...
r18164
$ hg log -r 'children(8)'
9:cf44d2f5a9f4 D (no-eol)
$ hg rebase -r 8
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 8:e273c5e7d2d2 "C"
Martin von Zweigbergk
evolution: report new unstable changesets...
r35727 1 new orphan changesets
Pierre-Yves David
rebase: allow non-head rebase-set when obsolete is enabled...
r18164 $ hg log -G
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 11:0d8f238b634c C
Pierre-Yves David
rebase: allow non-head rebase-set when obsolete is enabled...
r18164 |
o 10:7c6027df6a99 B
|
av6
graphlog: add another graph node type, unstable, using character "*" (BC)
r35524 | * 9:cf44d2f5a9f4 D
Pierre-Yves David
rebase: allow non-head rebase-set when obsolete is enabled...
r18164 | |
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 | x 8:e273c5e7d2d2 C (rewritten using rebase as 11:0d8f238b634c)
Pierre-Yves David
rebase: allow non-head rebase-set when obsolete is enabled...
r18164 | |
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 @ | 7:02de42196ebe H
Pierre-Yves David
rebase: allow non-head rebase-set when obsolete is enabled...
r18164 | |
| o 6:eea13746799a G
|/|
o | 5:24b6387c8c8c F
| |
| o 4:9520eea781bc E
|/
o 0:cd010b8cd998 A
Augie Fackler
rebase: introduce support for automatically rebasing orphan changes...
r37805 $ cd ..
$ cp -R hidden stabilize
$ cd stabilize
$ hg rebase --auto-orphans '0::' -d 10
Martin von Zweigbergk
rebase: use cmdutil.check_incompatible_arguments() for --auto-orphans...
r44382 abort: cannot specify both --auto-orphans and --dest
Martin von Zweigbergk
errors: introduce InputError and use it from commands and cmdutil...
r46431 [10]
Augie Fackler
rebase: introduce support for automatically rebasing orphan changes...
r37805 $ hg rebase --auto-orphans '0::'
rebasing 9:cf44d2f5a9f4 "D"
$ hg log -G
o 12:7e3935feaa68 D
|
o 11:0d8f238b634c C
|
o 10:7c6027df6a99 B
|
@ 7:02de42196ebe H
|
| o 6:eea13746799a G
|/|
o | 5:24b6387c8c8c F
| |
| o 4:9520eea781bc E
|/
o 0:cd010b8cd998 A
Pierre-Yves David
rebase: allow non-head rebase-set when obsolete is enabled...
r18164
Augie Fackler
rebase: introduce support for automatically rebasing orphan changes...
r37805 $ cd ../hidden
$ rm -r ../stabilize
Pierre-Yves David
rebase: allow non-head rebase-set when obsolete is enabled...
r18164
Pierre-Yves David
rebase: support multiple roots for rebaseset...
r18424 Test multiple root handling
------------------------------------
$ hg rebase --dest 4 --rev '7+11+9'
Xidorn Quan
rebase: rebase changesets in topo order (issue5370) (BC)...
r30007 rebasing 9:cf44d2f5a9f4 "D"
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 7:02de42196ebe "H"
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 rebasing 11:0d8f238b634c tip "C"
Pierre-Yves David
rebase: support multiple roots for rebaseset...
r18424 $ hg log -G
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 14:1e8370e38cca C
Pierre-Yves David
rebase: support multiple roots for rebaseset...
r18424 |
Xidorn Quan
rebase: rebase changesets in topo order (issue5370) (BC)...
r30007 @ 13:bfe264faf697 H
|
| o 12:102b4c1d889b D
Pierre-Yves David
rebase: support multiple roots for rebaseset...
r18424 |/
av6
graphlog: add another graph node type, unstable, using character "*" (BC)
r35524 | * 10:7c6027df6a99 B
Pierre-Yves David
rebase: support multiple roots for rebaseset...
r18424 | |
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 | x 7:02de42196ebe H (rewritten using rebase as 13:bfe264faf697)
Pierre-Yves David
rebase: support multiple roots for rebaseset...
r18424 | |
+---o 6:eea13746799a G
| |/
| o 5:24b6387c8c8c F
| |
o | 4:9520eea781bc E
|/
o 0:cd010b8cd998 A
Pierre-Yves David
rebase: do not invent successor to skipped changeset...
r18444 $ cd ..
Pierre-Yves David
test-rebase: add another test for rebase with multiple roots...
r18472
Martin von Zweigbergk
tests: demonstrate crash when trying to rebase merge without its parents...
r33641 Detach both parents
$ hg init double-detach
$ cd double-detach
$ hg debugdrawdag <<EOF
> F
> /|
> C E
> | |
> B D G
> \|/
> A
> EOF
Jun Wu
rebase: rewrite core algorithm (issue5578) (issue5630)...
r33783 $ hg rebase -d G -r 'B + D + F'
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 rebasing 1:112478962961 B "B"
rebasing 2:b18e25de2cf5 D "D"
rebasing 6:f15c3adaf214 F tip "F"
Jun Wu
rebase: change "result would have 3 parent" error message (BC)...
r33786 abort: cannot rebase 6:f15c3adaf214 without moving at least one of its parents
Martin von Zweigbergk
errors: use more specific errors in rebase extension...
r47377 [10]
Martin von Zweigbergk
tests: demonstrate crash when trying to rebase merge without its parents...
r33641
$ cd ..
Pierre-Yves David
test-rebase: add another test for rebase with multiple roots...
r18472 test on rebase dropping a merge
(setup)
$ hg init dropmerge
$ cd dropmerge
$ hg unbundle "$TESTDIR/bundles/rebase.hg"
adding changesets
adding manifests
adding file changes
added 8 changesets with 7 changes to 7 files (+2 heads)
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets cd010b8cd998:02de42196ebe (8 drafts)
Pierre-Yves David
test-rebase: add another test for rebase with multiple roots...
r18472 (run 'hg heads' to see heads, 'hg merge' to merge)
$ hg up 3
4 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg merge 7
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg ci -m 'M'
$ echo I > I
$ hg add I
$ hg ci -m I
$ hg log -G
@ 9:4bde274eefcf I
|
o 8:53a6a128b2b7 M
|\
| o 7:02de42196ebe H
| |
| | o 6:eea13746799a G
| |/|
| o | 5:24b6387c8c8c F
| | |
| | o 4:9520eea781bc E
| |/
o | 3:32af7686d403 D
| |
o | 2:5fddd98957c8 C
| |
o | 1:42ccdea3bb16 B
|/
o 0:cd010b8cd998 A
(actual test)
$ hg rebase --dest 6 --rev '((desc(H) + desc(D))::) - desc(M)'
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 3:32af7686d403 "D"
rebasing 7:02de42196ebe "H"
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 rebasing 9:4bde274eefcf tip "I"
Martin von Zweigbergk
evolution: report new unstable changesets...
r35727 1 new orphan changesets
Pierre-Yves David
test-rebase: add another test for rebase with multiple roots...
r18472 $ hg log -G
@ 12:acd174b7ab39 I
|
o 11:6c11a6218c97 H
|
| o 10:b5313c85b22e D
|/
av6
graphlog: add another graph node type, unstable, using character "*" (BC)
r35524 | * 8:53a6a128b2b7 M
Pierre-Yves David
test-rebase: add another test for rebase with multiple roots...
r18472 | |\
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 | | x 7:02de42196ebe H (rewritten using rebase as 11:6c11a6218c97)
Pierre-Yves David
test-rebase: add another test for rebase with multiple roots...
r18472 | | |
o---+ 6:eea13746799a G
| | |
| | o 5:24b6387c8c8c F
| | |
o---+ 4:9520eea781bc E
/ /
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 x | 3:32af7686d403 D (rewritten using rebase as 10:b5313c85b22e)
Pierre-Yves David
test-rebase: add another test for rebase with multiple roots...
r18472 | |
o | 2:5fddd98957c8 C
| |
o | 1:42ccdea3bb16 B
|/
o 0:cd010b8cd998 A
Pierre-Yves David
rebase: ensure rebase revision remains visible (issue4504)...
r23970
Test hidden changesets in the rebase set (issue4504)
$ hg up --hidden 9
Martin von Zweigbergk
update: print warning about hidden changeset after update...
r37939 3 files updated, 0 files merged, 1 files removed, 0 files unresolved
updated to hidden changeset 4bde274eefcf
Boris Feld
update: display the obsfate of hidden revision we update to...
r35729 (hidden revision '4bde274eefcf' was rewritten as: acd174b7ab39)
Pierre-Yves David
rebase: ensure rebase revision remains visible (issue4504)...
r23970 $ echo J > J
$ hg add J
$ hg commit -m J
Martin von Zweigbergk
evolution: report new unstable changesets...
r35727 1 new orphan changesets
av6
branchmap: skip obsolete revisions while computing heads...
r49536 created new head
Pierre-Yves David
rebase: ensure rebase revision remains visible (issue4504)...
r23970 $ hg debugobsolete `hg log --rev . -T '{node}'`
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Pierre-Yves David
rebase: ensure rebase revision remains visible (issue4504)...
r23970
Kostia Balytskyi
rebase: turn rebaseskipobsolete on by default...
r28429 $ hg rebase --rev .~1::. --dest 'max(desc(D))' --traceback --config experimental.rebaseskipobsolete=off
Pierre-Yves David
rebase: ensure rebase revision remains visible (issue4504)...
r23970 rebasing 9:4bde274eefcf "I"
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 rebasing 13:06edfc82198f tip "J"
Martin von Zweigbergk
evolution: report new unstable changesets...
r35727 2 new content-divergent changesets
Pierre-Yves David
rebase: ensure rebase revision remains visible (issue4504)...
r23970 $ hg log -G
@ 15:5ae8a643467b J
|
av6
graphlog: add another graph node type, unstable, using character "*" (BC)
r35524 * 14:9ad579b4a5de I
Pierre-Yves David
rebase: ensure rebase revision remains visible (issue4504)...
r23970 |
av6
graphlog: add another graph node type, unstable, using character "*" (BC)
r35524 | * 12:acd174b7ab39 I
Pierre-Yves David
rebase: ensure rebase revision remains visible (issue4504)...
r23970 | |
| o 11:6c11a6218c97 H
| |
o | 10:b5313c85b22e D
|/
av6
graphlog: add another graph node type, unstable, using character "*" (BC)
r35524 | * 8:53a6a128b2b7 M
Pierre-Yves David
rebase: ensure rebase revision remains visible (issue4504)...
r23970 | |\
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 | | x 7:02de42196ebe H (rewritten using rebase as 11:6c11a6218c97)
Pierre-Yves David
rebase: ensure rebase revision remains visible (issue4504)...
r23970 | | |
o---+ 6:eea13746799a G
| | |
| | o 5:24b6387c8c8c F
| | |
o---+ 4:9520eea781bc E
/ /
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 x | 3:32af7686d403 D (rewritten using rebase as 10:b5313c85b22e)
Pierre-Yves David
rebase: ensure rebase revision remains visible (issue4504)...
r23970 | |
o | 2:5fddd98957c8 C
| |
o | 1:42ccdea3bb16 B
|/
o 0:cd010b8cd998 A
Laurent Charignon
rebase: don't rebase obsolete commit whose successor is already rebased...
r26349 $ hg up 14 -C
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo "K" > K
$ hg add K
$ hg commit --amend -m "K"
Martin von Zweigbergk
evolution: report new unstable changesets...
r35727 1 new orphan changesets
Laurent Charignon
rebase: don't rebase obsolete commit whose successor is already rebased...
r26349 $ echo "L" > L
$ hg add L
$ hg commit -m "L"
$ hg up '.^'
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo "M" > M
$ hg add M
$ hg commit --amend -m "M"
Martin von Zweigbergk
evolution: report new unstable changesets...
r35727 1 new orphan changesets
Laurent Charignon
rebase: don't rebase obsolete commit whose successor is already rebased...
r26349 $ hg log -G
Saurabh Singh
cmdutil: remove the redundant commit during amend...
r34087 @ 18:bfaedf8eb73b M
Laurent Charignon
rebase: don't rebase obsolete commit whose successor is already rebased...
r26349 |
av6
graphlog: add another graph node type, unstable, using character "*" (BC)
r35524 | * 17:97219452e4bd L
Laurent Charignon
rebase: don't rebase obsolete commit whose successor is already rebased...
r26349 | |
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 | x 16:fc37a630c901 K (rewritten using amend as 18:bfaedf8eb73b)
Laurent Charignon
rebase: don't rebase obsolete commit whose successor is already rebased...
r26349 |/
av6
graphlog: add another graph node type, unstable, using character "*" (BC)
r35524 | * 15:5ae8a643467b J
Laurent Charignon
rebase: don't rebase obsolete commit whose successor is already rebased...
r26349 | |
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 | x 14:9ad579b4a5de I (rewritten using amend as 16:fc37a630c901)
Laurent Charignon
rebase: don't rebase obsolete commit whose successor is already rebased...
r26349 |/
av6
graphlog: add another graph node type, unstable, using character "*" (BC)
r35524 | * 12:acd174b7ab39 I
Laurent Charignon
rebase: don't rebase obsolete commit whose successor is already rebased...
r26349 | |
| o 11:6c11a6218c97 H
| |
o | 10:b5313c85b22e D
|/
av6
graphlog: add another graph node type, unstable, using character "*" (BC)
r35524 | * 8:53a6a128b2b7 M
Laurent Charignon
rebase: don't rebase obsolete commit whose successor is already rebased...
r26349 | |\
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 | | x 7:02de42196ebe H (rewritten using rebase as 11:6c11a6218c97)
Laurent Charignon
rebase: don't rebase obsolete commit whose successor is already rebased...
r26349 | | |
o---+ 6:eea13746799a G
| | |
| | o 5:24b6387c8c8c F
| | |
o---+ 4:9520eea781bc E
/ /
Denis Laxalde
tests: conditionally display obsfate in test-rebase-obsolete log output...
r35047 x | 3:32af7686d403 D (rewritten using rebase as 10:b5313c85b22e)
Laurent Charignon
rebase: don't rebase obsolete commit whose successor is already rebased...
r26349 | |
o | 2:5fddd98957c8 C
| |
o | 1:42ccdea3bb16 B
|/
o 0:cd010b8cd998 A
Saurabh Singh
cmdutil: remove the redundant commit during amend...
r34087 $ hg rebase -s 14 -d 17 --config experimental.rebaseskipobsolete=True
note: not rebasing 14:9ad579b4a5de "I", already in destination as 16:fc37a630c901 "K"
Laurent Charignon
rebase: don't rebase obsolete commit whose successor is already rebased...
r26349 rebasing 15:5ae8a643467b "J"
Martin von Zweigbergk
evolution: report new unstable changesets...
r35727 1 new orphan changesets
Laurent Charignon
rebase: don't rebase obsolete commit whose successor is already rebased...
r26349
Pierre-Yves David
rebase: properly handle chains of markers with missing nodes...
r26675 $ cd ..