annotate tests/test-bisect @ 5210:90d9ec0dc69d

merge: forcefully mark files that we get from the second parent as dirty After a hg merge, we want to include in the commit all the files that we got from the second parent, so that we have the correct file-level history. To make them visible to hg commit, we try to mark them as dirty. Unfortunately, right now we can't really mark them as dirty[1] - the best we can do is to mark them as needing a full comparison of their contents, but they will still be considered clean if they happen to be identical to the version in the first parent. This changeset extends the dirstate format in a compatible way, so that we can mark a file as dirty: Right now we use a negative file size to indicate we don't have valid stat data for this entry. In practice, this size is always -1. This patch uses -2 to indicate that the entry is dirty. Older versions of hg won't choke on this dirstate, but they may happily mark the file as clean after a full comparison, destroying all of our hard work. The patch adds a dirstate.normallookup method with the semantics of the current normaldirty, and changes normaldirty to forcefully mark the entry as dirty. This should fix issue522. [1] - well, we could put them in state 'm', but that state has a different meaning.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Thu, 23 Aug 2007 01:48:29 -0300
parents 61fcd9fac434
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2924
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
1 #!/bin/sh
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
2
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
3 set -e
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
4
2976
61fcd9fac434 Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc
Thomas Arendsen Hein <thomas@intevation.de>
parents: 2932
diff changeset
5 echo "[extensions]" >> $HGRCPATH
61fcd9fac434 Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc
Thomas Arendsen Hein <thomas@intevation.de>
parents: 2932
diff changeset
6 echo "hbisect=" >> $HGRCPATH
2924
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
7
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
8 echo % init
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
9 hg init
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
10
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
11 echo % committing changes
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
12 count=0
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
13 echo > a
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
14 while test $count -lt 32 ; do
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
15 echo 'a' >> a
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
16 test $count -eq 0 && hg add
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
17 hg ci -m "msg $count" -d "$count 0"
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
18 echo % committed changeset $count
2932
d77022db1bca Solaris portability fixes
Danek Duvall <danek.duvall@sun.com>
parents: 2925
diff changeset
19 count=`expr $count + 1`
2924
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
20 done
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
21
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
22 echo % log
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
23 hg log
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
24
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
25 echo % hg up -C
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
26 hg up -C
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
27
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
28 echo % bisect test
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
29 hg bisect init
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
30 hg bisect bad
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
31 hg bisect good 1
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
32 hg bisect good
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
33 hg bisect good
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
34 hg bisect good
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
35 hg bisect bad
d62ce27d925a tests: new test for the bisect extension
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
36 hg bisect good