Mercurial > hg
annotate tests/test-rebase-dest.t @ 51711:832a1aeb576f
pytype: only try the hacky way of finding PYTHON if not provided
This allows us to work in more environments, like when using pyenv. This
syntax is compatible with all POSIX shells.
author | Raphaël Gomès <rgomes@octobus.net> |
---|---|
date | Tue, 23 Jul 2024 12:10:31 +0200 |
parents | 42d2b31cee0b |
children |
rev | line source |
---|---|
31729
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
1 Require a destination |
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
2 $ cat >> $HGRCPATH <<EOF |
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
3 > [extensions] |
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
4 > rebase = |
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
5 > [commands] |
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
6 > rebase.requiredest = True |
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
7 > EOF |
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
8 $ hg init repo |
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
9 $ cd repo |
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
10 $ echo a >> a |
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
11 $ hg commit -qAm aa |
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
12 $ echo b >> b |
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
13 $ hg commit -qAm bb |
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
14 $ hg up ".^" |
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
15 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
16 $ echo c >> c |
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
17 $ hg commit -qAm cc |
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
18 $ hg rebase |
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
19 abort: you must specify a destination |
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
20 (use: hg rebase -d REV) |
46632
9989a276712f
errors: use more specific errors in rebase extension
Martin von Zweigbergk <martinvonz@google.com>
parents:
45906
diff
changeset
|
21 [10] |
31729
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
22 $ hg rebase -d 1 |
45771
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
23 rebasing 2:5db65b93a12b tip "cc" |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
35385
diff
changeset
|
24 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/5db65b93a12b-4fb789ec-rebase.hg |
31729
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
25 $ hg rebase -d 0 -r . -q |
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
26 $ HGPLAIN=1 hg rebase |
45771
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
27 rebasing 2:889b0bc6a730 tip "cc" |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
35385
diff
changeset
|
28 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/889b0bc6a730-41ec4f81-rebase.hg |
31729
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
29 $ hg rebase -d 0 -r . -q |
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
30 $ hg --config commands.rebase.requiredest=False rebase |
45771
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
31 rebasing 2:279de9495438 tip "cc" |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
35385
diff
changeset
|
32 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/279de9495438-ab0a5128-rebase.hg |
31729
c069c4e271e3
rebase: move destination test to new test file
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
33 |
31730
6931c3346551
rebase: test to show brokenness with requiredest
Ryan McElroy <rmcelroy@fb.com>
parents:
31729
diff
changeset
|
34 Requiring dest should not break continue or other rebase options |
6931c3346551
rebase: test to show brokenness with requiredest
Ryan McElroy <rmcelroy@fb.com>
parents:
31729
diff
changeset
|
35 $ hg up 1 -q |
6931c3346551
rebase: test to show brokenness with requiredest
Ryan McElroy <rmcelroy@fb.com>
parents:
31729
diff
changeset
|
36 $ echo d >> c |
6931c3346551
rebase: test to show brokenness with requiredest
Ryan McElroy <rmcelroy@fb.com>
parents:
31729
diff
changeset
|
37 $ hg commit -qAm dc |
6931c3346551
rebase: test to show brokenness with requiredest
Ryan McElroy <rmcelroy@fb.com>
parents:
31729
diff
changeset
|
38 $ hg log -G -T '{rev} {desc}' |
6931c3346551
rebase: test to show brokenness with requiredest
Ryan McElroy <rmcelroy@fb.com>
parents:
31729
diff
changeset
|
39 @ 3 dc |
6931c3346551
rebase: test to show brokenness with requiredest
Ryan McElroy <rmcelroy@fb.com>
parents:
31729
diff
changeset
|
40 | |
6931c3346551
rebase: test to show brokenness with requiredest
Ryan McElroy <rmcelroy@fb.com>
parents:
31729
diff
changeset
|
41 | o 2 cc |
6931c3346551
rebase: test to show brokenness with requiredest
Ryan McElroy <rmcelroy@fb.com>
parents:
31729
diff
changeset
|
42 |/ |
6931c3346551
rebase: test to show brokenness with requiredest
Ryan McElroy <rmcelroy@fb.com>
parents:
31729
diff
changeset
|
43 o 1 bb |
6931c3346551
rebase: test to show brokenness with requiredest
Ryan McElroy <rmcelroy@fb.com>
parents:
31729
diff
changeset
|
44 | |
6931c3346551
rebase: test to show brokenness with requiredest
Ryan McElroy <rmcelroy@fb.com>
parents:
31729
diff
changeset
|
45 o 0 aa |
6931c3346551
rebase: test to show brokenness with requiredest
Ryan McElroy <rmcelroy@fb.com>
parents:
31729
diff
changeset
|
46 |
6931c3346551
rebase: test to show brokenness with requiredest
Ryan McElroy <rmcelroy@fb.com>
parents:
31729
diff
changeset
|
47 $ hg rebase -d 2 |
45771
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
48 rebasing 3:0537f6b50def tip "dc" |
31730
6931c3346551
rebase: test to show brokenness with requiredest
Ryan McElroy <rmcelroy@fb.com>
parents:
31729
diff
changeset
|
49 merging c |
6931c3346551
rebase: test to show brokenness with requiredest
Ryan McElroy <rmcelroy@fb.com>
parents:
31729
diff
changeset
|
50 warning: conflicts while merging c! (edit, then use 'hg resolve --mark') |
45150
dc5e5577af39
error: unify the error message formats for 'rebase' and 'unshelve'
Daniel Ploch <dploch@google.com>
parents:
44556
diff
changeset
|
51 unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') |
45826
21733e8c924f
errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents:
45771
diff
changeset
|
52 [240] |
31730
6931c3346551
rebase: test to show brokenness with requiredest
Ryan McElroy <rmcelroy@fb.com>
parents:
31729
diff
changeset
|
53 $ echo d > c |
6931c3346551
rebase: test to show brokenness with requiredest
Ryan McElroy <rmcelroy@fb.com>
parents:
31729
diff
changeset
|
54 $ hg resolve --mark --all |
6931c3346551
rebase: test to show brokenness with requiredest
Ryan McElroy <rmcelroy@fb.com>
parents:
31729
diff
changeset
|
55 (no more unresolved files) |
6931c3346551
rebase: test to show brokenness with requiredest
Ryan McElroy <rmcelroy@fb.com>
parents:
31729
diff
changeset
|
56 continue: hg rebase --continue |
6931c3346551
rebase: test to show brokenness with requiredest
Ryan McElroy <rmcelroy@fb.com>
parents:
31729
diff
changeset
|
57 $ hg rebase --continue |
45771
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
58 rebasing 3:0537f6b50def tip "dc" |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
35385
diff
changeset
|
59 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/0537f6b50def-be4c7386-rebase.hg |
31732
9ddf875183b0
rebase: demonstrate behavior with requiredest and pull --rebase
Ryan McElroy <rmcelroy@fb.com>
parents:
31731
diff
changeset
|
60 |
9ddf875183b0
rebase: demonstrate behavior with requiredest and pull --rebase
Ryan McElroy <rmcelroy@fb.com>
parents:
31731
diff
changeset
|
61 $ cd .. |
9ddf875183b0
rebase: demonstrate behavior with requiredest and pull --rebase
Ryan McElroy <rmcelroy@fb.com>
parents:
31731
diff
changeset
|
62 |
9ddf875183b0
rebase: demonstrate behavior with requiredest and pull --rebase
Ryan McElroy <rmcelroy@fb.com>
parents:
31731
diff
changeset
|
63 Check rebase.requiredest interaction with pull --rebase |
9ddf875183b0
rebase: demonstrate behavior with requiredest and pull --rebase
Ryan McElroy <rmcelroy@fb.com>
parents:
31731
diff
changeset
|
64 $ hg clone repo clone |
9ddf875183b0
rebase: demonstrate behavior with requiredest and pull --rebase
Ryan McElroy <rmcelroy@fb.com>
parents:
31731
diff
changeset
|
65 updating to branch default |
9ddf875183b0
rebase: demonstrate behavior with requiredest and pull --rebase
Ryan McElroy <rmcelroy@fb.com>
parents:
31731
diff
changeset
|
66 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
9ddf875183b0
rebase: demonstrate behavior with requiredest and pull --rebase
Ryan McElroy <rmcelroy@fb.com>
parents:
31731
diff
changeset
|
67 $ cd repo |
9ddf875183b0
rebase: demonstrate behavior with requiredest and pull --rebase
Ryan McElroy <rmcelroy@fb.com>
parents:
31731
diff
changeset
|
68 $ echo e > e |
9ddf875183b0
rebase: demonstrate behavior with requiredest and pull --rebase
Ryan McElroy <rmcelroy@fb.com>
parents:
31731
diff
changeset
|
69 $ hg commit -qAm ee |
9ddf875183b0
rebase: demonstrate behavior with requiredest and pull --rebase
Ryan McElroy <rmcelroy@fb.com>
parents:
31731
diff
changeset
|
70 $ cd .. |
9ddf875183b0
rebase: demonstrate behavior with requiredest and pull --rebase
Ryan McElroy <rmcelroy@fb.com>
parents:
31731
diff
changeset
|
71 $ cd clone |
9ddf875183b0
rebase: demonstrate behavior with requiredest and pull --rebase
Ryan McElroy <rmcelroy@fb.com>
parents:
31731
diff
changeset
|
72 $ echo f > f |
9ddf875183b0
rebase: demonstrate behavior with requiredest and pull --rebase
Ryan McElroy <rmcelroy@fb.com>
parents:
31731
diff
changeset
|
73 $ hg commit -qAm ff |
9ddf875183b0
rebase: demonstrate behavior with requiredest and pull --rebase
Ryan McElroy <rmcelroy@fb.com>
parents:
31731
diff
changeset
|
74 $ hg pull --rebase |
31733
ae6bab095c66
rebase: abort hg pull --rebase if rebase.requiredest is set (issue5514)
Ryan McElroy <rmcelroy@fb.com>
parents:
31732
diff
changeset
|
75 abort: rebase destination required by configuration |
ae6bab095c66
rebase: abort hg pull --rebase if rebase.requiredest is set (issue5514)
Ryan McElroy <rmcelroy@fb.com>
parents:
31732
diff
changeset
|
76 (use hg pull followed by hg rebase -d DEST) |
46632
9989a276712f
errors: use more specific errors in rebase extension
Martin von Zweigbergk <martinvonz@google.com>
parents:
45906
diff
changeset
|
77 [10] |
31732
9ddf875183b0
rebase: demonstrate behavior with requiredest and pull --rebase
Ryan McElroy <rmcelroy@fb.com>
parents:
31731
diff
changeset
|
78 |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
79 Setup rebase with multiple destinations |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
80 |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
81 $ cd $TESTTMP |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
82 |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
83 $ cat >> $TESTTMP/maprevset.py <<EOF |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
84 > from mercurial import registrar, revset, revsetlang, smartset |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
85 > revsetpredicate = registrar.revsetpredicate() |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
86 > cache = {} |
36272
164ed6d54fdf
tests: add b prefixes to test-rebase-dest.t
Augie Fackler <augie@google.com>
parents:
35709
diff
changeset
|
87 > @revsetpredicate(b'map') |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
88 > def map(repo, subset, x): |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
89 > """(set, mapping)""" |
36272
164ed6d54fdf
tests: add b prefixes to test-rebase-dest.t
Augie Fackler <augie@google.com>
parents:
35709
diff
changeset
|
90 > setarg, maparg = revsetlang.getargs(x, 2, 2, b'') |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
91 > rset = revset.getset(repo, smartset.fullreposet(repo), setarg) |
36272
164ed6d54fdf
tests: add b prefixes to test-rebase-dest.t
Augie Fackler <augie@google.com>
parents:
35709
diff
changeset
|
92 > mapstr = revsetlang.getstring(maparg, b'') |
164ed6d54fdf
tests: add b prefixes to test-rebase-dest.t
Augie Fackler <augie@google.com>
parents:
35709
diff
changeset
|
93 > map = dict(a.split(b':') for a in mapstr.split(b',')) |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
94 > rev = rset.first() |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
95 > desc = repo[rev].description() |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
96 > newdesc = map.get(desc) |
36272
164ed6d54fdf
tests: add b prefixes to test-rebase-dest.t
Augie Fackler <augie@google.com>
parents:
35709
diff
changeset
|
97 > if newdesc == b'null': |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
98 > revs = [-1] |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
99 > else: |
36272
164ed6d54fdf
tests: add b prefixes to test-rebase-dest.t
Augie Fackler <augie@google.com>
parents:
35709
diff
changeset
|
100 > query = revsetlang.formatspec(b'desc(%s)', newdesc) |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
101 > revs = repo.revs(query) |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
102 > return smartset.baseset(revs) |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
103 > EOF |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
104 |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
105 $ cat >> $HGRCPATH <<EOF |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
106 > [ui] |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
107 > allowemptycommit=1 |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
108 > [extensions] |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
109 > drawdag=$TESTDIR/drawdag.py |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
110 > [phases] |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
111 > publish=False |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
112 > [alias] |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
113 > tglog = log -G --template "{rev}: {node|short} {desc} {instabilities}" -r 'sort(all(), topo)' |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
114 > [extensions] |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
115 > maprevset=$TESTTMP/maprevset.py |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
116 > [experimental] |
34865
a0100f34e20b
config: replace experimental.stabilization by experimental.evolution
Boris Feld <boris.feld@octobus.net>
parents:
34006
diff
changeset
|
117 > evolution=true |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
118 > EOF |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
119 |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
120 $ rebasewithdag() { |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
36272
diff
changeset
|
121 > N=`"$PYTHON" -c "print($N+1)"` |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
122 > hg init repo$N && cd repo$N |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
123 > hg debugdrawdag |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
124 > hg rebase "$@" > _rebasetmp |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
125 > r=$? |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
126 > grep -v 'saved backup bundle' _rebasetmp |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
127 > [ $r -eq 0 ] && rm -f .hg/localtags && hg tglog |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
128 > cd .. |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
129 > return $r |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
130 > } |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
131 |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
132 Destination resolves to an empty set: |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
133 |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
134 $ rebasewithdag -s B -d 'SRC - SRC' <<'EOS' |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
135 > C |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
136 > | |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
137 > B |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
138 > | |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
139 > A |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
140 > EOS |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
141 nothing to rebase - empty destination |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
142 [1] |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
143 |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
144 Multiple destinations and --collapse are not compatible: |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
145 |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
146 $ rebasewithdag -s C+E -d 'SRC^^' --collapse <<'EOS' |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
147 > C F |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
148 > | | |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
149 > B E |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
150 > | | |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
151 > A D |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
152 > EOS |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
153 abort: --collapse does not work with multiple destinations |
46632
9989a276712f
errors: use more specific errors in rebase extension
Martin von Zweigbergk <martinvonz@google.com>
parents:
45906
diff
changeset
|
154 [10] |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
155 |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
156 Multiple destinations cannot be used with --base: |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
157 |
44556
f63598aa1c4b
rebase: accept multiple --base arguments (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
44555
diff
changeset
|
158 $ rebasewithdag -b B -b E -d 'SRC^^' --collapse <<'EOS' |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
159 > B E |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
160 > | | |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
161 > A D |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
162 > EOS |
45906
95c4cca641f6
errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents:
45826
diff
changeset
|
163 abort: unknown revision 'SRC' |
48118
5105a9975407
errors: raise InputError from revsingle() iff revset provided by the user
Martin von Zweigbergk <martinvonz@google.com>
parents:
46632
diff
changeset
|
164 [10] |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
165 |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
166 Rebase to null should work: |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
167 |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
168 $ rebasewithdag -r A+C+D -d 'null' <<'EOS' |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
169 > C D |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
170 > | | |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
171 > A B |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
172 > EOS |
45771
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
173 already rebased 0:426bada5c675 A "A" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
174 already rebased 2:dc0947a82db8 C "C" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
175 rebasing 3:004dc1679908 D tip "D" |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
176 o 4: d8d8601abd5e D |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
177 |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
178 o 2: dc0947a82db8 C |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
179 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
180 | o 1: fc2b737bb2e5 B |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
181 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
182 o 0: 426bada5c675 A |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
183 |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
184 Destination resolves to multiple changesets: |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
185 |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
186 $ rebasewithdag -s B -d 'ALLSRC+SRC' <<'EOS' |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
187 > C |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
188 > | |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
189 > B |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
190 > | |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
191 > Z |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
192 > EOS |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
193 abort: rebase destination for f0a671a46792 is not unique |
46632
9989a276712f
errors: use more specific errors in rebase extension
Martin von Zweigbergk <martinvonz@google.com>
parents:
45906
diff
changeset
|
194 [10] |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
195 |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
196 Destination is an ancestor of source: |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
197 |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
198 $ rebasewithdag -s B -d 'SRC' <<'EOS' |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
199 > C |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
200 > | |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
201 > B |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
202 > | |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
203 > Z |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
204 > EOS |
34006 | 205 abort: source and destination form a cycle |
46632
9989a276712f
errors: use more specific errors in rebase extension
Martin von Zweigbergk <martinvonz@google.com>
parents:
45906
diff
changeset
|
206 [10] |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
207 |
42107
8890fce7c13d
rebase: demonstrate bug in dry-run mode which causes cycles to not be reported
Augie Fackler <augie@google.com>
parents:
39707
diff
changeset
|
208 BUG: cycles aren't flagged correctly when --dry-run is set: |
8890fce7c13d
rebase: demonstrate bug in dry-run mode which causes cycles to not be reported
Augie Fackler <augie@google.com>
parents:
39707
diff
changeset
|
209 $ rebasewithdag -s B -d 'SRC' --dry-run <<'EOS' |
8890fce7c13d
rebase: demonstrate bug in dry-run mode which causes cycles to not be reported
Augie Fackler <augie@google.com>
parents:
39707
diff
changeset
|
210 > C |
8890fce7c13d
rebase: demonstrate bug in dry-run mode which causes cycles to not be reported
Augie Fackler <augie@google.com>
parents:
39707
diff
changeset
|
211 > | |
8890fce7c13d
rebase: demonstrate bug in dry-run mode which causes cycles to not be reported
Augie Fackler <augie@google.com>
parents:
39707
diff
changeset
|
212 > B |
8890fce7c13d
rebase: demonstrate bug in dry-run mode which causes cycles to not be reported
Augie Fackler <augie@google.com>
parents:
39707
diff
changeset
|
213 > | |
8890fce7c13d
rebase: demonstrate bug in dry-run mode which causes cycles to not be reported
Augie Fackler <augie@google.com>
parents:
39707
diff
changeset
|
214 > Z |
8890fce7c13d
rebase: demonstrate bug in dry-run mode which causes cycles to not be reported
Augie Fackler <augie@google.com>
parents:
39707
diff
changeset
|
215 > EOS |
42108
1b5cec8b6a1e
rebase: fix bug that prevented dry-run rebases from printing failures
Augie Fackler <augie@google.com>
parents:
42107
diff
changeset
|
216 abort: source and destination form a cycle |
42107
8890fce7c13d
rebase: demonstrate bug in dry-run mode which causes cycles to not be reported
Augie Fackler <augie@google.com>
parents:
39707
diff
changeset
|
217 starting dry-run rebase; repository will not be changed |
46632
9989a276712f
errors: use more specific errors in rebase extension
Martin von Zweigbergk <martinvonz@google.com>
parents:
45906
diff
changeset
|
218 [10] |
42107
8890fce7c13d
rebase: demonstrate bug in dry-run mode which causes cycles to not be reported
Augie Fackler <augie@google.com>
parents:
39707
diff
changeset
|
219 |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
220 Switch roots: |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
221 |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
222 $ rebasewithdag -s 'all() - roots(all())' -d 'roots(all()) - ::SRC' <<'EOS' |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
223 > C F |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
224 > | | |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
225 > B E |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
226 > | | |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
227 > A D |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
228 > EOS |
45771
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
229 rebasing 2:112478962961 B "B" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
230 rebasing 4:26805aba1e60 C "C" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
231 rebasing 3:cd488e83d208 E "E" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
232 rebasing 5:0069ba24938a F tip "F" |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
233 o 9: d150ff263fc8 F |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
234 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
235 o 8: 66f30a1a2eab E |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
236 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
237 | o 7: 93db94ffae0e C |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
238 | | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
239 | o 6: d0071c3b0c88 B |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
240 | | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
241 | o 1: 058c1e1fb10a D |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
242 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
243 o 0: 426bada5c675 A |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
244 |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
245 Different destinations for merge changesets with a same root: |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
246 |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
247 $ rebasewithdag -s B -d '((parents(SRC)-B-A)::) - (::ALLSRC)' <<'EOS' |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
248 > C G |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
249 > |\| |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
250 > | F |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
251 > | |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
252 > B E |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
253 > |\| |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
254 > A D |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
255 > EOS |
45771
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
256 rebasing 3:a4256619d830 B "B" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
257 rebasing 6:8e139e245220 C tip "C" |
44341
77bb38be00ea
rebase: always be graft-like, not merge-like, also for merges
Martin von Zweigbergk <martinvonz@google.com>
parents:
42108
diff
changeset
|
258 o 8: d7d1169e9b1c C |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
259 |\ |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
260 | o 7: 2ed0c8546285 B |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
261 | |\ |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
262 o | | 5: 8fdb2c1feb20 G |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
263 | | | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
264 | | o 4: cd488e83d208 E |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
265 | | | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
266 o | | 2: a6661b868de9 F |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
267 / / |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
268 | o 1: 058c1e1fb10a D |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
269 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
270 o 0: 426bada5c675 A |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
271 |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
272 Move to a previous parent: |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
273 |
44555
05654ea5137c
rebase: accept multiple --source arguments (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
44341
diff
changeset
|
274 $ rebasewithdag -s E -s F -s G -d 'SRC^^' <<'EOS' |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
275 > H |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
276 > | |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
277 > D G |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
278 > |/ |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
279 > C F |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
280 > |/ |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
281 > B E # E will be ignored, since E^^ is empty |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
282 > |/ |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
283 > A |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
284 > EOS |
45771
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
285 rebasing 4:33441538d4aa F "F" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
286 rebasing 6:cf43ad9da869 G "G" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
287 rebasing 7:eef94f3b5f03 H tip "H" |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
288 o 10: b3d84c6666cf H |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
289 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
290 | o 5: f585351a92f8 D |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
291 |/ |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
292 o 3: 26805aba1e60 C |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
293 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
294 | o 9: f7c28a1a15e2 G |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
295 |/ |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
296 o 1: 112478962961 B |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
297 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
298 | o 8: 02aa697facf7 F |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
299 |/ |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
300 | o 2: 7fb047a69f22 E |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
301 |/ |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
302 o 0: 426bada5c675 A |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
303 |
34006 | 304 Source overlaps with destination: |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
305 |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
306 $ rebasewithdag -s 'B+C+D' -d 'map(SRC, "B:C,C:D")' <<'EOS' |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
307 > B C D |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
308 > \|/ |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
309 > A |
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
310 > EOS |
45771
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
311 rebasing 2:dc0947a82db8 C "C" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
312 rebasing 1:112478962961 B "B" |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
313 o 5: 5fe9935d5222 B |
34006 | 314 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
315 o 4: 12d20731b9e0 C |
34006 | 316 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
317 o 3: b18e25de2cf5 D |
34006 | 318 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
319 o 0: 426bada5c675 A |
34006 | 320 |
321 Detect cycles early: | |
322 | |
323 $ rebasewithdag -r 'all()-Z' -d 'map(SRC, "A:B,B:C,C:D,D:B")' <<'EOS' | |
324 > A B C | |
325 > \|/ | |
326 > | D | |
327 > |/ | |
328 > Z | |
329 > EOS | |
330 abort: source and destination form a cycle | |
46632
9989a276712f
errors: use more specific errors in rebase extension
Martin von Zweigbergk <martinvonz@google.com>
parents:
45906
diff
changeset
|
331 [10] |
34006 | 332 |
333 Detect source is ancestor of dest in runtime: | |
334 | |
335 $ rebasewithdag -r 'C+B' -d 'map(SRC, "C:B,B:D")' -q <<'EOS' | |
336 > D | |
337 > | | |
338 > B C | |
339 > \| | |
340 > A | |
341 > EOS | |
342 abort: source is ancestor of destination | |
46632
9989a276712f
errors: use more specific errors in rebase extension
Martin von Zweigbergk <martinvonz@google.com>
parents:
45906
diff
changeset
|
343 [10] |
34006 | 344 |
345 "Already rebased" fast path still works: | |
346 | |
347 $ rebasewithdag -r 'all()' -d 'SRC^' <<'EOS' | |
348 > E F | |
349 > /| | | |
350 > B C D | |
351 > \|/ | |
352 > A | |
353 > EOS | |
45771
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
354 already rebased 1:112478962961 B "B" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
355 already rebased 2:dc0947a82db8 C "C" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
356 already rebased 3:b18e25de2cf5 D "D" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
357 already rebased 4:312782b8f06e E "E" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
358 already rebased 5:ad6717a6a58e F tip "F" |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
359 o 5: ad6717a6a58e F |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
360 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
361 o 3: b18e25de2cf5 D |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
362 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
363 | o 4: 312782b8f06e E |
34006 | 364 | |\ |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
365 +---o 2: dc0947a82db8 C |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
366 | | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
367 | o 1: 112478962961 B |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
368 |/ |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
369 o 0: 426bada5c675 A |
34005
5e83a8fe6bc4
rebase: initial support for multiple destinations
Jun Wu <quark@fb.com>
parents:
33332
diff
changeset
|
370 |
34006 | 371 Massively rewrite the DAG: |
372 | |
373 $ rebasewithdag -r 'all()' -d 'map(SRC, "A:I,I:null,H:A,B:J,J:C,C:H,D:E,F:G,G:K,K:D,E:B")' <<'EOS' | |
374 > D G K | |
375 > | | | | |
376 > C F J | |
377 > | | | | |
378 > B E I | |
379 > \| | | |
380 > A H | |
381 > EOS | |
45771
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
382 rebasing 4:701514e1408d I "I" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
383 rebasing 0:426bada5c675 A "A" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
384 rebasing 1:e7050b6e5048 H "H" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
385 rebasing 5:26805aba1e60 C "C" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
386 rebasing 7:cf89f86b485b J "J" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
387 rebasing 2:112478962961 B "B" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
388 rebasing 3:7fb047a69f22 E "E" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
389 rebasing 8:f585351a92f8 D "D" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
390 rebasing 10:ae41898d7875 K tip "K" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
391 rebasing 9:711f53bbef0b G "G" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
392 rebasing 6:64a8289d2492 F "F" |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
393 o 21: 3735afb3713a F |
34006 | 394 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
395 o 20: 07698142d7a7 G |
34006 | 396 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
397 o 19: 33aba52e7e72 K |
34006 | 398 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
399 o 18: 9fdae89dc5a1 D |
34006 | 400 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
401 o 17: 277dda9a65ee E |
34006 | 402 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
403 o 16: 9c74fd8657ad B |
34006 | 404 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
405 o 15: 6527eb0688bb J |
34006 | 406 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
407 o 14: e94d655b928d C |
34006 | 408 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
409 o 13: 620d6d349459 H |
34006 | 410 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
411 o 12: a569a116758f A |
34006 | 412 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
413 o 11: 2bf1302f5c18 I |
34006 | 414 |
415 Resolve instability: | |
416 | |
417 $ rebasewithdag <<'EOF' -r 'orphan()-obsolete()' -d 'max((successors(max(roots(ALLSRC) & ::SRC)^)-obsolete())::)' | |
418 > F2 | |
419 > | | |
420 > J E E2 | |
421 > | |/ | |
422 > I2 I | E3 | |
423 > \| |/ | |
424 > H | G | |
425 > | | | | |
426 > B2 D F | |
427 > | |/ # rebase: B -> B2 | |
428 > N C # amend: E -> E2 | |
429 > | | # amend: E2 -> E3 | |
430 > M B # rebase: F -> F2 | |
431 > \| # amend: I -> I2 | |
432 > A | |
433 > EOF | |
35709
1a09dad8b85a
evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents:
35393
diff
changeset
|
434 6 new orphan changesets |
45771
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
435 rebasing 16:5c432343bf59 J tip "J" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
436 rebasing 3:26805aba1e60 C "C" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
437 rebasing 6:f585351a92f8 D "D" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
438 rebasing 10:ffebc37c5d0b E3 "E3" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
439 rebasing 13:fb184bcfeee8 F2 "F2" |
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
440 rebasing 11:dc838ab4c0da G "G" |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
441 o 22: 174f63d574a8 G |
34006 | 442 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
443 o 21: c9d9fbe76705 F2 |
34006 | 444 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
445 o 20: 0a03c2ede755 E3 |
34006 | 446 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
447 o 19: 228d9d2541b1 D |
34006 | 448 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
449 o 18: cd856b400c95 C |
34006 | 450 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
451 o 17: 9148200c858c J |
34006 | 452 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
453 o 15: eb74780f5094 I2 |
34006 | 454 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
455 o 12: 78309edd643f H |
34006 | 456 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
457 o 5: 4b4531bd8e1d B2 |
34006 | 458 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
459 o 4: 337c285c272b N |
34006 | 460 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
461 o 2: 699bc4b6fa22 M |
34006 | 462 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
35287
diff
changeset
|
463 o 0: 426bada5c675 A |
34006 | 464 |