Changeset 3197
- Timestamp:
- 02/08/08 05:25:47 (10 months ago)
- Files:
-
- gitplugin/0.11/gitplugin/git_fs.py (modified) (4 diffs)
- gitplugin/0.11/gitplugin/PyGIT.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
gitplugin/0.11/gitplugin/git_fs.py
r3187 r3197 149 149 150 150 def get_node(self, path, rev=None): 151 #print "get_node", path, rev152 151 return GitNode(self.git, path, rev) 153 152 … … 220 219 def __init__(self, git, path, rev, tree_ls_info=None): 221 220 self.git = git 222 self.sha = rev221 self.sha = None 223 222 self.perm = None 224 223 self.data_len = None … … 235 234 236 235 if tree_ls_info != None: 237 (self.perm, k,self.sha,fn) = tree_ls_info236 (self.perm, k, self.sha, fn) = tree_ls_info 238 237 else: 239 238 k = 'blob' 240 239 241 rev =self.git.last_change(rev, p)240 rev = self.git.last_change(rev, p) # FIXME 242 241 243 242 if k=='tree': … … 265 264 return {} 266 265 266 def get_annotations(self): 267 p = self.path.strip('/') 268 if not self.isfile: 269 return 270 271 result = [] 272 for brev,blineno in self.git.blame(self.rev, p): 273 result.append(brev) 274 275 return result 276 267 277 def get_entries(self): 268 if self.isfile:269 return270 278 if not self.isdir: 271 279 return gitplugin/0.11/gitplugin/PyGIT.py
r3188 r3197 365 365 return rev2 in self.children_recursive(rev1) 366 366 367 def blame(self, commit_sha, path): 368 in_metadata = False 369 for line in self._git_call_f("git-blame -p -- '%s' %s" \ 370 % (path, commit_sha)).readlines(): 371 assert line 372 if in_metadata: 373 in_metadata = line[0] != '\t' 374 else: 375 split_line = line.split() 376 if len(split_line) == 4: 377 (sha, orig_lineno, lineno, group_size) = split_line 378 else: 379 (sha, orig_lineno, lineno) = split_line 380 381 assert len(sha) == 40 382 yield (sha, lineno) 383 in_metadata = True 384 385 assert not in_metadata 386 367 387 def last_change(self, sha, path): 368 388 for rev in self._git_call_f("git-rev-list --max-count=1 %s -- '%s'" % (sha,path)).readlines():
