tests/test-merge-force.t
author Patrick Mezard <patrick@mezard.eu>
Sat, 19 May 2012 17:18:29 +0200
branchstable
changeset 16771 2f3317d53d51
parent 15619 6c8573dd1b6b
child 19802 94c394653b2a
permissions -rw-r--r--
revset: explicitely tag alias arguments for expansion The current revset alias expansion code works like: 1- Get the replacement tree 2- Substitute the variables in the replacement tree 3- Expand the replacement tree It makes it easy to substitute alias arguments because the placeholders are always replaced before the updated replacement tree is expanded again. Unfortunately, to fix other alias expansion issues, we need to reorder the sequence and delay the argument substitution. To solve this, a new "virtual" construct called _aliasarg() is introduced and injected when parsing the aliases definitions. Only _aliasarg() will be substituted in the argument expansion phase instead of all regular matching string. We also check user inputs do not contain unexpected _aliasarg() instances to avoid argument injections.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
15619
6c8573dd1b6b merge: make 'nothing to merge' aborts consistent
Kevin Bullock <kbullock@ringworld.org>
parents: 12316
diff changeset
    22
  abort: outstanding uncommitted changes
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