Mercurial > hg
annotate tests/test-rebase-partial.t @ 36411:38f480502043
context: remove basectx.__int__ (API)
basectx is the only type in the repo having __int__ implemented.
This magic method can result in unexpected coercion. Furthermore,
having it implemented is wrong for some contexts, since rev() may
return None in some cases.
Previous commits removed known cases in core where contexts are
coerced to integers. So let's delete basectx.__int__.
This commit is a bit dangerous. While the test suite passes, there
are likely still some callers in core that rely on __int__ that
don't have test coverage. An alternative would be to issue a
deprecation warning and let this bake for a few releases.
.. api::
context.basectx no longer implements __int__. Context instances
will no longer cast to ints. Consumers should call ``ctx.rev()``
instead.
Differential Revision: https://phab.mercurial-scm.org/D2433
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sat, 24 Feb 2018 11:21:14 -0800 |
parents | 469b06b4c3ca |
children | b9a6ee2066f9 |
rev | line source |
---|---|
32272
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
1 Tests rebasing with part of the rebase set already in the |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
2 destination (issue5422) |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
3 |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
4 $ cat >> $HGRCPATH <<EOF |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
5 > [extensions] |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
6 > rebase= |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
7 > drawdag=$TESTDIR/drawdag.py |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
8 > |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
9 > [experimental] |
34866
1644623ab096
config: use 'experimental.evolution.create-markers'
Boris Feld <boris.feld@octobus.net>
parents:
33844
diff
changeset
|
10 > evolution.createmarkers=True |
34867
7f183c643eb6
config: use 'experimental.evolution.allowunstable'
Boris Feld <boris.feld@octobus.net>
parents:
34866
diff
changeset
|
11 > evolution.allowunstable=True |
32272
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
12 > |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
13 > [alias] |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
34867
diff
changeset
|
14 > tglog = log -G --template "{rev}: {node|short} {desc}" |
32272
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
15 > EOF |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
16 |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
17 $ rebasewithdag() { |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
18 > N=`$PYTHON -c "print($N+1)"` |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
19 > hg init repo$N && cd repo$N |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
20 > hg debugdrawdag |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
21 > hg rebase "$@" > _rebasetmp |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
22 > r=$? |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
23 > grep -v 'saved backup bundle' _rebasetmp |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
24 > [ $r -eq 0 ] && hg tglog |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
25 > cd .. |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
26 > return $r |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
27 > } |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
28 |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
29 Rebase two commits, of which one is already in the right place |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
30 |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
31 $ rebasewithdag -r C+D -d B <<EOF |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
32 > C |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
33 > | |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
34 > B D |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
35 > |/ |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
36 > A |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
37 > EOF |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
38 rebasing 2:b18e25de2cf5 "D" (D) |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
39 already rebased 3:26805aba1e60 "C" (C tip) |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
34867
diff
changeset
|
40 o 4: fe3b4c6498fa D |
32272
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
41 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
34867
diff
changeset
|
42 | o 3: 26805aba1e60 C |
32272
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
43 |/ |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
34867
diff
changeset
|
44 | x 2: b18e25de2cf5 D |
32272
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
45 | | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
34867
diff
changeset
|
46 o | 1: 112478962961 B |
32272
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
47 |/ |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
34867
diff
changeset
|
48 o 0: 426bada5c675 A |
32272
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
49 |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
50 Can collapse commits even if one is already in the right place |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
51 |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
52 $ rebasewithdag --collapse -r C+D -d B <<EOF |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
53 > C |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
54 > | |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
55 > B D |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
56 > |/ |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
57 > A |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
58 > EOF |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
59 rebasing 2:b18e25de2cf5 "D" (D) |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
60 rebasing 3:26805aba1e60 "C" (C tip) |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
34867
diff
changeset
|
61 o 4: a2493f4ace65 Collapsed revision |
32272
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
62 | * D |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
63 | * C |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
34867
diff
changeset
|
64 | x 3: 26805aba1e60 C |
32272
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
65 |/ |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
34867
diff
changeset
|
66 | x 2: b18e25de2cf5 D |
32272
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
67 | | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
34867
diff
changeset
|
68 o | 1: 112478962961 B |
32272
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
69 |/ |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
34867
diff
changeset
|
70 o 0: 426bada5c675 A |
32272
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
71 |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
72 Rebase with "holes". The commits after the hole should end up on the parent of |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
73 the hole (B below), not on top of the destination (A). |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
74 |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
75 $ rebasewithdag -r B+D -d A <<EOF |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
76 > D |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
77 > | |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
78 > C |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
79 > | |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
80 > B |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
81 > | |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
82 > A |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
83 > EOF |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
84 already rebased 1:112478962961 "B" (B) |
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
85 rebasing 3:f585351a92f8 "D" (D tip) |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
34867
diff
changeset
|
86 o 4: 1e6da8103bc7 D |
32272
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
87 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
34867
diff
changeset
|
88 | x 3: f585351a92f8 D |
32272
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
89 | | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
34867
diff
changeset
|
90 | o 2: 26805aba1e60 C |
32272
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
91 |/ |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
34867
diff
changeset
|
92 o 1: 112478962961 B |
32272
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
93 | |
35385
469b06b4c3ca
tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents:
34867
diff
changeset
|
94 o 0: 426bada5c675 A |
32272
78496ac30025
rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
95 |