Fix issue #246 ("Add support for issue tracker links in commit-log
viewer").
NOTE: There are some limitations here, most prominantly that commas
can't be used in the regular expressions which define replacements,
and that only match groupings 0-9 can be used in the replacement
format string.
* conf/viewvc.conf.dist
(custom_log_formatting): New configuration option.
* lib/config.py
(Config._force_multi_value, Config.set_defaults): Add handling of
new 'custom_log_formatting' option.
* lib/viewvc.py
(ViewVCHtmlFormatter.format_custom_url): New formatter callback.
(LogFormatter.get): Register the new formatter callback for rules
found in the 'custom_log_formatting' option value.
Also:
* CHANGES:
Note this change.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/branches/1.1.x@2747 8cb11bc2-c004-0410-86c3-e597b4017df7
("Log message tokenization results could be reused for better
performance"). See log messages for those revision for change
details.
Also:
* CHANGES
Note this change.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/branches/1.1.x@2742 8cb11bc2-c004-0410-86c3-e597b4017df7
Fix issue #505 ("Username case normalization breaks when browsing
anonymously").
* lib/vcauth/svnauthz/__init__.py
(ViewVCAuthorizer.__init__): Don't try to convert a None username to
lower- or upper-case.
Also:
* CHANGES
Note this change.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/branches/1.1.x@2739 8cb11bc2-c004-0410-86c3-e597b4017df7
have read something like this:
Fix issue #504 ("annotate view fails on filenames with colon (:)
characters in their names"), another in a long string of annotate view
brokennesses. (Is that word?) This time, the problem was a disparity
between Python's urllib encoding and what Subversion deems canonical.
* lib/vclib/svn/svn_repos.py
(_canonicalize_path): New helper function.
(_rootpath2url): Canonicalize URLs for use with Subversion.
* lib/vclib/svn/svn_ra.py
(): Import _canonicalize_path() from svn_repos.
(RemoteSubversionRepository._geturl): Canonicalize URLs for use
with Subversion.
Also:
* CHANGES
Note this change.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/branches/1.1.x@2734 8cb11bc2-c004-0410-86c3-e597b4017df7
message that read like so:
* lib/vclib/svn/svn_repos.py
(_rootpath2url): Try a different approach that should actually
handle spaces in the "in-repos" path, too, and maybe (if I'm super
lucky) also work on Windows.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/branches/1.1.x@2708 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/viewvc.py
(): Stop importing the pygments stuff at the module-global scope,
and go back to doing so...
(markup_stream): ...here.
(markup_or_annotate): No longer consider access to Pygments when
making the first pass at colorizing -- if we don't have it,
markup_stream() will fail quickly and we can take the second
(non-colorizing) pass.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/branches/1.1.x@2703 8cb11bc2-c004-0410-86c3-e597b4017df7
issue #495 ("Syntax highlight/colorize scripts without extensions")
feature, plus a fix to help the prefer_markup flag get set more
accurately for the markup and annotate views.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/branches/1.1.x@2700 8cb11bc2-c004-0410-86c3-e597b4017df7
Revert r2657, r2680, and r2681, effectively removing support for
Pygments' lexer guessing functionality (closing the REOPENED bug issue
#501, and necessitating that feature issue #495 be itself REOPENED).
Also:
* CHANGES
Note that at this point, the lexer guessing stuff added in 1.1.12 has
been effectively removed.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/branches/1.1.x@2685 8cb11bc2-c004-0410-86c3-e597b4017df7
read something like this:
* lib/viewvc.py
(markup_stream_pygments): Rework the Pygments lexer-choosing logic a
bit. First, don't try any of it when syntax highlighting is
disabled. Secondly, don't guess at a lexer if we know the file's
MIME type isn't text-y and have already failed to get a matching lexer.
Also:
* CHANGES
Note this change.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/branches/1.1.x@2682 8cb11bc2-c004-0410-86c3-e597b4017df7
Fix annotate views of files in Subversion repository whose paths
contain non-URI-safe characters (spaces, non-ASCII stuff, etc.)
* lib/vclib/svn/svn_repos.py
(_rootpath2url): Use urllib.pathname2url to URL-encode the path
portion of the URL we are building.
Also:
* CHANGES
Note this change.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/branches/1.1.x@2675 8cb11bc2-c004-0410-86c3-e597b4017df7
Fix issue #499 ("svndbadmin fails on deleted files").
* bin/svndbadmin
(SvnRev.__init__): Update the logic used to calculate change types
and diff objects to no longer assume that deleted paths have None
for their change.path. (Subversion's 1.7 bindings always populate
change.path.)
Also:
* CHANGES
Note this change.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/branches/1.1.x@2672 8cb11bc2-c004-0410-86c3-e597b4017df7
Finish issue #495 ("Syntax highlight/colorize scripts without
extensions").
* lib/viewvc.py
(markup_stream_pygments): Failing all else, use the Pygments
guess_lexer() function to guess a file's content type from the
first line of its text. (Most of this patch is compensation for
the first that if this heuristic codepath is traversed, we've eaten
a line of text from the file object that we don't expect to have
been eaten.
Patch by: Chris Mayo <cjmayo{__AT__}tigris.org>
(Tweaked by me.)
Also:
* CHANGES:
Note this change.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/branches/1.1.x@2658 8cb11bc2-c004-0410-86c3-e597b4017df7
Finish issue #470 ("No links to repository root logs").
* lib/viewvc.py
(view_roots): Generate a log_href -- the revision log for the root
directory of the repository -- where it makes sense to do so.
* templates/roots.ezt
Markup the last-modified-revision as a link to the log view where
we can.
* docs/template-authoring-guide.html
Note the additional data dictionary item.
Also:
* CHANGES
Note this change.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/branches/1.1.x@2654 8cb11bc2-c004-0410-86c3-e597b4017df7
Loop until receiving a definitive answer to the interactive overwrite
query, rather than croaking on an empty response.
* viewvc-install
(install_file): If raw_input() return an empty string, re-ask the
question.
Patch by: Alexey Neyman <stilor@att.net>
git-svn-id: http://viewvc.tigris.org/svn/viewvc/branches/1.1.x@2600 8cb11bc2-c004-0410-86c3-e597b4017df7
Fix issue #494 ("allow override config from in mod_python"). This
commit allows environmental overrides to trump programmatically
passed-in configuration paths.
* INSTALL
Mention the VIEWVC_CONF_PATHNAME override environment variable.
* lib/viewvc.py
(load_config): Document this function and the order in which it
searches for a configuration path. Use server.getenv() instead of
os.environ.get() where we can so that environmental overrides work
in mod_python.
Patch by: Alon Bar-Lev <alon.barlev@gmail.com>
(Tweaked by me.)
Also:
* CHANGES
Note this change.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/branches/1.1.x@2598 8cb11bc2-c004-0410-86c3-e597b4017df7
* conf/viewvc.conf.dist
Note the importance of the MIME type maps for syntax coloration, and
point folks to the 'mime_types_files' option.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/branches/1.1.x@2594 8cb11bc2-c004-0410-86c3-e597b4017df7
(More) gracefully handle some errorful input conditions.
* lib/vclib/svn/svn_ra.py
(RemoteSubversionRepository._getrev): Re-raise all exceptions as
InvalidRevision exceptions.
* lib/vclib/svn/svn_repos.py
(LocalSubversionRepository._getrev): Re-raise all exceptions as
InvalidRevision exceptions.
Found by: Daniel Shahaf <d.s@daniel.shahaf.name>
git-svn-id: http://viewvc.tigris.org/svn/viewvc/branches/1.1.x@2587 8cb11bc2-c004-0410-86c3-e597b4017df7
Fix issue #486 ("OperationError raised when trying to do a glob search").
Add code to workaround the fact that in Python 2.6,
fnmatch.translate() stopped returning strings that ended with '$'
(which work fine as MySQL regular expressions) and started instead
returning strings that ended with '\Z(?ms)' (which... don't).
* lib/cvsdb.py
(CheckinDatabase.SQLQueryListString): If the returned regexp ends
with '\Z(?ms)', replace those characters with a single '$'
Also:
* CHANGES
Note this change.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/branches/1.1.x@2581 8cb11bc2-c004-0410-86c3-e597b4017df7
Fix issue #485 ("Patch view hiding path details").
* lib/viewvc.py
(diff_parse_headers): Add 'path1' and 'path2' parameters, and use
those paths in the returned header lines.
(view_patch, view_diff): Pass paths into diff_parse_headers() now.
Also:
* CHANGES
Record this change.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/branches/1.1.x@2578 8cb11bc2-c004-0410-86c3-e597b4017df7