tests/test-nested-repo
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Thu, 23 Aug 2007 01:48:29 -0300
changeset 5210 90d9ec0dc69d
parent 5200 c7e8fe11f34a
permissions -rwxr-xr-x
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.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2061
5987c1eac2ce support nested repositories.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     1
#!/bin/sh
5987c1eac2ce support nested repositories.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     2
5987c1eac2ce support nested repositories.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     3
hg init a
5987c1eac2ce support nested repositories.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     4
cd a
5987c1eac2ce support nested repositories.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     5
hg init b
5987c1eac2ce support nested repositories.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     6
echo x > b/x
5141
d316124ebbea Make audit_path more stringent.
Bryan O'Sullivan <bos@serpentine.com>
parents: 2965
diff changeset
     7
2061
5987c1eac2ce support nested repositories.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     8
echo '# should print nothing'
5141
d316124ebbea Make audit_path more stringent.
Bryan O'Sullivan <bos@serpentine.com>
parents: 2965
diff changeset
     9
hg add b
2061
5987c1eac2ce support nested repositories.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    10
hg st
5141
d316124ebbea Make audit_path more stringent.
Bryan O'Sullivan <bos@serpentine.com>
parents: 2965
diff changeset
    11
d316124ebbea Make audit_path more stringent.
Bryan O'Sullivan <bos@serpentine.com>
parents: 2965
diff changeset
    12
echo '# should fail'
2061
5987c1eac2ce support nested repositories.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    13
hg st b/x
5987c1eac2ce support nested repositories.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    14
hg add b/x
5987c1eac2ce support nested repositories.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    15
5200
c7e8fe11f34a path_auditor: cache names of audited directories
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5141
diff changeset
    16
echo '# should fail'
c7e8fe11f34a path_auditor: cache names of audited directories
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5141
diff changeset
    17
hg add b b/x
c7e8fe11f34a path_auditor: cache names of audited directories
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5141
diff changeset
    18
hg st
c7e8fe11f34a path_auditor: cache names of audited directories
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5141
diff changeset
    19
5141
d316124ebbea Make audit_path more stringent.
Bryan O'Sullivan <bos@serpentine.com>
parents: 2965
diff changeset
    20
echo '# should arguably print nothing'
d316124ebbea Make audit_path more stringent.
Bryan O'Sullivan <bos@serpentine.com>
parents: 2965
diff changeset
    21
hg st b
d316124ebbea Make audit_path more stringent.
Bryan O'Sullivan <bos@serpentine.com>
parents: 2965
diff changeset
    22
d316124ebbea Make audit_path more stringent.
Bryan O'Sullivan <bos@serpentine.com>
parents: 2965
diff changeset
    23
echo a > a
d316124ebbea Make audit_path more stringent.
Bryan O'Sullivan <bos@serpentine.com>
parents: 2965
diff changeset
    24
hg ci -Ama a
d316124ebbea Make audit_path more stringent.
Bryan O'Sullivan <bos@serpentine.com>
parents: 2965
diff changeset
    25
d316124ebbea Make audit_path more stringent.
Bryan O'Sullivan <bos@serpentine.com>
parents: 2965
diff changeset
    26
echo '# should fail'
d316124ebbea Make audit_path more stringent.
Bryan O'Sullivan <bos@serpentine.com>
parents: 2965
diff changeset
    27
hg mv a b
2061
5987c1eac2ce support nested repositories.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    28
hg st