Mercurial > hg
annotate tests/test-mq-qgoto.t @ 26189:663fbc336e22
ui: change default path fallback mechanism (issue4796)
The previous paths API code always fell back to the default path. This
was wrong because if a requested path doesn't exist, that should error.
Only if no path was requested should we fall back to the default.
As part of implementing the test case for issue 4796, it was discovered
that the "repository does not exist" error message raised by
localrepository.__init__ wasn't being seen because the paths API
validates paths before localrepository.__init__ was being called.
The exception and error message from localrepository.__init__ has
been introduced to getpath(). This necessitated rewriting
expandpath() both to catch the exception and to have proper
default fallback.
This code is more complicated than I'd like. But making all tests pass
was a big chore. As more code moves to getpath(), there will likely be
opportunities to improve things a bit.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sun, 06 Sep 2015 11:28:48 -0700 |
parents | de99de39ba28 |
children | bbf544b5f2e9 |
rev | line source |
---|---|
12324
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
1 $ echo "[extensions]" >> $HGRCPATH |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
2 $ echo "mq=" >> $HGRCPATH |
4432 | 3 |
12324
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
4 $ hg init a |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
5 $ cd a |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
6 $ echo a > a |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
7 $ hg ci -Ama |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
8 adding a |
4432 | 9 |
12324
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
10 $ hg qnew a.patch |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
11 $ echo a >> a |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
12 $ hg qrefresh |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
13 |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
14 $ hg qnew b.patch |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
15 $ echo b > b |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
16 $ hg add b |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
17 $ hg qrefresh |
4432 | 18 |
12324
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
19 $ hg qnew c.patch |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
20 $ echo c > c |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
21 $ hg add c |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
22 $ hg qrefresh |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
23 |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
24 $ hg qgoto a.patch |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
25 popping c.patch |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
26 popping b.patch |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
27 now at: a.patch |
4432 | 28 |
12324
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
29 $ hg qgoto c.patch |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
30 applying b.patch |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
31 applying c.patch |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
32 now at: c.patch |
4432 | 33 |
12324
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
34 $ hg qgoto b.patch |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
35 popping c.patch |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
36 now at: b.patch |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
37 |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
38 Using index: |
4432 | 39 |
12324
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
40 $ hg qgoto 0 |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
41 popping b.patch |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
42 now at: a.patch |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
43 |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
44 $ hg qgoto 2 |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
45 applying b.patch |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
46 applying c.patch |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
47 now at: c.patch |
7568
12df451ce205
mq: don't warn about ambiguous patch name when using patch index (issue1439)
Jason Orendorff <jorendorff@mozilla.com>
parents:
4432
diff
changeset
|
48 |
18342
de99de39ba28
mq: fix qpop of working directory parent patch when not at qtip
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
49 No warnings when using index ... and update from non-qtip and with pending |
de99de39ba28
mq: fix qpop of working directory parent patch when not at qtip
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
50 changes in unrelated files: |
12324
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
51 |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
52 $ hg qnew bug314159 |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
53 $ echo d >> c |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
54 $ hg qrefresh |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
55 $ hg qnew bug141421 |
18342
de99de39ba28
mq: fix qpop of working directory parent patch when not at qtip
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
56 $ echo e >> b |
12324
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
57 $ hg qrefresh |
7568
12df451ce205
mq: don't warn about ambiguous patch name when using patch index (issue1439)
Jason Orendorff <jorendorff@mozilla.com>
parents:
4432
diff
changeset
|
58 |
18342
de99de39ba28
mq: fix qpop of working directory parent patch when not at qtip
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
59 $ hg up -r bug314159 |
de99de39ba28
mq: fix qpop of working directory parent patch when not at qtip
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
60 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
de99de39ba28
mq: fix qpop of working directory parent patch when not at qtip
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
61 $ echo f >> a |
de99de39ba28
mq: fix qpop of working directory parent patch when not at qtip
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
62 $ echo f >> b |
de99de39ba28
mq: fix qpop of working directory parent patch when not at qtip
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
63 $ echo f >> c |
de99de39ba28
mq: fix qpop of working directory parent patch when not at qtip
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
64 |
12324
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
65 $ hg qgoto 1 |
18342
de99de39ba28
mq: fix qpop of working directory parent patch when not at qtip
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
66 abort: local changes found, refresh first |
de99de39ba28
mq: fix qpop of working directory parent patch when not at qtip
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
67 [255] |
de99de39ba28
mq: fix qpop of working directory parent patch when not at qtip
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
68 $ hg qgoto 1 -f |
12324
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
69 popping bug141421 |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
70 popping bug314159 |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
71 popping c.patch |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
72 now at: b.patch |
18342
de99de39ba28
mq: fix qpop of working directory parent patch when not at qtip
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
73 $ hg st |
de99de39ba28
mq: fix qpop of working directory parent patch when not at qtip
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
74 M a |
de99de39ba28
mq: fix qpop of working directory parent patch when not at qtip
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
75 M b |
de99de39ba28
mq: fix qpop of working directory parent patch when not at qtip
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
76 ? c.orig |
de99de39ba28
mq: fix qpop of working directory parent patch when not at qtip
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
77 $ hg up -qCr. |
7568
12df451ce205
mq: don't warn about ambiguous patch name when using patch index (issue1439)
Jason Orendorff <jorendorff@mozilla.com>
parents:
4432
diff
changeset
|
78 |
12324
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
79 $ hg qgoto 3 |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
80 applying c.patch |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
81 applying bug314159 |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
82 now at: bug314159 |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
83 |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
84 Detect ambiguous non-index: |
7568
12df451ce205
mq: don't warn about ambiguous patch name when using patch index (issue1439)
Jason Orendorff <jorendorff@mozilla.com>
parents:
4432
diff
changeset
|
85 |
12324
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
86 $ hg qgoto 14 |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
87 patch name "14" is ambiguous: |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
88 bug314159 |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
89 bug141421 |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
90 abort: patch 14 not in series |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
91 [255] |
b701610f6c56
tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents:
7568
diff
changeset
|
92 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
12324
diff
changeset
|
93 $ cd .. |