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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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