(make_html): Not that I think anybody actually cares, but fix this
function to generate HTML properly.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1617 8cb11bc2-c004-0410-86c3-e597b4017df7
more or less by Russell Yanofsky.
* lib/blame.py
(link_includes): Calculate include paths in such a way that '.' is
dropped and '..' is normalized. This should prevent us from
sending paths through Subversion's APIs that aren't legal (and
cause assertions to fire).
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1414 8cb11bc2-c004-0410-86c3-e597b4017df7
path parameters so it is possible to use a single Repository object
to request information about any path at any revision.
Note: I wasn't able to test the svn_ra.get_location function because
I only have subversion 1.2.3.
* lib/vclib/__init__.py
(Repository.itemtype, Repository.openfile, Repository.listdir,
Repository.dirlogs, Repository.itemlog, Repository.annotate):
add rev arguments, update docstrings
* lib/vclib/bincvs/__init__.py
(CVSRepository.itemtype, CVSRepository.listdir, BinCVSRepository.openfile,
BinCVSRepository.dirlogs, BinCVSRepository.itemlog):
same
* lib/vclib/ccvs/__init__.py
(CCVSRepository.dirlogs, CCVSRepository.itemlog):
same
* lib/vclib/svn/__init__.py
(SubversionRepository.__init__):
remove rev argument
(get_location, created_rev, _get_history, get_revision_info, _fetch_log,
_get_last_history_rev, get_logs, do_diff,
SubversionRepository.itemtype, SubversionRepository.openfile,
SubversionRepository.listdir, SubversionRepository.dirlogs,
SubversionRepository.itemlog, SubversionRepository.annotate):
add rev arguments, use new _getrev and _getroot functions to handle
all revision string parsing and revision_root creation
(SubversionRepository._getrev, SubversionRepository._getroot):
new functions
* lib/vclib/svn_ra/__init__.py
(_rev2optrev):
accept integers instead of strings, and eliminate head/unspecified
revision handling which is already taken care of by _getrev
(SubversionRepository.__init__):
remove rev argument
(get_location, created_rev, get_revision_info, get_logs,
SubversionRepository.itemtype, SubversionRepository.openfile,
SubversionRepository.listdir, SubversionRepository.dirlogs,
SubversionRepository.itemlog, SubversionRepository.annotate,
SubversionRepository.rawdiff, SubversionRepository._get_dirents):
add rev arguments, use new _getrev function to handle all revision
string parsing
(SubversionRepository._getrev):
new function
* lib/blame.py
(link_includes):
update call to repos.itemtype
* tools/cvsdbadmin
(RecurseUpdate):
update call to repos.listdir
* lib/viewcvs.py
(Request.run_viewcvs):
update calls to SubversionRepository constructors and _strip_suffix
(_strip_suffix):
add rev parameter, remove redundant where parameter
(_repos_pathtype, view_markup, search_files, _get_diff_path_parts,
generate_tarball):
update calls to vclib methods
(nav_path, view_directory, view_log, setup_diff, download_tarball,
view_revision):
explicitly read 'rev' query param instead of relying on
SubversionRepository.rev, and update vclib calls
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1144 8cb11bc2-c004-0410-86c3-e597b4017df7
Strict. Changes have been made in the EZT templates, the CSS files,
HTML code embedded in the Python files as well as in the help
files. The original code structure and design is the very same. No
other improvements have been made to the browser code and it still
uses the old layout tables to create the page grid.
Apart from the XHTML/CSS code changes, the patch adds an argument (-x
x) for CVSGraph in viewcvs.py in the view_cvsgraph function to tell
CVSGraph to generate XHTML code. For Mozilla/Firefox to recognize the
id attribute in the image map generated, the content-type must be set
to application/xhtml+xml (see
https://bugzilla.mozilla.org/show_bug.cgi?id=109445). This patch does
however not change the content-type, but uses an ugly hack to make the
CVSGraph output work in Mozilla with the current text/html
content-type: a name attribute is merged into the id attribute in the
map_name defined in the cvsgraph.conf.dist file.
The XHTML code does not contain the standard XML declaration, just the
XHTML 1.0 Strict Doctype. This is to keep ViewCVS as encoding agnostic
as before and let the browser decide which encoding to use. An XML
file without the encoding declared must be interpreted as UTF-8 (or
UTF-16 if the byte order mark is included).
* viewcvs/cvsgraph.conf.dist
Add name="" hack to the 'map_name' variable so Mozilla/Firefox will work.
* viewcvs/lib/ezt.py
XHTML-ize sample output.
* viewcvs/lib/viewcvs.py
XHTML-ize hard-coded output.
(view_cvsgraph): Pass "-x x" to cvsgraph to force XHTML production.
* viewcvs/lib/blame.py
* viewcvs/lib/debug.py
* viewcvs/lib/py2html.py
* viewcvs/lib/query.py
* viewcvs/lib/vclib/bincvs/__init__.py
* viewcvs/templates/annotate.ezt
* viewcvs/templates/diff.ezt
* viewcvs/templates/dir_alternate.ezt
* viewcvs/templates/directory.ezt
* viewcvs/templates/error.ezt
* viewcvs/templates/graph.ezt
* viewcvs/templates/log.ezt
* viewcvs/templates/log_table.ezt
* viewcvs/templates/markup.ezt
* viewcvs/templates/query.ezt
* viewcvs/templates/query_form.ezt
* viewcvs/templates/query_results.ezt
* viewcvs/templates/revision.ezt
* viewcvs/templates/roots.ezt
* viewcvs/templates/docroot/help_dirview.html
* viewcvs/templates/docroot/help_log.html
* viewcvs/templates/docroot/help_logtable.html
* viewcvs/templates/docroot/help_query.html
* viewcvs/templates/docroot/help_rootview.html
* viewcvs/templates/docroot/styles.css
* viewcvs/templates/include/branch.ezt
* viewcvs/templates/include/branch_form.ezt
* viewcvs/templates/include/diff_form.ezt
* viewcvs/templates/include/dir_footer.ezt
* viewcvs/templates/include/dir_header.ezt
* viewcvs/templates/include/file_header.ezt
* viewcvs/templates/include/footer.ezt
* viewcvs/templates/include/header.ezt
* viewcvs/templates/include/paging.ezt
* viewcvs/templates/include/sort.ezt
* viewcvs/templates/include/view_tag.ezt
XHTML-ize hard-coded output and templatized data.
* viewcvs/CHANGES
Note this change.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1109 8cb11bc2-c004-0410-86c3-e597b4017df7
(link_includes): Use the more generic itemtype() interface instead of
the rcsfile() one.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1099 8cb11bc2-c004-0410-86c3-e597b4017df7
into the vclib providers.
* viewcvs/lib/vclib/__init__.py
(Repository.annotate): New interface.
* viewcvs/lib/vclib/ccvs/blame.py
New file, with contents cored from viewcvs/lib/blame.py, and
reworked a little bit to avoid data tainting, and to be independent
of the vclib implementation.
* viewcvs/lib/vclib/ccvs/__init__.py
(CCVSRepository.annotate): Implement Repository.annotate() by returning
a blame.BlameSource object.
* viewcvs/lib/vclib/bincvs/__init__.py
(BinCVSRepository.annotate) Implement by returning a
vclib.ccvs.blame.BlameSource object.
* viewcvs/lib/vclib/svn/__init__.py
* viewcvs/lib/vclib/svn_ra/__init__.py
(SubversionRepository.annotate): New. Return NotImplementedError.
* viewcvs/lib/viewcvs.py
(view_annotate): Use new blame.blame() function.
* viewcvs/lib/blame.py
Gut this sucker, moving most of the heavy lifting into the ccvs module.
(HTMLBlameSource): New wrapper for BlameSource objects to handle
HTML-izing and such.
(blame): New function, thin wrapper around
(make_html): Remove unused 'sticky' param. Tweak to use new
abstracted interface, but at the cost of diff_url support. I'll
probably come back to this (by adding a --diff-url option), but
does anyone really care?
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1098 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/blame.py
(CVSParser.is_branch): Tighten up regular expression with '^'/'$'.
Revisions like "11.0.2.2.0.1" were matching not with groups
"11.0.2.2" and "1", but with "11" and "2.2.0.1".
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1049 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/blame.py
(BlameSource.__init__):
set "revision" member to revision being annotated
* lib/viewcvs.py
(view_annotate):
use "revision" member
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1021 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/viewcvs.py: add an optional escape parameter to the get_url()
method, that will entity escape the URL.
Pass escape=1 to each call to get_url() that is used to construct a
URL for display in a template.
* lib/blame.py: fix up a small entity escaping problem here too.
* templates/revision.ezt: fix up a few HTML validity errors in this
template that were a lot more obvious after clearing up the other
errors.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@918 8cb11bc2-c004-0410-86c3-e597b4017df7
* viewcvs/lib/viewcvs.py
(view_annotate): Now use blame.BlameSource() class for doing annotations.
* viewcvs/lib/blame.py
(BlameSource, BlameSequencingError): New classes.
(make_html): Re-work to use the use BlameSource code.
* viewcvs/lib/config.py
(Config.set_defaults): No longer set self.templates.footer.
* viewcvs/viewcvs.conf.dist
(templates.footer): Removed.
* viewcvs/templates/annotate.ezt
Re-work this template to make use of the newly exposed blame data,
and the fabulous new EZT assignment commands!
* viewcvs/website/upgrading.html
Document this change.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@833 8cb11bc2-c004-0410-86c3-e597b4017df7
- remove the revision_symbolic_name since it was bogus and unused
- quote the outer table attributes for xhtml compat
- remove the unused usedlog
- change the line number formatting to simplify the width usage
(through the '*' format character) and to make the name= anchor
surround the actual number rather than empty space.
- use '*' for author formatting, too
- remove the '.diff' from the URLs
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@567 8cb11bc2-c004-0410-86c3-e597b4017df7
* Multiple imports of the same module.
* Module imported but never used.
* Variables only used once.
* Corrected deprecated modules.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@462 8cb11bc2-c004-0410-86c3-e597b4017df7
model, sending events/info to the blame script.
(this allows the RCS parser to be used in numerous contexts by simply
switching the Sink that is used)
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@166 8cb11bc2-c004-0410-86c3-e597b4017df7
the "primordial" revision no longer links to the directory. the user can do
that from the navbar at the top of the page (a bit more intuitive).
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@117 8cb11bc2-c004-0410-86c3-e597b4017df7
slight change to use math.log10()
fix problem with finding the end of a @-delimited token. It didn't work
when the terminating @ was at the end of a line.
remove the CGI script stuff, but leave a direct-invocation for testing
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@103 8cb11bc2-c004-0410-86c3-e597b4017df7
despite the size of this diff, there were NO code changes. "cvs diff -b"
to see that the change was whitespace only.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@98 8cb11bc2-c004-0410-86c3-e597b4017df7
this currently operates as a CGI, but we will be integrating it as a part
of viewcvs.cgi; therefore, it is going into lib/ to become a module.
this file is "pure" Curt except for the license in the header (changed per
Curt's email to the viewcvs-dev list), and some comments about it
being maintained as part of the ViewCVS project.
[ change will progress from this snapshot ]
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@86 8cb11bc2-c004-0410-86c3-e597b4017df7