Update get_link() to add a rev parameter for diff links on subversion
repositories (sets rev to the same value as r2). Update run_viewcvs() so that if no view is selected, handle requests that specify r1,r2,rev as diffs rather than checkouts, and requests that specify r1,rev as logs. Update log.ezt and log_table.ezt to set the rev parameter in the diff links when browsing subversion repositories. git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@888 8cb11bc2-c004-0410-86c3-e597b4017df7remotes/tags/1.0.0-rc1
parent
69d586a5d8
commit
f2d02f282b
|
@ -316,7 +316,11 @@ class Request:
|
|||
if self.pathtype == vclib.DIR:
|
||||
self.view_func = view_directory
|
||||
elif self.pathtype == vclib.FILE:
|
||||
if self.query_dict.has_key('rev'):
|
||||
if self.query_dict.has_key('r1') and self.query_dict.has_key('r2'):
|
||||
self.view_func = view_diff
|
||||
elif self.query_dict.has_key('r1') and self.query_dict.has_key('rev'):
|
||||
self.view_func = view_log
|
||||
elif self.query_dict.has_key('rev'):
|
||||
if self.query_dict.get('content-type', None) in (viewcvs_mime_type,
|
||||
alt_mime_type):
|
||||
self.view_func = view_markup
|
||||
|
@ -324,8 +328,6 @@ class Request:
|
|||
self.view_func = view_checkout
|
||||
elif self.query_dict.has_key('annotate'):
|
||||
self.view_func = view_annotate
|
||||
elif self.query_dict.has_key('r1') and self.query_dict.has_key('r2'):
|
||||
self.view_func = view_diff
|
||||
elif self.query_dict.has_key('tarball'):
|
||||
self.view_func = download_tarball
|
||||
elif self.query_dict.has_key('graph'):
|
||||
|
@ -437,6 +439,12 @@ class Request:
|
|||
if view_func is view_annotate and params.has_key('annotate'):
|
||||
view_func = None
|
||||
|
||||
# For diffs on Subversion repositories, set rev to the value of r2
|
||||
# otherwise, we get 404's on movied files
|
||||
if view_func is view_diff and self.roottype == 'svn' \
|
||||
and not params.has_key('rev'):
|
||||
params['rev'] = params.get('r2')
|
||||
|
||||
# no need to explicitly specify diff view when
|
||||
# there's r1 and r2 parameters
|
||||
if view_func is view_diff and params.has_key('r1') \
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
[is entries.rev rev_selected]
|
||||
- <b>[[]selected]</b>
|
||||
[else]
|
||||
- <a href="[diff_url]?r1=[entries.rev][is roottype "svn"]&p1=[entries.filename][end][diff_params]">[[]select for diffs]</a>
|
||||
- <a href="[diff_url]?r1=[entries.rev][is roottype "svn"]&rev=[entries.rev]&p1=[entries.filename][end][diff_params]">[[]select for diffs]</a>
|
||||
[end]
|
||||
[end]
|
||||
[end]
|
||||
|
@ -103,10 +103,10 @@
|
|||
[else]
|
||||
[is pathtype "file"]
|
||||
[if-any entries.prev]
|
||||
<br>Diff to <a href="[diff_url]?r1=[entries.prev]&r2=[entries.rev][is roottype "svn"][if-any entries.prev_path]&p1=[entries.prev_path][end]&p2=[entries.filename][end][diff_params]">previous [entries.prev]</a>
|
||||
<br>Diff to <a href="[diff_url]?r1=[entries.prev]&r2=[entries.rev][is roottype "svn"]&rev=[entries.rev][if-any entries.prev_path]&p1=[entries.prev_path][end]&p2=[entries.filename][end][diff_params]">previous [entries.prev]</a>
|
||||
[if-any human_readable]
|
||||
[else]
|
||||
(<a href="[diff_url]?r1=[entries.prev]&r2=[entries.rev][is roottype "svn"][if-any entries.prev_path]&p1=[entries.prev_path][end]&p2=[entries.filename][end]&diff_format=h[diff_params]">colored</a>)
|
||||
(<a href="[diff_url]?r1=[entries.prev]&r2=[entries.rev][is roottype "svn"]&rev=[entries.rev][if-any entries.prev_path]&p1=[entries.prev_path][end]&p2=[entries.filename][end]&diff_format=h[diff_params]">colored</a>)
|
||||
[end]
|
||||
[end]
|
||||
|
||||
|
@ -130,10 +130,10 @@
|
|||
|
||||
[if-any entries.to_selected]
|
||||
[if-any entries.prev], [else]<br>Diff[end]
|
||||
to <a href="[diff_url]?r1=[rev_selected]&r2=[entries.rev][is roottype "svn"][if-any entries.prev_path]&p1=[path_selected][end]&p2=[entries.filename][end][diff_params]">selected [rev_selected]</a>
|
||||
to <a href="[diff_url]?r1=[rev_selected]&r2=[entries.rev][is roottype "svn"]&rev=[entries.rev][if-any entries.prev_path]&p1=[path_selected][end]&p2=[entries.filename][end][diff_params]">selected [rev_selected]</a>
|
||||
[if-any human_readable]
|
||||
[else]
|
||||
(<a href="[diff_url]?r1=[rev_selected]&r2=[entries.rev][is roottype "svn"][if-any entries.prev_path]&p1=[path_selected][end]&p2=[entries.filename][end]&diff_format=h[diff_params]">colored</a>)
|
||||
(<a href="[diff_url]?r1=[rev_selected]&r2=[entries.rev][is roottype "svn"]&rev=[entries.rev][if-any entries.prev_path]&p1=[path_selected][end]&p2=[entries.filename][end]&diff_format=h[diff_params]">colored</a>)
|
||||
[end]
|
||||
[end]
|
||||
[end]
|
||||
|
|
|
@ -53,20 +53,20 @@
|
|||
[is entries.rev rev_selected]
|
||||
<b>[[]selected]</b><br>
|
||||
[else]
|
||||
<a href="[diff_url]?r1=[entries.rev][is roottype "svn"]&p1=[entries.filename][end][diff_params]"><b>[[]select for diffs]</b></a><br>
|
||||
<a href="[diff_url]?r1=[entries.rev][is roottype "svn"]&rev=[entries.rev]&p1=[entries.filename][end][diff_params]"><b>[[]select for diffs]</b></a><br>
|
||||
[end]
|
||||
[if-any entries.to_selected]
|
||||
<a href="[diff_url]?r1=[rev_selected]&r2=[entries.rev][is roottype "svn"][if-any entries.prev_path]&p1=[path_selected][end]&p2=[entries.filename][end][diff_params]"><b>Diff to selected [rev_selected]</b></a><br>
|
||||
<a href="[diff_url]?r1=[rev_selected]&r2=[entries.rev][is roottype "svn"]&rev=[entries.rev][if-any entries.prev_path]&p1=[path_selected][end]&p2=[entries.filename][end][diff_params]"><b>Diff to selected [rev_selected]</b></a><br>
|
||||
[if-any human_readable]
|
||||
[else]
|
||||
<a href="[diff_url]?r1=[rev_selected]&r2=[entries.rev][is roottype "svn"][if-any entries.prev_path]&p1=[path_selected][end]&p2=[entries.filename][end]&diff_format=h[diff_params]"><b>colored</b></a><br>
|
||||
<a href="[diff_url]?r1=[rev_selected]&r2=[entries.rev][is roottype "svn"]&rev=[entries.rev][if-any entries.prev_path]&p1=[path_selected][end]&p2=[entries.filename][end]&diff_format=h[diff_params]"><b>colored</b></a><br>
|
||||
[end]
|
||||
[end]
|
||||
[if-any entries.prev]
|
||||
<a href="[diff_url]?r1=[entries.prev]&r2=[entries.rev][is roottype "svn"][if-any entries.prev_path]&p1=[entries.prev_path][end]&p2=[entries.filename][end][diff_params]"><b>Diff to previous [entries.prev]</b></a><br>
|
||||
<a href="[diff_url]?r1=[entries.prev]&r2=[entries.rev][is roottype "svn"]&rev=[entries.rev][if-any entries.prev_path]&p1=[entries.prev_path][end]&p2=[entries.filename][end][diff_params]"><b>Diff to previous [entries.prev]</b></a><br>
|
||||
[if-any human_readable]
|
||||
[else]
|
||||
<a href="[diff_url]?r1=[entries.prev]&r2=[entries.rev][is roottype "svn"][if-any entries.prev_path]&p1=[entries.prev_path][end]&p2=[entries.filename][end]&diff_format=h[diff_params]"><b>colored</b></a><br>
|
||||
<a href="[diff_url]?r1=[entries.prev]&r2=[entries.rev][is roottype "svn"]&rev=[entries.rev][if-any entries.prev_path]&p1=[entries.prev_path][end]&p2=[entries.filename][end]&diff_format=h[diff_params]"><b>colored</b></a><br>
|
||||
[end]
|
||||
[end]
|
||||
[end]
|
||||
|
|
Loading…
Reference in New Issue