##// END OF EJS Templates
compare: resolve revisions in the right repository for diffs between repos
Mads Kiilerich -
r4039:b44fabc4 default
parent child Browse files
Show More
@@ -54,7 +54,7 b' class CompareController(BaseRepoControll'
54 54 def __before__(self):
55 55 super(CompareController, self).__before__()
56 56
57 def __get_cs_or_redirect(self, ref, repo, redirect_after=True,
57 def __get_rev_or_redirect(self, ref, repo, redirect_after=True,
58 58 partial=False):
59 59 """
60 60 Safe way to get changeset if error occur it redirects to changeset with
@@ -81,7 +81,7 b' class CompareController(BaseRepoControll'
81 81 # else: TODO: just report 'not found'
82 82
83 83 try:
84 return repo.scm_instance.get_changeset(rev)
84 return repo.scm_instance.get_changeset(rev).raw_id
85 85 except EmptyRepositoryError, e:
86 86 if not redirect_after:
87 87 return None
@@ -219,8 +219,8 b' class CompareController(BaseRepoControll'
219 219 log.error('compare of two different kind of remote repos not available')
220 220 raise HTTPNotFound
221 221
222 self.__get_cs_or_redirect(ref=org_ref, repo=org_repo, partial=partial)
223 self.__get_cs_or_redirect(ref=other_ref, repo=other_repo, partial=partial)
222 org_rev = self.__get_rev_or_redirect(ref=org_ref, repo=org_repo, partial=partial)
223 other_rev = self.__get_rev_or_redirect(ref=other_ref, repo=other_repo, partial=partial)
224 224
225 225 c.org_repo = org_repo
226 226 c.other_repo = other_repo
@@ -249,14 +249,14 b' class CompareController(BaseRepoControll'
249 249 # Make the diff on the other repo (which is known to have other_ref)
250 250 log.debug('Using ancestor %s as org_ref instead of %s'
251 251 % (c.ancestor, org_ref))
252 org_ref = ('rev', c.ancestor)
252 org_rev = c.ancestor
253 253 org_repo = other_repo
254 254
255 255 diff_limit = self.cut_off_limit if not c.fulldiff else None
256 256
257 257 log.debug('running diff between %s and %s in %s'
258 % (org_ref, other_ref, org_repo.scm_instance.path))
259 txtdiff = org_repo.scm_instance.get_diff(rev1=safe_str(org_ref[1]), rev2=safe_str(other_ref[1]))
258 % (org_rev, other_rev, org_repo.scm_instance.path))
259 txtdiff = org_repo.scm_instance.get_diff(rev1=org_rev, rev2=other_rev)
260 260
261 261 diff_processor = diffs.DiffProcessor(txtdiff or '', format='gitdiff',
262 262 diff_limit=diff_limit)
General Comments 0
You need to be logged in to leave comments. Login now