tests/test-commit-unresolved.t
author Durham Goode <durham@fb.com>
Fri, 12 Sep 2014 15:00:51 -0700
changeset 22450 95af98616aa7
parent 21947 b081decd9062
child 23917 3cbb5bf4035d
permissions -rw-r--r--
revset: make parents() O(number of parents) Strip executes a revset like this: max(parents(_intlist('1234\x001235')) - _intlist('1234\x001235')) Previously the parents() revset would do 'subset & parents' which iterates over each item in the subset and checks if it's in parents. subset is usually the entire repo (a spanset) so this takes a while. Reversing the parameters to be 'parents & subset' means the operation becomes O(number of parents) instead of O(size of repo). It also means the result gets evaluated immediately (since parents isn't a lazy set), but I think this is a win in most scenarios. This shaves 0.3 seconds off strip (amend/histedit/rebase/etc) for large repositories. revset #0: parents(20000) 0) obsolete feature not enabled but 54243 markers found! ! wall 0.006256 comb 0.010000 user 0.010000 sys 0.000000 (best of 289) 1) obsolete feature not enabled but 54243 markers found! ! wall 0.000391 comb 0.000000 user 0.000000 sys 0.000000 (best of 4323)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
     1
  $ addcommit () {
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
     2
  >     echo $1 > $1
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
     3
  >     hg add $1
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
     4
  >     hg commit -d "${2} 0" -m $1
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
     5
  > }
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
     6
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
     7
  $ commit () {
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
     8
  >     hg commit -d "${2} 0" -m $1
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
     9
  > }
6910
93609576244e Debashify rebase tests
Brendan Cully <brendan@kublai.com>
parents: 6888
diff changeset
    10
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    11
  $ hg init a
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    12
  $ cd a
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    13
  $ addcommit "A" 0
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    14
  $ addcommit "B" 1
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    15
  $ echo "C" >> A
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    16
  $ commit "C" 2
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    17
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    18
  $ hg update -C 0
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    19
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    20
  $ echo "D" >> A
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    21
  $ commit "D" 3
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    22
  created new head
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    23
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    24
Merging a conflict araises
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    25
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    26
  $ hg merge
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    27
  merging A
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    28
  warning: conflicts during merge.
15501
2371f4aea665 merge: give a special message for internal:merge failure (issue3105)
Matt Mackall <mpm@selenic.com>
parents: 13541
diff changeset
    29
  merging A incomplete! (edit conflicts, then use 'hg resolve --mark')
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    30
  1 files updated, 0 files merged, 0 files removed, 1 files unresolved
12314
f2daa6ab514a merge: suggest 'hg up -C .' for discarding changes, not 'hg up -C'
Brodie Rao <brodie@bitheap.org>
parents: 11804
diff changeset
    31
  use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12314
diff changeset
    32
  [1]
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    33
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    34
Correct the conflict without marking the file as resolved
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    35
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    36
  $ echo "ABCD" > A
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    37
  $ hg commit -m "Merged"
13541
919174c0aaff Improve unresolved merge conflicts warning (issue2681)
Patrick Mezard <pmezard@gmail.com>
parents: 12327
diff changeset
    38
  abort: unresolved merge conflicts (see hg help resolve)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12314
diff changeset
    39
  [255]
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    40
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    41
Mark the conflict as resolved and commit
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    42
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    43
  $ hg resolve -m A
21947
b081decd9062 resolve: add parenthesis around "no more unresolved files" message
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21267
diff changeset
    44
  (no more unresolved files)
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    45
  $ hg commit -m "Merged"
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
    46
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
    47
  $ cd ..