# HG changeset patch # User Jun Wu # Date 2017-05-18 03:14:27 # Node ID 3caec778774be031c2def6ed599427342c8035f3 # Parent 2d19664e257da7ad5cb97150d81838c25872fac7 changelog: make sure datafile is 00changelog.d (API) 0ad0d26ff7 makes it possible for changelog datafile to be "00changelog.i.d", which is wrong. This patch adds an explicit datafile parameter to fix it. diff --git a/mercurial/changelog.py b/mercurial/changelog.py --- a/mercurial/changelog.py +++ b/mercurial/changelog.py @@ -273,7 +273,9 @@ class changelog(revlog.revlog): else: indexfile = '00changelog.i' - revlog.revlog.__init__(self, opener, indexfile, checkambig=True) + datafile = '00changelog.d' + revlog.revlog.__init__(self, opener, indexfile, datafile=datafile, + checkambig=True) if self._initempty: # changelogs don't benefit from generaldelta diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -252,7 +252,7 @@ class revlog(object): If checkambig, indexfile is opened with checkambig=True at writing, to avoid file stat ambiguity. """ - def __init__(self, opener, indexfile, checkambig=False): + def __init__(self, opener, indexfile, datafile=None, checkambig=False): """ create a revlog object @@ -260,7 +260,7 @@ class revlog(object): and can be used to implement COW semantics or the like. """ self.indexfile = indexfile - self.datafile = indexfile[:-2] + ".d" + self.datafile = datafile or (indexfile[:-2] + ".d") self.opener = opener # When True, indexfile is opened with checkambig=True at writing, to # avoid file stat ambiguity.