mercurial/cext/revlog.h
author Martin von Zweigbergk <martinvonz@google.com>
Fri, 21 Jun 2019 16:59:29 -0700
changeset 42590 ab416b5d9b91
parent 40879 b12700dd261f
child 44485 9db11679f8ac
permissions -rw-r--r--
tests: add more tests of copy tracing with removed and re-added files We had a test where the destination of a copy was removed and then added back. This patch adds similar cases where the break in history instead happens to the source file. There are three versions of this: 1. The break happens before the rename. 2. The break happens on a branch parallel to the rename (where copy tracing is done via the merge base) 3. The source is added on each side of the merge base. The break in history is thus in the form of a deletion when going backwards to the merge base and the re-add happens on the other branch. I've also added calls to `hg graft` in these cases to show the breakage in issue 6163. Another factor in these cases is matching nodeid (checked in copies._tracefile()). I've made two copies each of the cases to show the impact of that. One of these is the same as a test in test-rename-merge1.t, so I also deleted that test from there. Some of these tests currently fail, where "fail" is based on my current thinking of how things should work. I had initially thought that we should be more strict about not tracing copies across commits where the file did not exist, but issue 6163 made me reconsider. The only test case here that behaved differently in 4.9 is the exact case reported in issue 6163. Differential Revision: https://phab.mercurial-scm.org/D6599
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
40877
aa76be85029b revlog: export symbol of indexType
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     1
/*
aa76be85029b revlog: export symbol of indexType
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     2
 revlog.h - efficient revlog parsing
aa76be85029b revlog: export symbol of indexType
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     3
aa76be85029b revlog: export symbol of indexType
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     4
 This software may be used and distributed according to the terms of
aa76be85029b revlog: export symbol of indexType
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     5
 the GNU General Public License, incorporated herein by reference.
aa76be85029b revlog: export symbol of indexType
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     6
*/
aa76be85029b revlog: export symbol of indexType
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     7
aa76be85029b revlog: export symbol of indexType
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     8
#ifndef _HG_REVLOG_H_
aa76be85029b revlog: export symbol of indexType
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     9
#define _HG_REVLOG_H_
aa76be85029b revlog: export symbol of indexType
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    10
aa76be85029b revlog: export symbol of indexType
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    11
#include <Python.h>
aa76be85029b revlog: export symbol of indexType
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    12
40878
18a8def6e1b5 revlog: rename indexType to HgRevlogIndex_Type as it's a global symbol
Yuya Nishihara <yuya@tcha.org>
parents: 40877
diff changeset
    13
extern PyTypeObject HgRevlogIndex_Type;
40877
aa76be85029b revlog: export symbol of indexType
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    14
40879
b12700dd261f revlog: add public CPython function to get parent revisions
Yuya Nishihara <yuya@tcha.org>
parents: 40878
diff changeset
    15
#define HgRevlogIndex_Check(op) PyObject_TypeCheck(op, &HgRevlogIndex_Type)
b12700dd261f revlog: add public CPython function to get parent revisions
Yuya Nishihara <yuya@tcha.org>
parents: 40878
diff changeset
    16
b12700dd261f revlog: add public CPython function to get parent revisions
Yuya Nishihara <yuya@tcha.org>
parents: 40878
diff changeset
    17
int HgRevlogIndex_GetParents(PyObject *op, int rev, int *ps);
b12700dd261f revlog: add public CPython function to get parent revisions
Yuya Nishihara <yuya@tcha.org>
parents: 40878
diff changeset
    18
40877
aa76be85029b revlog: export symbol of indexType
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    19
#endif /* _HG_REVLOG_H_ */