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