* lib/vclib/svn/__init__.py
(_rootpath2url): New helper, cored from BlameSource.__init__().
(BlameSource): Rework this class to use the Subversion client Python
bindings, specifically a call to svn_client_blame2().
(SubversionRepository.annotate): Use new _rootpath2url(), and
update the called to BlameSource().
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1512 8cb11bc2-c004-0410-86c3-e597b4017df7
(_rev2optrev): Moved here from the svn_ra module.
* lib/vclib/svn_ra/__init__.py
(_rev2optrev): Moved to the svn module (now pulled in indirectly).
(SubversionRepository.__init__): Fix a leftover instance of a pool.
Also, add a comment about svn_cmdline_setup_auth_baton().
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1511 8cb11bc2-c004-0410-86c3-e597b4017df7
Add the ability to query the commit database by log message comment in
addition to the existing query parameters.
Patch by: David Skyba <davidskyba@users.sourceforge.net>
* lib/cvsdb.py
(CheckinDatabase.CreateSQLQueryString): Add support for filtering
query results by log message.
(CheckinDatabaseQuery.__init__): Add new comment_list member.
(CheckinDatabaseQuery.SetComment): New.
* lib/viewvc.py
(_legal_params): Add 'comment' and 'comment_match' as valid query
parameters.
(view_queryform): Populate new 'comment' and 'comment_match' data
dictionary items.
(english_query, view_query): Handle the new 'comment' and
'comment_match' query items.
* templates/query_form.ezt
Add UI for filtering queries by log message.
* docs/url-reference.html
(Query View): Note new comment= and comment_match= URL parameters.
* docs/template-authoring-guide.html
(variables-query_form): Note new comment and comment_match data
dictionary items.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1509 8cb11bc2-c004-0410-86c3-e597b4017df7
Use a GNU tar extension when path names longer than 100 characters are
being packaged in our tarball output.
Patch by: Klaus Rennecke <marion@users.sourceforge.net>
I tested this on a Solaris box that had both the native tar program
and GNU tar. Without the patch, but the native and GNU tar programs
created files with truncated filenames. With the patch, GNU tar worked as
expected; the native tar program created a '././@LongLink' file
whose contents were the long path, and additionally created the
file with the truncated path.
* lib/viewvc.py
(generate_tarball_header): For paths longer than 100 characters, use
a GNU tar extension which allows arbitrary path links. Also, fix
the "version" header item to be '00', not \0.
* templates/include/dir_footer.ezt
Change the "download tarball" link text to indicate that we are
now generating GNU tarballs.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1507 8cb11bc2-c004-0410-86c3-e597b4017df7
(mkdtemp): Fix the compatibility implementation's use of mktemp(),
which prior to Python 2.3 (the same release that mkdtemp() shows
up) only supported a single "suffix" argument.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1506 8cb11bc2-c004-0410-86c3-e597b4017df7
filename by first sorting, then only fetching the extended revision
metadata information for the items that would survive the page
filtering.
Patch by: Gustavo De Nardin <gustavodn@mandriva.com>
(Tweaked by me.)
* lib/viewvc.py
(view_directory): Only fetch dirlogs for directory entries that will be
on "this page".
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1504 8cb11bc2-c004-0410-86c3-e597b4017df7
Drop a skeletal FAQ page into place, but don't hook it into the rest
of the site, seein' as how there's no real content here yet.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1503 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/cvsdb.py
(CheckinDatabase.AddCommit): Set plus_count and minus_count
explicitly to '0', which seems to be required for some folks'
MySQL installations.
* bin/make-database
Explicitly declare that we want tables of type "MyISAM".
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1500 8cb11bc2-c004-0410-86c3-e597b4017df7
(CheckinDatabase.AddCommit): Add some more information to any Exceptions
received while adding commits to the database.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1498 8cb11bc2-c004-0410-86c3-e597b4017df7
svndbadmin usage.
* INSTALL
(SQL CHECKIN DATABASE): Recommend the use of 'svndbadmin update REV'
in post-commit hooks, and 'svndbadmin update --force REV' in
post-revprop-change.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1496 8cb11bc2-c004-0410-86c3-e597b4017df7
NOTE: This is not currently used in ViewVC. I needed it in another
piece of software, but wanted the tweaks to be publicly available
somewhere.
* lib/ezt.py
(FORMAT_URI, _uri_printer): New.
(_printers): Add mapping for new URI-formatting code.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1495 8cb11bc2-c004-0410-86c3-e597b4017df7
svndbadmin. Teach the 'rebuild' commands to first purge existing data
and then crawl the repository. Also, drop support for the 'rev'
parameter to 'svndbadmin rebuild', adding instead a '--force' option
to 'svndbadmin update'.
Suggested, and SQL commands offered, by Mark <mark@mitsein.net>.
* lib/cvsdb.py
(CheckinDatabase.sql_delete, CheckinDatabase.PurgeRepository): New.
* bin/svndbadmin
(handle_revision): Add 'force' parameter, used to force update of
commits already recorded in the database.
(main): Add 'force' parameter, passed on to handle_revision().
Handle the new 'purge' command, and teach 'rebuild' to also purge.
(usage): Update usage info.
(__main__): Add support for 'update --force' and 'purge', and drop
support for 'rebuild rev'. Add a KeyboardInterrupt handler.
* bin/cvsdbadmin
(usage): Add 'purge' usage info.
(__main__): Rework command-line parameter handling. Add support for
'purge' command, and make 'rebuild' first do a purge.
* CHANGES
Note this change.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1493 8cb11bc2-c004-0410-86c3-e597b4017df7
* bin/make-database
Up the length of the people table's 'who' column to 128 characters.
Suggested by: Ted Mielczarek <luserspaz@tigris.org>
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1492 8cb11bc2-c004-0410-86c3-e597b4017df7
extension and contents.
Patch by: Christophe Delmon <cdelmon@tigris.org>
(Now, if only we could make highlight stop telling us via Apache's
error_log every time it doesn't recognize a filetype...)
* lib/viewvc.py
(MarkupHighlight.__init__): No longer calculate the file extension,
and drop the --syntax argument to highlight.
(MarkupHighlight.__call__): New.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1491 8cb11bc2-c004-0410-86c3-e597b4017df7
of requiring that you run it while sitting in its containing directory).
* viewvc-install
(_actual_src_path): New helper function.
(replace_file): Move this functionality into...
(install_file): ...here. Also, normalize some variable names for
consistency with...
(install_tree): ...this.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1488 8cb11bc2-c004-0410-86c3-e597b4017df7
directory where that file resides, instead of being relative to the
grandparent directory of viewvc.py.
This change lets you set up multiple installations of ViewVC that
share a common library directory, but are otherwise independent. It
also allows ViewVC to work more nicely with Gentoo's webapp-config.
Warning: This change may break ViewVC installations that use
VIEWVC_CONF_PATHNAME settings pointing at configuration files outside
the ViewVC install directory.
* lib/config.py
(Config.path): new method returning paths relative to config file
* lib/viewvc.py
(_install_path): removed function
(get_view_template, view_cvsgraph_image, view_cvsgraph, view_doc):
call cfg.path instead of _install_path
(load_config): replace call to _install_path with equivalent inline
code
* viewvc.conf.dist
update comments referring to ViewVC install directory
* CHANGES
document this change
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1487 8cb11bc2-c004-0410-86c3-e597b4017df7
the following warning in Python 2.5:
Warning: 'with' will become a reserved keyword in Python 2.6
Reported by: Philip M. Gollucci <pgollucci@p6m7g8.com>
* lib/PyFontify.py
(replace): Removed. Callers now use string.replace().
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1486 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/viewvc.py
(view_doc): Lose newline characters in exception messages.
(Request.run_viewvc): Rewrite the unfound root exception messages to
be a little less cryptic.
* templates/error.ezt
No longer wrap exception messages in <pre> tags. Also, pad error
output with a bunch of space characters to IE's "Friend Error
Messages" don't show up.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1485 8cb11bc2-c004-0410-86c3-e597b4017df7
(install_file, install_tree): Replace '/' with the OS-specific
directory separator character in the destination path before processing.
This is follow-up to r1458.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1483 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/viewvc.py
(common_template_data): Accept the 'annotate' parameter as a valid source
for the 'rev' data item.
Noticed by: Marco Colombo <marcol@tigris.org>
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1480 8cb11bc2-c004-0410-86c3-e597b4017df7
(SUBVERSION INTEGRATION): Tweak the example for testing Subversion
Python bindings installation to be useful, showing how to find the
installed version of those bindings.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1479 8cb11bc2-c004-0410-86c3-e597b4017df7
Bump version requirement to Subversion 1.3.1. Also, remove
unnecessary pools from the entirety of the module.
* lib/vclib/svn_ra/__init__.py
Bump version requirement to Subversion 1.3.1.
* INSTALL
Bump Subversion version requirement to Subversion 1.3.1.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1475 8cb11bc2-c004-0410-86c3-e597b4017df7
Remove dependency on compat. It's time for rcsparse to be free, and by
golly, it's okay if it requires Python 2.0 now to do it.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1471 8cb11bc2-c004-0410-86c3-e597b4017df7
introduced in CVS's 1.12 line.
Issue number(s): 257
Patch mostly by: Mark <mark@mitsein.net>, tweaked by me.
* bin/loginfo-handler
(Cvs1Dot12ArgParse): New.
(HeuristicArgParse): Update comment -- the problems is no longer
with "current" CVS, but with "older" ones.
(__main__): Detect the use of newer CVS loginfo formatting, and
parse the arguments accordingly. Also, clean up some indentation
inconsistency.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1463 8cb11bc2-c004-0410-86c3-e597b4017df7
cvsdbadmin script.
* bin/cvsdbadmin
(UpdateFile, RecurseUpdate, RootPath): Add new 'quiet_level'
argument. Callers updated.
(usage): Rewrite to indicate the existence of the new -q flag, and
to look more like the svndbadmin usage message.
(__main__): Parse the new -q argument.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1462 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/debug.py
(SHOW_TIMES, SHOW_CHILD_PROCESSES): Add some explanatary comments.
(TARFILE_PATH): New.
* lib/viewvc.py
(download_tarball): When tarball debugging is enabled, generate the tarfile
at the configured location, and deliver either a cheap success message
or an error view to the browser.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1461 8cb11bc2-c004-0410-86c3-e597b4017df7
(install_file, install_tree): Replace '/' with the OS-specific
directory separator character in src_path before processing.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1458 8cb11bc2-c004-0410-86c3-e597b4017df7
addresses.
The ultimate problem here was that email address recognition banks on
the final component of addresses "server" only have 2-4 characters in
it. But the query code was doing a little more here than necessary
anyway, mistakenly using htmlify() instead of its subset, server.escape().
* lib/viewvc.py
(view_query, english_query, build_commit): Use
request.server.escape() instead of its superset, htmlify(), to
format stuff that needs to be HTML-escaped, but doesn't
necessarily need to try to recognize URLs and email addresses.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1456 8cb11bc2-c004-0410-86c3-e597b4017df7
Dictate UTF-8 as the output character set for all ViewVC
template-driven views.
* lib/sapi.py
(CgiServer.header, ModPythonServer.header): Add "; charset=UTF-8" to
the Content-type header in ViewVC output.
(AspServer.header): If no content type is specified, set the content
type to 'text/html; charset=UTF-8'.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1450 8cb11bc2-c004-0410-86c3-e597b4017df7