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-e597b4017df7
remotes/tags/1.0.0-rc1
cmpilato 2005-02-28 15:40:08 +00:00
parent ad0bc5c421
commit 6355639d08
5 changed files with 27 additions and 10 deletions

View File

@ -255,6 +255,10 @@ def get_logs(svnrepos, full_name, files):
core.svn_pool_destroy(subpool)
def get_youngest_revision(svnrepos):
return svnrepos.youngest
def do_diff(svnrepos, path1, rev1, path2, rev2, diffoptions):
root1 = fs.revision_root(svnrepos.fs_ptr, rev1, svnrepos.pool)
root2 = fs.revision_root(svnrepos.fs_ptr, rev2, svnrepos.pool)

View File

@ -321,6 +321,10 @@ def _escape_msvcrt_shell_arg(arg):
_re_slashquote = re.compile(r'(\\+)(\"|$)')
def get_youngest_revision(svnrepos):
return svnrepos.youngest
def do_diff(svnrepos, path1, rev1, path2, rev2, diffoptions):
url1 = svnrepos.rootpath + (path1 and '/' + path1)
url2 = svnrepos.rootpath + (path2 and '/' + path2)

View File

@ -1605,6 +1605,12 @@ def view_directory(request):
'num_files' : num_files,
'files_shown' : num_displayed,
'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
@ -1641,12 +1647,6 @@ def view_directory(request):
'branch_tags': branch_tags,
'plain_tags': plain_tags,
})
else:
data.update({
'view_tag' : None,
'has_tags' : None,
'selection_form' : None,
})
# should we show the query link?
if is_query_supported(request):
@ -1656,8 +1656,6 @@ def view_directory(request):
data['queryform_href'] = request.get_url(view_func=view_queryform,
params=params,
escape=1)
else:
data['queryform_href'] = None
if cfg.options.use_pagesize:
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,
params={'rev': data['tree_rev']},
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'):
data['jump_rev'] = request.query_dict['rev']
else:
data['jump_rev'] = str(request.repos.rev)
url, params = request.get_link(params={'rev': None})
data['jump_rev_action'] = urllib.quote(url, _URL_SAFE_CHARS)
data['jump_rev_hidden_values'] = prepare_hidden_values(params)

View File

@ -14,7 +14,7 @@
[is roottype "svn"]
<tr>
<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>
<td>Jump to directory revision:</td>

View File

@ -407,6 +407,14 @@
</dt>
<dd>Number of dead files.</dd>
</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>
<dt>
<code>diff.ezt</code>: