summaryrefslogtreecommitdiffstats
path: root/project.py
diff options
context:
space:
mode:
Diffstat (limited to 'project.py')
-rw-r--r--project.py19
1 files changed, 16 insertions, 3 deletions
diff --git a/project.py b/project.py
index 1e25c2c9..39550335 100644
--- a/project.py
+++ b/project.py
@@ -104,6 +104,7 @@ class ReviewableBranch(object):
104 self.project = project 104 self.project = project
105 self.branch = branch 105 self.branch = branch
106 self.base = base 106 self.base = base
107 self.replace_changes = None
107 108
108 @property 109 @property
109 def name(self): 110 def name(self):
@@ -124,6 +125,16 @@ class ReviewableBranch(object):
124 return self._commit_cache 125 return self._commit_cache
125 126
126 @property 127 @property
128 def unabbrev_commits(self):
129 r = dict()
130 for commit in self.project.bare_git.rev_list(
131 not_rev(self.base),
132 R_HEADS + self.name,
133 '--'):
134 r[commit[0:8]] = commit
135 return r
136
137 @property
127 def date(self): 138 def date(self):
128 return self.project.bare_git.log( 139 return self.project.bare_git.log(
129 '--pretty=format:%cd', 140 '--pretty=format:%cd',
@@ -132,7 +143,8 @@ class ReviewableBranch(object):
132 '--') 143 '--')
133 144
134 def UploadForReview(self): 145 def UploadForReview(self):
135 self.project.UploadForReview(self.name) 146 self.project.UploadForReview(self.name,
147 self.replace_changes)
136 148
137 @property 149 @property
138 def tip_url(self): 150 def tip_url(self):
@@ -444,7 +456,7 @@ class Project(object):
444 return rb 456 return rb
445 return None 457 return None
446 458
447 def UploadForReview(self, branch=None): 459 def UploadForReview(self, branch=None, replace_changes=None):
448 """Uploads the named branch for code review. 460 """Uploads the named branch for code review.
449 """ 461 """
450 if branch is None: 462 if branch is None:
@@ -482,7 +494,8 @@ class Project(object):
482 dest_project = branch.remote.projectname, 494 dest_project = branch.remote.projectname,
483 dest_branch = dest_branch, 495 dest_branch = dest_branch,
484 src_branch = R_HEADS + branch.name, 496 src_branch = R_HEADS + branch.name,
485 bases = base_list) 497 bases = base_list,
498 replace_changes = replace_changes)
486 except proto_client.ClientLoginError: 499 except proto_client.ClientLoginError:
487 raise UploadError('Login failure') 500 raise UploadError('Login failure')
488 except urllib2.HTTPError, e: 501 except urllib2.HTTPError, e: