Provide the Subversion youngest revision, and a link to it, to the
directory view. This is pretty common request, the most recent by Sergio Rua <srua@plus.net>. * viewcvs/lib/vclib/svn_ra/__init__.py (get_youngest_revision): New. * viewcvs/lib/vclib/svn/__init__.py (get_youngest_revision): New. * viewcvs/lib/viewcvs.py (view_directory): Re-organize some data dictionary stuffing (I really wish that *all* data dictionary parameters were initialized at the head of each view function so we can see a canonical list of those params, but maybe another day...). Also, for 'svn' roottypes, populate a new 'youngest_rev' and 'youngest_rev_href' dictionary items. * viewcvs/website/upgrading.html Document the new 'youngest_rev' and 'youngest_rev_href' template keys. git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1044 8cb11bc2-c004-0410-86c3-e597b4017df7remotes/tags/1.0.0-rc1
parent
ad0bc5c421
commit
6355639d08
|
@ -255,6 +255,10 @@ def get_logs(svnrepos, full_name, files):
|
||||||
core.svn_pool_destroy(subpool)
|
core.svn_pool_destroy(subpool)
|
||||||
|
|
||||||
|
|
||||||
|
def get_youngest_revision(svnrepos):
|
||||||
|
return svnrepos.youngest
|
||||||
|
|
||||||
|
|
||||||
def do_diff(svnrepos, path1, rev1, path2, rev2, diffoptions):
|
def do_diff(svnrepos, path1, rev1, path2, rev2, diffoptions):
|
||||||
root1 = fs.revision_root(svnrepos.fs_ptr, rev1, svnrepos.pool)
|
root1 = fs.revision_root(svnrepos.fs_ptr, rev1, svnrepos.pool)
|
||||||
root2 = fs.revision_root(svnrepos.fs_ptr, rev2, svnrepos.pool)
|
root2 = fs.revision_root(svnrepos.fs_ptr, rev2, svnrepos.pool)
|
||||||
|
|
|
@ -321,6 +321,10 @@ def _escape_msvcrt_shell_arg(arg):
|
||||||
_re_slashquote = re.compile(r'(\\+)(\"|$)')
|
_re_slashquote = re.compile(r'(\\+)(\"|$)')
|
||||||
|
|
||||||
|
|
||||||
|
def get_youngest_revision(svnrepos):
|
||||||
|
return svnrepos.youngest
|
||||||
|
|
||||||
|
|
||||||
def do_diff(svnrepos, path1, rev1, path2, rev2, diffoptions):
|
def do_diff(svnrepos, path1, rev1, path2, rev2, diffoptions):
|
||||||
url1 = svnrepos.rootpath + (path1 and '/' + path1)
|
url1 = svnrepos.rootpath + (path1 and '/' + path1)
|
||||||
url2 = svnrepos.rootpath + (path2 and '/' + path2)
|
url2 = svnrepos.rootpath + (path2 and '/' + path2)
|
||||||
|
|
|
@ -1605,6 +1605,12 @@ def view_directory(request):
|
||||||
'num_files' : num_files,
|
'num_files' : num_files,
|
||||||
'files_shown' : num_displayed,
|
'files_shown' : num_displayed,
|
||||||
'num_dead' : num_dead,
|
'num_dead' : num_dead,
|
||||||
|
'youngest_rev' : None,
|
||||||
|
'youngest_rev_href' : None,
|
||||||
|
'view_tag' : None,
|
||||||
|
'has_tags' : None,
|
||||||
|
'selection_form' : None,
|
||||||
|
'queryform_href' : None,
|
||||||
})
|
})
|
||||||
|
|
||||||
# clicking on sort column reverses sort order
|
# clicking on sort column reverses sort order
|
||||||
|
@ -1641,12 +1647,6 @@ def view_directory(request):
|
||||||
'branch_tags': branch_tags,
|
'branch_tags': branch_tags,
|
||||||
'plain_tags': plain_tags,
|
'plain_tags': plain_tags,
|
||||||
})
|
})
|
||||||
else:
|
|
||||||
data.update({
|
|
||||||
'view_tag' : None,
|
|
||||||
'has_tags' : None,
|
|
||||||
'selection_form' : None,
|
|
||||||
})
|
|
||||||
|
|
||||||
# should we show the query link?
|
# should we show the query link?
|
||||||
if is_query_supported(request):
|
if is_query_supported(request):
|
||||||
|
@ -1656,8 +1656,6 @@ def view_directory(request):
|
||||||
data['queryform_href'] = request.get_url(view_func=view_queryform,
|
data['queryform_href'] = request.get_url(view_func=view_queryform,
|
||||||
params=params,
|
params=params,
|
||||||
escape=1)
|
escape=1)
|
||||||
else:
|
|
||||||
data['queryform_href'] = None
|
|
||||||
|
|
||||||
if cfg.options.use_pagesize:
|
if cfg.options.use_pagesize:
|
||||||
url, params = request.get_link(params={'dir_pagestart': None})
|
url, params = request.get_link(params={'dir_pagestart': None})
|
||||||
|
@ -1673,11 +1671,14 @@ def view_directory(request):
|
||||||
data['tree_rev_href'] = request.get_url(view_func=view_revision,
|
data['tree_rev_href'] = request.get_url(view_func=view_revision,
|
||||||
params={'rev': data['tree_rev']},
|
params={'rev': data['tree_rev']},
|
||||||
escape=1)
|
escape=1)
|
||||||
|
data['youngest_rev'] = vclib.svn.get_youngest_revision(request.repos)
|
||||||
|
data['youngest_rev_href'] = request.get_url(view_func=view_revision,
|
||||||
|
params={},
|
||||||
|
escape=1)
|
||||||
if request.query_dict.has_key('rev'):
|
if request.query_dict.has_key('rev'):
|
||||||
data['jump_rev'] = request.query_dict['rev']
|
data['jump_rev'] = request.query_dict['rev']
|
||||||
else:
|
else:
|
||||||
data['jump_rev'] = str(request.repos.rev)
|
data['jump_rev'] = str(request.repos.rev)
|
||||||
|
|
||||||
url, params = request.get_link(params={'rev': None})
|
url, params = request.get_link(params={'rev': None})
|
||||||
data['jump_rev_action'] = urllib.quote(url, _URL_SAFE_CHARS)
|
data['jump_rev_action'] = urllib.quote(url, _URL_SAFE_CHARS)
|
||||||
data['jump_rev_hidden_values'] = prepare_hidden_values(params)
|
data['jump_rev_hidden_values'] = prepare_hidden_values(params)
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
[is roottype "svn"]
|
[is roottype "svn"]
|
||||||
<tr>
|
<tr>
|
||||||
<td>Current revision:</td>
|
<td>Current revision:</td>
|
||||||
<td><a href="[tree_rev_href]">[tree_rev]</a></td>
|
<td><a href="[tree_rev_href]">[tree_rev]</a>[if-any youngest_rev] (of <a href="[youngest_rev_href]">[youngest_rev]</a>)[end]</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Jump to directory revision:</td>
|
<td>Jump to directory revision:</td>
|
||||||
|
|
|
@ -407,6 +407,14 @@
|
||||||
</dt>
|
</dt>
|
||||||
<dd>Number of dead files.</dd>
|
<dd>Number of dead files.</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
<dl>
|
||||||
|
<dt>
|
||||||
|
<code>directory.ezt</code> and <code>dir_alternate.ezt</code>:
|
||||||
|
<var>youngest_rev</var>, <var>youngest_rev_href</var>
|
||||||
|
</dt>
|
||||||
|
<dd>Youngest revision and an href to navigate to it
|
||||||
|
(Subversion only).</dd>
|
||||||
|
</dl>
|
||||||
<dl>
|
<dl>
|
||||||
<dt>
|
<dt>
|
||||||
<code>diff.ezt</code>:
|
<code>diff.ezt</code>:
|
||||||
|
|
Loading…
Reference in New Issue