mercurial/cext/revlog.h
author Gregory Szorc <gregory.szorc@gmail.com>
Wed, 09 Jan 2019 19:06:15 -0800
changeset 41200 cecf3f8bccd3
parent 40861 b12700dd261f
child 44467 9db11679f8ac
permissions -rw-r--r--
revlog: always process opener options I'm not sure when ``opener.options`` would ever be explicitly set to None. It is definitely not possible to construct a repo this way because ``localrepo.resolvestorevfsoptions()`` always returns a dict and ``localrepo.makelocalrepository()`` always sets ``opener.options`` to this value. Because we always execute this code now, if options are empty we defaulted to creating version 0 revlogs. So we had to change the code slightly to fall back to the default revlog version and flags. As astute reader will note that it is not possible to create version 0 revlogs now. However, I don't think it was possible before, as this required ``opener.options`` being unset, which I don't think was possible. I suspect this means our test coverage for version 0 revlog repositories is possibly non-existent! Since I don't see a config option to disable revlog v1, I'm not even sure if we had a way to create new repos with version 0 revlogs! Who knows. Differential Revision: https://phab.mercurial-scm.org/D5559
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
40859
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
40860
18a8def6e1b5 revlog: rename indexType to HgRevlogIndex_Type as it's a global symbol
Yuya Nishihara <yuya@tcha.org>
parents: 40859
diff changeset
    13
extern PyTypeObject HgRevlogIndex_Type;
40859
aa76be85029b revlog: export symbol of indexType
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    14
40861
b12700dd261f revlog: add public CPython function to get parent revisions
Yuya Nishihara <yuya@tcha.org>
parents: 40860
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: 40860
diff changeset
    16
b12700dd261f revlog: add public CPython function to get parent revisions
Yuya Nishihara <yuya@tcha.org>
parents: 40860
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: 40860
diff changeset
    18
40859
aa76be85029b revlog: export symbol of indexType
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    19
#endif /* _HG_REVLOG_H_ */