* lib/viewvc.py
(view_diff): Rework the data dictionary: provide 'left' and 'right'
container objects with members for stuff related to the files on
the left and right side of the diff. Also, add the usual
per-file-revision view links to those containers, too.
* templates/diff.ezt
Track the data dictionary changes, and add links to the preferred
file views for each revision.
* docs/template-authoring-guide.html,
* docs/upgrading-howto.html
Note template changes.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1701 8cb11bc2-c004-0410-86c3-e597b4017df7
* viewvc.conf.dist
(mangle_email_addresses): New option.
* lib/config.py
(Config.set_defaults): Set defaults for new 'mangle_email_addresses'
option.
* lib/viewvc.py
In various functions, use 'cfg = request.cfg' to enhance readability.
(htmlify): Add 'cfg' parameter. Callers updated. Honor the new cfg
option 'mangle_email_addresses', showing only "username@..." when
mangling.
(copy_stream, MarkupPipeWrapper.__init__, MarkupShell.__init__): Add
'cfg' parameter. All callers updated.
(MarkupEnscript.__init__, MarkupHighlight.__init__): Squirrel away
the 'cfg' parameter.
* docs/upgrading-howto.html
Note the new mangle_email_addresses option.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1670 8cb11bc2-c004-0410-86c3-e597b4017df7
subsystem go mainstream!
* notes/authz-dev-TODO
* lib/vcauth/*
New, copied from the authz-dev branch.
* viewvc.conf.dist
* lib/viewvc.py
* lib/query.py
* lib/debug.py
Merge changes from the authz-dev branch.
* lib/config.py
Merge changes from the authz-dev branch. Also, make 'forbidden' the
default value for 'authorizer'.
* docs/upgrading-howto.html
Add sections about handling forbidden modules.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1623 8cb11bc2-c004-0410-86c3-e597b4017df7
override groupings and the base configuration section that is being
overridden. Why? Besides revealing a clear heirachy of information
(which seems more intuitive to me, at least), I anticipate it being
helpful for disambiguation later, especially since neither vhosts nor
root names should have forward slashes in them.
* viewvc.conf.dist
(vhosts): Tweak the inline comments in accordance with this new plan.
* lib/config.py
(Config._process_vhost, Config._process_root_options): Expect a
forward slash (/) character where a hyphen (-) was previously
expected.
* docs/upgrading-howto.html
Update upgrade documentation with these changes.
* CHANGES
Note that per-root configuration overrides are now supported.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1609 8cb11bc2-c004-0410-86c3-e597b4017df7
root-ROOTNAME-CONFIGSECTION.
In order to keep the configuration section naming conventions
consistent, change the way virtual host override sections are named
from VHOSTNAME-CONFIGSECTION to vhost-VHOSTNAME-CONFIGSECTION.
* lib/config.py
(Config.load_config): Add optional 'rootname' parameter. Actually
make use of self.conf_path. If there is a rootname provided,
overlay per-root options.
(Config._process_vhost): Now expect vhost section names to begin
with the prefix "vhost-".
(Config._find_canon_vhost): Minimize some logic.
(Config.overlay_root_options, Config._process_root_options): New.
(ViewVCConfigurationError, IllegalOverrideSection): New.
(MalformedRoot): Now inherit from ViewVCConfigurationError.
* lib/viewvc.py
(Request.run_viewvc): Once the rootname is determined, overlay
per-root configuration options.
* viewvc.conf.dist
(vhosts): Update vhosts docs and examples to note the new "vhost-"
section name prefix.
* docs/upgrading-howto.html
Note the change in vhost override section naming expectations.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1607 8cb11bc2-c004-0410-86c3-e597b4017df7
* viewvc.conf.dist
(use_rcsparse): Move this from the 'general' section to the
'options' section.
* lib/config.py
(Config.set_defaults): Track the move of the 'use_rcsparse' section.
* lib/viewvc.py
(Request.run_viewvc): Track the move of the 'use_rcsparse' section.
* docs/upgrading-howto.html
Note the option changes, and re-work the upgrading-from-1.0.0 option
changes section a little bit while I'm here.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1604 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/config.py
(Config.set_defaults): Enable options.root_as_url_component by default.
* viewvc.conf.dist
(default_root): Describe this a little better.
(root_as_url_component): Indicate that enabled is the default state.
* docs/upgrading-howto.html
Add a note about the root_as_url_component option default change.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1563 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
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
object, again with the same warnings applied to [rootpath] in r1425.
* lib/viewvc.py
(common_template_data): Expose the path for each root in the "roots"
data item.
* docs/upgrading-howto.html,
* docs/template-authoring-guide.html
Update the docs.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1426 8cb11bc2-c004-0410-86c3-e597b4017df7
(common_template_data): Expose request.rootpath as "rootpath".
* docs/upgrading-howto.html,
* docs/template-authoring-guide.html
Note this new exposition, though with a warning about its use in an
insecure environment.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1425 8cb11bc2-c004-0410-86c3-e597b4017df7
Bring this, I think, up-to-date with the 1.1.0 work-in-progress.
Also, fix some colors to avoid using green save for "added" variables.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1409 8cb11bc2-c004-0410-86c3-e597b4017df7
creating a new section of the configuration file strictly for defining
the locations of these helper applications.
This closes issue #229 (configurable path to sed) and issue #62
(configurable path to diff), and perhaps others I failed to find.
* viewvc.conf.dist
Add a new "utilities" section for corraling all the various
tool-location configurations, and relocate (with some tweaks) a
bunch of options:
general.rcs_path => utilities.rcs_dir
general.cvsnt_ext_path = utilities.cvsnt
general.svn_path => utilities.svn
options.enscript_path => utilities.enscript
options.highlight_path => utilities.highlight
options.py2html_path => utilities.py2html_dir
options.php_exe => utilities.php
options.cvsgraph_path => utilities.cvsgraph
utilities.diff (new)
utilities.gzip (new)
utilities.sed (new)
options.use_py2html (new)
* lib/config.py
(_sections): Add 'utilities' section.
(Config.set_defaults): Reflect options tweaks made to
viewvc.conf.dist in the code here.
* lib/viewvc.py
(Request.run_viewvc): Track renamed utilities.svn option. Now pass
cfg.utilities into BinCVSRepository(), CCVSRepository(), and
SubversionRepository(). Collapse now-identical
SubversionRepository() calls.
(markup_stream_python): Return immediately if options.use_py2html
isn't set. Track renamed utilities.py2html_dir option.
(view_cvsgraph_image, view_cvsgraph): Track renamed
utilities.cvsgraph option.
(MarkupPHP.__init__): Track renamed utilities.php option, and allow
for 'php' as a fallback value.
(MarkupHighlight.__init__): Track renamed utilities.highlight option.
(MarkupEnscript.__init__): Track renamed utilities.enscript option,
and honor new utilities.sed option.
(download_tarball): Use new utilities.gzip option.
* lib/vclib/__init__.py
(_diff_fp.__init__): Add 'diff_cmd' parameter.
* lib/vclib/svn/__init__.py
(SubversionRepository.__init__): Drop 'svn_path' parameter, and now
accept 'utilities'.
(SubversionRepository.rawdiff): Pass self.diff_cmd to _diff_fp().
* lib/vclib/svn_ra/__init__.py
(SubversionRepository.rawdiff): Pass self.diff_cmd to _diff_fp().
* lib/vclib/ccvs/__init__.py
(CCVSRepository.rawdiff): Pass self.utilities.diff or 'diff' to _diff_fp().
* lib/vclib/bincvs/__init__.py
(CVSRepository.__init__): Add 'utilities' parameter.
(BinCVSRepository.__init__): Lose as no-longer-necessary.
(BinCVSRepository.rcs_popen): Track renamed options, and renamed
member variable that hold those options.
* docs/upgrading-howto.html
Note these options changes.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1407 8cb11bc2-c004-0410-86c3-e597b4017df7
now. Get stuff that's aimed at regular developers off our website,
get the website out of our release tarballs, while letting the docs/
that ViewVC admins need remain in the tarballs.
* docs/
New directory.
* docs/url-reference.html,
* docs/template-authoring-guide.html
Moved these documents, which hardly need to live on our public website, here ...
* viewvc.org/url-reference.html,
* viewvc.org/template-authoring-guide.html
... from here.
* docs/upgrading-howto.html
Move (and renamed, and de-website-ized) this...
* viewvc.org/upgrading.html
... from here.
* notes/
New directory for developer notes.
* notes/releases.txt
New, cored out of the contributing.html file, and greatly updated to
track the reality of our new Subversion-land release process.
* notes/TODO
Move here ...
* TODO
... from here.
* viewvc.org/who.html,
* viewvc.org/license-1.html
Lose references to upgrading.html.
* viewvc.org/contributing.html
Lose references to upgrading.html, and move the release rolling
instructions out to notes/releases.txt.
* tools/make-release
Also delete viewvc.org/ and notes/ from the distribution.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1401 8cb11bc2-c004-0410-86c3-e597b4017df7