(SECURITY INFORMATION): Update this with the latest information
about the checkout view and how to toggle its enablement.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1554 8cb11bc2-c004-0410-86c3-e597b4017df7
* templates/annotate.ezt
Try to make the annotate view stylations look a little more like
those of the markup view.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1553 8cb11bc2-c004-0410-86c3-e597b4017df7
having them populate almost identical data dictionaries, and having
similar template headers.
* docs/upgrading-howto.html
(Upgrading from 1.0.0): Note that 'mime_type', 'log', 'date', 'ago',
'author', 'branches', 'tags', 'branch_points', 'changed', 'size',
'state', 'vendor_branch', and 'prev' were added to annotate.ezt.
* docs/template-authoring-guide.html
(Annotation View): Add 'mime_type', 'log', 'date', 'ago', 'author',
'branches', 'tags', 'branch_points', 'changed', 'size', 'state',
'vendor_branch', and 'prev'.
* templates/annotate.ezt
Basically, replace the top of this thing with a copy of the top of
markup.ezt.
* lib/viewvc.py
(view_annotate): Populate almost an identical data dictionary to
what the markup view uses.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1552 8cb11bc2-c004-0410-86c3-e597b4017df7
of revisions for the 'update' operation.
* bin/svndbadmin
(): Update the script's header comment.
(main): Now accept a 'revs' list instead of a single integer revision.
(_rev2int): New helper function.
(usage): Update usage message.
(__main__): Now allow a revision range to be specified, with support
for the 'HEAD' keyword, too.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1546 8cb11bc2-c004-0410-86c3-e597b4017df7
checkout view. The former is for sanity, the latter for security.
* viewvc.conf.dist
(allow_tar, allow_annotate, allow_markup): Removed.
(allowed_views): New.
* lib/config.py
(Config._force_multi_value): Add 'allowed_views'.
(Config.set_defaults): Set default for 'allowed_views'; no longer set
defaults for 'allow_tar', 'allow_annotate', 'allow_markup'.
* lib/viewvc.py
(default_view, view_directory, download_tarball, get_file_view_info,
view_annotate, view_diff, build_commit, view_revision, view_markup,
view_checkout): Track changes, adding code to prevent checkout view
URL generation when the view is disabled, and doing the same for
markup views (which should have already been done, since we already
had an allow_markup option!)
* templates/query_results.ezt
* templates/markup.ezt
* templates/directory.ezt
* templates/log.ezt
* templates/log_table.ezt
* templates/annotate.ezt
Don't assume checkout and markup views are present.
* docs/upgrading-howto.html
Update to show the configuration changes.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1544 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/viewvc.py
(_views): Rename the 'rev' view to the 'revision' view. (This has
always bugged me.)
(Request.run_viewvc): Redirect old 'view=rev' URLs to 'view=revision'.
* docs/url-reference.html
Update to reflect new URL syntax (and compatability support).
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1543 8cb11bc2-c004-0410-86c3-e597b4017df7
(_orig_path, common_template_data, view_directory, view_revision,
setup_diff): Catch vclib.InvalidRevision exceptions from
repos._getrev(), and re-throw them as ViewVCExceptions.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1539 8cb11bc2-c004-0410-86c3-e597b4017df7
Add a note about the security implications of the checkout view,
suggested by Moritz Naumann <security@moritz-naumann.com>.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1535 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/vclib/svn/__init__.py
(_datestr_to_date): Make this function more robust in the face of
bogus datestamps.
* lib/viewvc.py
(htmlify, format_log, make_time_string, make_rss_time_string,
build_commit, view_directory): Make this functions more gracefully
handle "None" revision metadata, and not generate data like
"Unknown date" or " ".
* templates/log.ezt,
* templates/markup.ezt,
* templates/rss.ezt,
* templates/revision.ezt,
* templates/log_table.ezt
Handle empty revision metadata more gracefully.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1533 8cb11bc2-c004-0410-86c3-e597b4017df7
the output stream.
* lib/viewvc.py
(copy_stream): Don't supply a default value for 'dst', and don't
special-case a value of None for it, either.
(view_checkout, view_cvsgraph_image, view_doc): Pass
request.server.file() as the 'dst' parameter to copy_stream().
(view_patch): Pass request.server.file() as the 'dst' parameter to
copy_stream(). Also, use request.server.file() instead of
sys.stdout.
(download_tarball): Use request.server.flush() instead of
sys.stdout.flush().
(view_error): Use server.file() instead of sys.stdout.
* lib/query.py
(main): Use server.file() instead of sys.stdout.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1532 8cb11bc2-c004-0410-86c3-e597b4017df7
now. No, really!
* INSTALL
Okay, no more messing around with lesser version. source-highlight
2.5 it is.
* lib/viewvc.py
(MarkupSourceHighlight.__init__): Use 'sed' to strip unnecessary
leading and close tags generated by source-highlight. Also, pass
a value of "l_" for the line number reference prefix, which makes
this consistent with highlight's line IDs.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1529 8cb11bc2-c004-0410-86c3-e597b4017df7
* templates/docroot/styles.css
Remove source-highlight styles. We can't reliably get that program
to generate real style names.
* viewvc.conf.dist
(source_highlight): Fix the sample path.
* lib/viewvc.py
(MarkupSourceHighlight): Rework this to pipe the file contents into
source-highlight on stdin, and don't try to enable CSS output or
anything fancy, because source-highlight has too many bugs in this
area. Use --failsafe mode.
* INSTALL
Change the recommendation for the version of source-highlight.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1528 8cb11bc2-c004-0410-86c3-e597b4017df7
(created_rev): Because the way ra.svn_ra_get_dir() seems to work
differently across versions of the Subversion Python bindings,
build in some fault tolerance.
Tested by Eric Hanchrow <offby1@blarg.net>.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1525 8cb11bc2-c004-0410-86c3-e597b4017df7
Add some more debugging, and consume stdin so CVS's pipe doesn't
back up (which causes an abort()).
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1518 8cb11bc2-c004-0410-86c3-e597b4017df7
Fix the loginfo-handler's argument handling so that it works with
single-file commits in CVS 1.12.x.
Patch by: Cristian Tibirna <ctibirna@giref.ulaval.ca>
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1517 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/vclib/__init__.py
(NonTextualFileContents): New Exception.
* lib/vclib/svn/__init__.py
(BlameSource.__init__): Translate the Subversion error
SVN_ERR_CLIENT_IS_BINARY_FILE in the new vclib.NonTextualFileContents
exception.
* lib/viewvc.py
(view_annotate): Catch the new vclib.NonTextualFileContents exception.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1514 8cb11bc2-c004-0410-86c3-e597b4017df7
* 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