mercurial/unionrepo.py
changeset 42825 62a39c868b20
parent 42824 64c3db458d08
child 42826 3e2520acf17b
equal deleted inserted replaced
42824:64c3db458d08 42825:62a39c868b20
   110         return func(node, _df=_df, raw=raw)
   110         return func(node, _df=_df, raw=raw)
   111 
   111 
   112     def rawdata(self, nodeorrev, _df=None):
   112     def rawdata(self, nodeorrev, _df=None):
   113         return self.revision(nodeorrev, _df=_df, raw=True)
   113         return self.revision(nodeorrev, _df=_df, raw=True)
   114 
   114 
   115     def baserevision(self, nodeorrev):
   115     def baserevdiff(self, rev1, rev2):
   116         # Revlog subclasses may override 'revision' method to modify format of
   116         # Revlog subclasses may override 'revdiff' method to modify format of
   117         # content retrieved from revlog. To use unionrevlog with such class one
   117         # content retrieved from revlog. To use unionrevlog with such class one
   118         # needs to override 'baserevision' and make more specific call here.
   118         # needs to override 'baserevdiff' and make more specific call here.
   119         return revlog.revlog.revision(self, nodeorrev)
       
   120 
       
   121     def baserevdiff(self, rev1, rev2):
       
   122         # Exists for the same purpose as baserevision.
       
   123         return revlog.revlog.revdiff(self, rev1, rev2)
   119         return revlog.revlog.revdiff(self, rev1, rev2)
   124 
   120 
   125     def addrevision(self, text, transaction, link, p1=None, p2=None, d=None):
   121     def addrevision(self, text, transaction, link, p1=None, p2=None, d=None):
   126         raise NotImplementedError
   122         raise NotImplementedError
   127     def addgroup(self, deltas, linkmapper, transaction, addrevisioncb=None,
   123     def addgroup(self, deltas, linkmapper, transaction, addrevisioncb=None,
   138         linkmapper = None
   134         linkmapper = None
   139         changelog2 = changelog.changelog(opener2)
   135         changelog2 = changelog.changelog(opener2)
   140         unionrevlog.__init__(self, opener, self.indexfile, changelog2,
   136         unionrevlog.__init__(self, opener, self.indexfile, changelog2,
   141                              linkmapper)
   137                              linkmapper)
   142 
   138 
   143     def baserevision(self, nodeorrev):
   139     def baserevdiff(self, rev1, rev2):
   144         # Although changelog doesn't override 'revision' method, some extensions
   140         # Although changelog doesn't override 'revdiff' method, some extensions
   145         # may replace this class with another that does. Same story with
   141         # may replace this class with another that does. Same story with
   146         # manifest and filelog classes.
   142         # manifest and filelog classes.
   147         return changelog.changelog.revision(self, nodeorrev)
       
   148 
       
   149     def baserevdiff(self, rev1, rev2):
       
   150         return changelog.changelog.revdiff(self, rev1, rev2)
   143         return changelog.changelog.revdiff(self, rev1, rev2)
   151 
   144 
   152 class unionmanifest(unionrevlog, manifest.manifestrevlog):
   145 class unionmanifest(unionrevlog, manifest.manifestrevlog):
   153     def __init__(self, opener, opener2, linkmapper):
   146     def __init__(self, opener, opener2, linkmapper):
   154         manifest.manifestrevlog.__init__(self, opener)
   147         manifest.manifestrevlog.__init__(self, opener)
   155         manifest2 = manifest.manifestrevlog(opener2)
   148         manifest2 = manifest.manifestrevlog(opener2)
   156         unionrevlog.__init__(self, opener, self.indexfile, manifest2,
   149         unionrevlog.__init__(self, opener, self.indexfile, manifest2,
   157                              linkmapper)
   150                              linkmapper)
   158 
       
   159     def baserevision(self, nodeorrev):
       
   160         return manifest.manifestrevlog.revision(self, nodeorrev)
       
   161 
   151 
   162     def baserevdiff(self, rev1, rev2):
   152     def baserevdiff(self, rev1, rev2):
   163         return manifest.manifestrevlog.revdiff(self, rev1, rev2)
   153         return manifest.manifestrevlog.revdiff(self, rev1, rev2)
   164 
   154 
   165 class unionfilelog(filelog.filelog):
   155 class unionfilelog(filelog.filelog):
   169         self._revlog = unionrevlog(opener, self.indexfile,
   159         self._revlog = unionrevlog(opener, self.indexfile,
   170                                    filelog2._revlog, linkmapper)
   160                                    filelog2._revlog, linkmapper)
   171         self._repo = repo
   161         self._repo = repo
   172         self.repotiprev = self._revlog.repotiprev
   162         self.repotiprev = self._revlog.repotiprev
   173         self.revlog2 = self._revlog.revlog2
   163         self.revlog2 = self._revlog.revlog2
   174 
       
   175     def baserevision(self, nodeorrev):
       
   176         return filelog.filelog.revision(self, nodeorrev)
       
   177 
   164 
   178     def baserevdiff(self, rev1, rev2):
   165     def baserevdiff(self, rev1, rev2):
   179         return filelog.filelog.revdiff(self, rev1, rev2)
   166         return filelog.filelog.revdiff(self, rev1, rev2)
   180 
   167 
   181     def iscensored(self, rev):
   168     def iscensored(self, rev):