##// END OF EJS Templates
filectx: add rename traversal for parents()
Matt Mackall -
r3122:da85145d default
parent child Browse files
Show More
@@ -5,6 +5,8 b''
5 # This software may be used and distributed according to the terms
5 # This software may be used and distributed according to the terms
6 # of the GNU General Public License, incorporated herein by reference.
6 # of the GNU General Public License, incorporated herein by reference.
7
7
8 from node import *
9
8 class changectx(object):
10 class changectx(object):
9 """A changecontext object makes access to data related to a particular
11 """A changecontext object makes access to data related to a particular
10 changeset convenient."""
12 changeset convenient."""
@@ -33,7 +35,7 b' class changectx(object):'
33 def node(self): return self._node
35 def node(self): return self._node
34 def user(self): return self.changeset()[1]
36 def user(self): return self.changeset()[1]
35 def date(self): return self.changeset()[2]
37 def date(self): return self.changeset()[2]
36 def changedfiles(self): return self.changeset()[3]
38 def files(self): return self.changeset()[3]
37 def description(self): return self.changeset()[4]
39 def description(self): return self.changeset()[4]
38
40
39 def parents(self):
41 def parents(self):
@@ -111,11 +113,14 b' class filectx(object):'
111 def data(self): return self._filelog.read(self._filenode)
113 def data(self): return self._filelog.read(self._filenode)
112 def metadata(self): return self._filelog.readmeta(self._filenode)
114 def metadata(self): return self._filelog.readmeta(self._filenode)
113 def renamed(self): return self._filelog.renamed(self._filenode)
115 def renamed(self): return self._filelog.renamed(self._filenode)
116 def path(self): return self._path
114
117
115 def parents(self):
118 def parents(self):
116 # need to fix for renames
119 p = [ (self._path, n) for n in self._filelog.parents(self._filenode) ]
117 p = self._filelog.parents(self._filenode)
120 r = self.renamed()
118 return [ filectx(self._repo, self._path, fileid=x) for x in p ]
121 if r:
122 p[0] = r
123 return [ filectx(self._repo, p, fileid=n) for p,n in p if n != nullid ]
119
124
120 def children(self):
125 def children(self):
121 # hard for renames
126 # hard for renames
General Comments 0
You need to be logged in to leave comments. Login now