tests/test-commit-unresolved.t
author Matt Mackall <mpm@selenic.com>
Sun, 23 Oct 2011 16:32:27 -0500
branchstable
changeset 15348 c681e478c429
parent 13541 919174c0aaff
child 15501 2371f4aea665
permissions -rw-r--r--
windows: sanity-check symlink placeholders On Windows, we store symlinks as plain files with the link contents. Via user error or NFS/Samba assistance, these files often end up with 'normal' file contents. Committing these changes thus gives an invalid symlink that can't be checked out on Unix. Here we filter out any modified symlink placeholders that look suspicious when computing status: - more than 1K (looks more like a normal file) - contain NULs (not allowed on Unix, probably a binary) - contains \n (filenames can't contain \n, very unusual for symlinks, very common for files)
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
  $ echo "[extensions]" >> $HGRCPATH
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
     2
  $ echo "graphlog=" >> $HGRCPATH
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
     3
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
     4
  $ addcommit () {
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
     5
  >     echo $1 > $1
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
     6
  >     hg add $1
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
     7
  >     hg commit -d "${2} 0" -m $1
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
     8
  > }
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
     9
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    10
  $ commit () {
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    11
  >     hg commit -d "${2} 0" -m $1
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    12
  > }
6910
93609576244e Debashify rebase tests
Brendan Cully <brendan@kublai.com>
parents: 6888
diff changeset
    13
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    14
  $ hg init a
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    15
  $ cd a
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    16
  $ addcommit "A" 0
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    17
  $ addcommit "B" 1
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    18
  $ echo "C" >> A
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    19
  $ commit "C" 2
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    20
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    21
  $ hg update -C 0
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    22
  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
    23
  $ echo "D" >> A
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    24
  $ commit "D" 3
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    25
  created new head
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    26
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    27
Merging a conflict araises
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    28
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    29
  $ hg merge
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    30
  merging A
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    31
  warning: conflicts during merge.
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    32
  merging A failed!
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    33
  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
    34
  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
    35
  [1]
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    36
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    37
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
    38
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    39
  $ echo "ABCD" > A
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    40
  $ hg commit -m "Merged"
13541
919174c0aaff Improve unresolved merge conflicts warning (issue2681)
Patrick Mezard <pmezard@gmail.com>
parents: 12327
diff changeset
    41
  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
    42
  [255]
6888
7c36a4fb05a3 make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    43
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    44
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
    45
11804
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    46
  $ hg resolve -m A
6c24465613de tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8168
diff changeset
    47
  $ hg commit -m "Merged"