equal
deleted
inserted
replaced
2 # |
2 # |
3 # Copyright 2006 Matt Mackall <mpm@selenic.com> |
3 # Copyright 2006 Matt Mackall <mpm@selenic.com> |
4 # |
4 # |
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 |
|
8 from node import * |
7 |
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.""" |
11 def __init__(self, repo, changeid): |
13 def __init__(self, repo, changeid): |
31 |
33 |
32 def rev(self): return self._rev |
34 def rev(self): return self._rev |
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): |
40 """return contexts for each parent changeset""" |
42 """return contexts for each parent changeset""" |
41 p = self._repo.changelog.parents(self._node) |
43 p = self._repo.changelog.parents(self._node) |
109 def manifest(self): return self.changectx().manifest() |
111 def manifest(self): return self.changectx().manifest() |
110 |
112 |
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 |
122 c = self._filelog.children(self._filenode) |
127 c = self._filelog.children(self._filenode) |
123 return [ filectx(self._repo, self._path, fileid=x) for x in c ] |
128 return [ filectx(self._repo, self._path, fileid=x) for x in c ] |