Mercurial > hg
annotate tests/test-merge-force.t @ 22377:f98abe3146b2 stable
dispatch: check shell alias again after loading extensions (issue4355)
Before this patch, the shell alias causes failure when it takes its
specific (= unknown for "hg") options in the command line, because
"_parse()" can't accept them.
This is the regression introduced by 03d345da0579.
It fixed the issue that ambiguity between shell aliases and commands
defined by extensions was ignored. But it also caused that ambiguous
shell alias is handled in "_parse()" even if it takes specific options
in the command line.
To avoid such failure, this patch checks shell alias again after
loading extensions.
All aliases and commands (including ones defined by extensions) are
completely defined before the 2nd (= newly added in this patch)
"_checkshellalias()" invocation, and "cmdutil.findcmd(strict=False)"
can detect ambiguity between them correctly.
For efficiency, this patch does:
- omit the 2nd "_checkshellalias()" invocation if "[ui] strict= True"
it causes "cmdutil.findcmd(strict=True)", of which result should
be equal to one of the 1st invocation before adding aliases
- avoid removing the 1st "_checkshellalias()" invocation
it causes "cmdutil.findcmd(strict=True)" invocation preventing
shell alias execution from loading extensions uselessly
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Wed, 10 Sep 2014 00:41:44 +0900 |
parents | 94c394653b2a |
children | eeecf29cc397 |
rev | line source |
---|---|
12256
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
1 $ hg init |
6255
ae83d927c629
add a test for a375ffc2aa1b
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
2 |
12256
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
3 $ echo a > a |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
4 $ hg ci -qAm 'add a' |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
5 |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
6 $ echo b > b |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
7 $ hg ci -qAm 'add b' |
6255
ae83d927c629
add a test for a375ffc2aa1b
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
8 |
12256
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
9 $ hg up -qC 0 |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
10 $ hg rm a |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
11 $ hg ci -m 'rm a' |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
12 created new head |
6255
ae83d927c629
add a test for a375ffc2aa1b
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
13 |
12256
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
14 $ hg up -qC 1 |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
15 $ rm a |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
16 |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
17 Local deleted a file, remote removed |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
18 |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
19 Should fail, since there are deleted files: |
6255
ae83d927c629
add a test for a375ffc2aa1b
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
20 |
12256
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
21 $ hg merge |
19802
94c394653b2a
merge: standardize error message for dirty working dir
Siddharth Agarwal <sid0@fb.com>
parents:
15619
diff
changeset
|
22 abort: uncommitted changes |
15619
6c8573dd1b6b
merge: make 'nothing to merge' aborts consistent
Kevin Bullock <kbullock@ringworld.org>
parents:
12316
diff
changeset
|
23 (use 'hg status' to list changes) |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12256
diff
changeset
|
24 [255] |
12256
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
25 |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
26 Should succeed with --force: |
6255
ae83d927c629
add a test for a375ffc2aa1b
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
27 |
12256
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
28 $ hg -v merge --force |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
29 resolving manifests |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
30 removing a |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
31 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
32 (branch merge, don't forget to commit) |
6255
ae83d927c629
add a test for a375ffc2aa1b
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
33 |
12256
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
34 Should show 'a' as removed: |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
35 |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
36 $ hg status |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
37 R a |
6255
ae83d927c629
add a test for a375ffc2aa1b
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
38 |
12256
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
39 $ hg ci -m merge |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
40 |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
41 Should not show 'a': |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
42 |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
43 $ hg manifest |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
44 b |
2a06cb547be8
tests: unify test-merge-force
Adrian Buehlmann <adrian@cadifra.com>
parents:
6256
diff
changeset
|
45 |