tests/test-diff-binary-file.t
author Patrick Mezard <patrick@mezard.eu>
Sat, 28 Apr 2012 15:01:57 +0200
branchstable
changeset 16536 63c817ea4a70
parent 16350 4f795f5fbb0b
child 16913 f2719b387380
permissions -rw-r--r--
commit: abort on merge with missing files Here is a script illustrating the previous behaviour: The merge brings a new file 'b' from remote $ hg merge 1 --debug searching for copies back to rev 1 unmatched files in other: b resolving manifests overwrite: False, partial: False ancestor: 07f494440405, local: 540395c44225+, remote: 102a90ea7b4a b: remote created -> g updating: b 1/1 files (100.00%) getting b 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) Delete but do not remove b $ rm b $ hg st ! b The commit succeeds $ hg commit -m merge $ hg parents --template "{rev} {desc|firstline} files: {files}\n" 3 merge files: $ hg st ! b b changes were ignored, but even b existence was ignored $ hg manifest a This happens because localrepo.commitctx() checks the input ctx.files(), which is empty for workingctx.files() only returns added, modified or removed entries, and bypass files/manifest updates completely. So the committed revision manifest is the same as its first parent one, not containing the 'b' file. This patch forces the commit to abort in presence of a merge and missing files. test-merge4.t is modified accordingly as it was introduced to check hg was not just terminating with a traceback (5e9e8b8d2629).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12151
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
     1
  $ hg init a
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
     2
  $ cd a
16350
4f795f5fbb0b tests: make tests work if directory contains special characters
Thomas Arendsen Hein <thomas@intevation.de>
parents: 12151
diff changeset
     3
  $ cp "$TESTDIR/binfile.bin" .
12151
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
     4
  $ hg add binfile.bin
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
     5
  $ hg ci -m 'add binfile.bin'
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
     6
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
     7
  $ echo >> binfile.bin
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
     8
  $ hg ci -m 'change binfile.bin'
4104
0934fef871f3 add test for diffing identical binary files
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     9
12151
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    10
  $ hg revert -r 0 binfile.bin
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    11
  $ hg ci -m 'revert binfile.bin'
4104
0934fef871f3 add test for diffing identical binary files
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    12
12151
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    13
  $ hg diff --nodates -r 0 -r 1
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    14
  diff -r 48b371597640 -r acea2ab458c8 binfile.bin
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    15
  Binary file binfile.bin has changed
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    16
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    17
  $ hg diff --nodates -r 0 -r 2
4104
0934fef871f3 add test for diffing identical binary files
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    18
12151
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    19
  $ hg diff --git -r 0 -r 1
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    20
  diff --git a/binfile.bin b/binfile.bin
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    21
  index 37ba3d1c6f17137d9c5f5776fa040caf5fe73ff9..58dc31a9e2f40f74ff3b45903f7d620b8e5b7356
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    22
  GIT binary patch
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    23
  literal 594
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    24
  zc$@)J0<HatP)<h;3K|Lk000e1NJLTq000mG000mO0ssI2kdbIM00009a7bBm000XU
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    25
  z000XU0RWnu7ytkO2XskIMF-Uh9TW;VpMjwv0005-Nkl<ZD9@FWPs=e;7{<>W$NUkd
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    26
  zX$nnYLt$-$V!?uy+1V%`z&Eh=ah|duER<4|QWhju3gb^nF*8iYobxWG-qqXl=2~5M
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    27
  z*IoDB)sG^CfNuoBmqLTVU^<;@nwHP!1wrWd`{(mHo6VNXWtyh{alzqmsH*yYzpvLT
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    28
  zLdY<T=ks|woh-`&01!ej#(xbV1f|pI*=%;d-%F*E*X#ZH`4I%6SS+$EJDE&ct=8po
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    29
  ziN#{?_j|kD%Cd|oiqds`xm@;oJ-^?NG3Gdqrs?5u*zI;{nogxsx~^|Fn^Y?Gdc6<;
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    30
  zfMJ+iF1J`LMx&A2?dEwNW8ClebzPTbIh{@$hS6*`kH@1d%Lo7fA#}N1)oN7`gm$~V
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    31
  z+wDx#)OFqMcE{s!JN0-xhG8ItAjVkJwEcb`3WWlJfU2r?;Pd%dmR+q@mSri5q9_W-
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    32
  zaR2~ECX?B2w+zELozC0s*6Z~|QG^f{3I#<`?)Q7U-JZ|q5W;9Q8i_=pBuSzunx=U;
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    33
  z9C)5jBoYw9^?EHyQl(M}1OlQcCX>lXB*ODN003Z&P17_@)3Pi=i0wb04<W?v-u}7K
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    34
  zXmmQA+wDgE!qR9o8jr`%=ab_&uh(l?R=r;Tjiqon91I2-hIu?57~@*4h7h9uORK#=
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    35
  gQItJW-{SoTm)8|5##k|m00000NkvXXu0mjf3JwksH2?qr
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    36
  
4104
0934fef871f3 add test for diffing identical binary files
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    37
12151
cc5b71840148 tests: unify test-diff-binary-file
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    38
  $ hg diff --git -r 0 -r 2
4104
0934fef871f3 add test for diffing identical binary files
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    39