* lib/viewcvs.py
(get_file_view_info):
get rid of viewable return value
(nav_header_data):
get rid of "viewable" template variable
(view_directory):
rename "entries.viewable" variable to "entries.prefer_markup"
rename "selection_form" variable to "search_re_form"
rename "search_tag_action" variable to "search_action"
rename "search_tag_hidden_values" variable to "search_re_hidden_values"
(view_log):
rename "entries.html_log" variable to "entries.log"
restore value of "entries.next_main" variable to what it was in ViewCVS
0.9.x
get rid of "entries.viewable" template variable
get rid of "viewable" template variable
get rid of "tag_viewable" template variable
(view_revision):
rename "changes.filename" variable to "changes.path"
rename "changes.base_path" variable to "changes.copy_path"
rename "changes.base_rev" variable to "changes.copy_rev"
(build_commit)
rename "commits.desc" variable to "commits.log"
get rid of "commits.rev_href" variable and replace with
"commits.view_href", "commits.download_href", and
"commits.prefer_markup"
* templates/include/dir_footer.ezt
* templates/include/file_header.ezt
* templates/dir_new.ezt
* templates/directory.ezt
* templates/log.ezt
* templates/log_table.ezt
* templates/query.ezt
* templates/query_results.ezt
* templates/revision.ezt
update templates for changed variables
* CHANGES
fix blurb about paging
* viewvc.org/upgrading.html
update information about 0.9.x variables
* viewvc.org/template-authoring-guide.html
fill it out
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1176 8cb11bc2-c004-0410-86c3-e597b4017df7
started at
http://mailman.lyra.org/pipermail/viewcvs-dev/2005-November/002139.html
The major differences from directory.ezt are:
- there is a new column of icons providing links to most other views
- revision, date, author, and log message columns are merged into a
single "Last Change" column which is more compact and easier to
decipher when reading from left to right. The fact that you can't
do things like sort by log message or read down the author column
shouldn't be a problem because in the most cases, doing these things
doesn't make any sense.
Ideally everybody will fall in love with this template, and we'll be able
to make it the default, release ViewVC 1.0, and put these old UI issues to
rest. Otherwise we can tweak and butcher this template until we agree that
its good enough to be the default, and move on from there.
* templates/dir_new.ezt
new template file
* lib/viewcvs.py
(sort_file_data):
when sorting in reverse, leave directories at the top and files
with no revision information at the bottom. Also make sorting by
revision number the same as sorting by date in cvs.
(view_directory):
add "row.revision_href" links for directory entries
* templates/docroot/images/annotate.png
new icon for annotate view. image is "stock_people.png" from gnome
* templates/docroot/images/download.png
new icon for download view. image is
http://www.gentoo-portage.com/img/download.png
* templates/docroot/images/list.png
new icon for directory listings. image is "stock_view-details.png"
from gnome
* templates/docroot/images/log.png
new icon for log view. image is "stock_list_enum.png" from gnome
* templates/docroot/images/view.png
new icon for markup view. image is "stock_show-all.png" from gnome
* templates/dir_alternate.ezt
removed, nobody seems to like it
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1174 8cb11bc2-c004-0410-86c3-e597b4017df7
Revert a change made in r1150, in which the markup template used the
'viewable' data to avoid displaying binary files. We'll let custom
template writers do that if they wish, but will maintain our prior
behavior.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1168 8cb11bc2-c004-0410-86c3-e597b4017df7
by myself.
NOTE: There are still some pool usage fixes to be made here. Boy am I
looking forward to Subversion 1.3.0's (almost-)pool-free bindings...
* viewcvs/website/template-authoring-guide.html
Restore definition of lastrev template item.
* viewcvs/templates/include/pathrev_form.ezt
Expose the lastrev dictionary item.
* viewcvs/lib/vclib/svn/__init__.py
(last_rev): New.
* viewcvs/lib/vclib/svn_ra/__init__.py
(last_rev): New.
* viewcvs/lib/viewcvs.py
(_last_rev): New wrapper around the svn provider's last_rev() functions.
(pathrev_form, redirect_pathrev, view_log, view_directory): Use _last_rev().
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1159 8cb11bc2-c004-0410-86c3-e597b4017df7
Move the log message into the metadata table (this has been bugging
me for some time), and don't force the table to 100% width.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1157 8cb11bc2-c004-0410-86c3-e597b4017df7
* viewcvs/templates/docroot/help.css
Added (a file from a recent patch by Marten Thavenius <martent@gmail.com>
which I inadvertently failed to version when applying the patch).
* viewcvs/templates/docroot/help_rootview.html
Update names of Fogel's CVS book and my (et al) Subversion book.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1153 8cb11bc2-c004-0410-86c3-e597b4017df7
* CHANGES
add changes since last time we were going to release 1.0
* templates/docroot/help_rootview.html
add better overview of ViewCVS. a little dry but more useful than
"Directory entries end in slashes" and other stuff that shouldn't have
to be pointed out.
also remove outdated information about ViewCVS Project and
replace it with a link to viewcvs.sourceforge.net
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1152 8cb11bc2-c004-0410-86c3-e597b4017df7
file links in the directory listing templates. Also make other
minor cleanups.
* templates/directory.ezt
restore the file links and make the alt attribute for the
parent direcotry icon the same as for the other icons
* templates/dir_alt.ezt
restore the file links and add title attributes to all links
* website/upgrading.html
update documentation for 0.9's rows.rev_href variable
----------------------------------------------------------------------
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1151 8cb11bc2-c004-0410-86c3-e597b4017df7
log views on a per-entry/revision basis. Template authors can choose
to ignore the 'viewable'-ness of an item if they choose. In the
process, this makes the directory view always link to the markup view
for files (instead of sometimes doing markup, sometimes checkout).
Consistent, predictable UI, folks ...
* viewcvs/lib/viewcvs.py
(get_file_view_info): New.
(nav_header_data, view_directory, view_log): Use new get_file_view_info to
populate file navigation links.
* viewcvs/templates/markup.ezt
If a file isn't viewable, show a warning instead of the markup.
* viewcvs/website/upgrading.html
Track changes in the data dictionary.
* viewcvs/website/template-authoring-guide.html
Track changes in the data dictionary, and fill in a few blanks here
and there.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1150 8cb11bc2-c004-0410-86c3-e597b4017df7
showing 404 errors when users try to jump to revisions where the path
being viewed doesn't exist, just redirect to the closest revision where
the path does exist.
Also, italicize the links which change the current 'pathrev' value
to make them stand out from links that stay within the current revision.
* lib/viewcvs.py
(redirect_pathrev):
new view that validates input from the pathrev form and redirects to
the right revision
(pathrev_form):
new function that generates fields for pathrev form
(_last_rev):
new function for tracking subversion revisions
(Request.run_viewcvs, Request.get_link, _legal_params, _views):
add handling for redirect_pathrev view
(Request.get_form):
new function that wraps around get_link
(view_directory, view_log):
make use of new pathform_form and get_form functions
(common_template_data, view_revision, view_queryform):
make use of get_form function
(view_directory, view_log):
make use of pathrev_form
* templates/include/pathrev_form.ezt
only show the "Clear" button when clearing won't cause a 404
* templates/annotate.ezt
* templates/log.ezt
* templates/log_table.ezt
* templates/markup.ezt
italicize revision jumping links
* website/template-authoring-guide.html
update
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1146 8cb11bc2-c004-0410-86c3-e597b4017df7
doesn't have a concept of a "sticky" revision. So if you are looking
at version 10 of a directory, and click to view a file inside which
was last modified in version 6, the fact you were looking at version 10
of the parent directory is not recorded anywhere, and the "Parent Directory"
links on the markup page will take you to a version 6 directory listing
instead of the listing you came from. This problem exists all over
ViewCVS, not just in directory listings, and the result of it is that when
you browse a repository by following the provided links you get sent further
and further back into the history, all the while seeing incomplete log pages
and outdated directory listings which you never asked for.
The new URL scheme works by introducing a new 'pathrev' sticky variable and
is described in detail in a comment in the _orig_path function in
lib/viewcvs.py. The scheme is not backwards compatabile with all (or
maybe even most) old subversion URLs. Specifically, any old URL referring
to a path that no longer exists in the HEAD will not work. Other subversion
URLs will still work.
It is still possible to add backwards compatibility. We'd have to rename
the rev parameter to something else, so we could know that all URLs with
'rev' in them are old style URLs which need to be redirected. I don't know
if it's worth doing this though.
This is not an isolated change. I've tried to unite the Subversion "sticky
revision" with the present "only_with_tag" logic for CVS. And since I had
to go over viewcvs.py with a fine-toothed comb implementing these things,
there are also some miscellaneous cleanups there.
* lib/vclib/bincvs/__init__.py
(_file_log):
change filtering so when matching revisions to tag, includes all
preceding revisions, not just tag revision itself
* lib/viewcvs.py
(_sticky_vars):
'only_with_tag' is gone, so change this back into a list with no
span-roots values
(request.run_viewcvs):
read new 'pathrev' parameter and use it when calling repos.itemtype
(request.get_link):
add 'pathrev' parameter to urls, restore update _sticky_vars loop
(_legal_params, prep_tags, build_commit):
replace 'only_with_tag' with 'pathrev'
(_orig_path):
new function
(nav_path, common_template_data):
stop adding 'rev' parameters to links
removed unused 'roots_href' template variable
(nav_header_data):
add new 'revision_href', 'orig_path', 'orig_href' template variables
for use in markup and annotate views
(view_markup, view_checkout, view_annotate, setup_diff, generate_tarball,
download_tarball):
use 'pathrev' when looking up file revision
(view_directory):
use 'pathrev' when looking up directory revisions instead of 'rev'.
stop adding 'rev' to links.
add template variables: pathrev, pathrev_action, pathrev_hidden_values.
remove unused template variables: num_files, rev, view_tag, has_tags,
main_href, jump_rev_action, jump_rev_hidden_values, row.show_log.
(view_log):
use 'pathrev' to retrieve log information instead of 'rev'.
stop linking to original paths of copied files.
add template variables: entry.orig_path, entry.orig_href, default_branch,
pathrev, pathrev_action, pathrev_hidden_values, branch_tags, plain_tags.
remove template variables: entry.filename, entry.prev_path,
branch, path_selected, view_tag, branch_names, branch_select_action,
branch_select_hidden_values.
(view_cvsgraph):
use common_template_data instead of nav_header_data, 'pathrev' instead
of 'only_with tag'
(view_diff):
use common_template_data instead of nav_header_data
add template variables: path_left, path_right
(view_revision):
use 'pathrev' instead of 'rev' in links
* templates/include/dir_header.ezt
rearrange header and add sticky tag/revision row
* templates/include/dir_footer.ezt
remove tag selector
* templates/include/pathrev_form.ezt
new, sticky tag/revision selector form based on code from
dir_footer.ezt
* templates/include/branch.ezt
* templates/include/branch_form.ezt
* templates/include/view_tag.ezt
removed
* templates/include/log_header.ezt
new, based on branch.ezt and view_tag.ezt
* templates/include/log_footer.ezt
new
* templates/include/log.ezt
* templates/include/log_table.ezt
include log_header.ezt and log_footer.ezt
* templates/include/annotate.ezt
* templates/include/diff.ezt
* templates/include/markup.ezt
show original paths and add view_revision links
* cvsgraph.conf.dist
replace only_with_tag parameter with pathrev
* website/template-authoring-guide.html
update template variable information
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1145 8cb11bc2-c004-0410-86c3-e597b4017df7
* viewcvs/lib/viewcvs.py
(view_directory): Lose the initialization of the unused entries.href
(accidentally overlooked a previous purge). Rename entries.type
to entries.pathtype.
(view_revision): Recycle changes.pathtype (which just happens to
work because the vclib file/dir constants are the same as those
used for our EZT exposure) instead of setting a second
changes.type variable.
* templates/directory.ezt,
* templates/dir_alternate.ezt,
* viewcvs/website/upgrading.html
Track renamed and dropped variables.
* viewcvs/website/template-authoring-guide.html
Fill in more of the directory view stuff, tracking the renamed and
dropped variables.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1140 8cb11bc2-c004-0410-86c3-e597b4017df7
'ago' (the string describing how long ago that timestamp was from
"now").
* viewcvs/lib/viewcvs.py
(view_directory): Expose entries.date variable, and rename
entries.time to entries.ago.
* viewcvs/templates/dir_alternate.ezt,
* viewcvs/templates/directory.ezt
Track renamed entries.time variable.
* viewcvs/website/upgrading.html,
* viewcvs/website/template-authoring-guide.html
Track changes to the data dictionary.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1139 8cb11bc2-c004-0410-86c3-e597b4017df7
* viewcvs/templates/include/header.ezt
Fix a markup warning which occurs when there's no nav_path.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1137 8cb11bc2-c004-0410-86c3-e597b4017df7
templates.
* viewcvs/lib/viewcvs.py
(view_log): Lose 'tr1' and 'tr2' dictionary items.
* viewcvs/templates/log.ezt,
* viewcvs/templates/log_table.ezt
Calculate first and last revisions using EZT magic.
* viewcvs/templates/include/diff_form.ezt
Choose default diff form values based on the 'rev_selected'
dictionary item as well as the EZT-calculated first and last
revisions.
* viewcvs/website/upgrading.html,
* viewcvs/website/template-authoring-guide.html
Track removed variables, and add some missing punctuation.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1135 8cb11bc2-c004-0410-86c3-e597b4017df7
points out more ugliness (which was its secondary goal, after all).
* viewcvs/lib/viewcvs.py
(view_revision, view_markup, view_log): Use 'date' instead of
'date_str' in data dictionary items.
(view_directory): Use 'entries' instead of 'rows' in the data
dictionary. Remove redundant 'has_tags' dictionary init.
* viewcvs/templates/markup.ezt,
* viewcvs/templates/log.ezt,
* viewcvs/templates/revision.ezt,
* viewcvs/templates/log_table.ezt,
* templates/dir_alternate.ezt
* templates/directory.ezt
* viewcvs/website/upgrading.html
Track variable renames.
* viewcvs/website/template-authoring-guide.html
Track variable renames, and begin working on the directory view section.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1134 8cb11bc2-c004-0410-86c3-e597b4017df7
are probably whole volumes written about similar UI decisions and how
unintuitive they are. Instead, abstract that work in a new patch
view.
NOTE: While the new patch view supports the diff_format input
parameter, no template links or forms make use of it. The code will
default to unified diff unless told to use context diff via the CGI
params or runtime config.
* viewcvs/lib/viewcvs.py
(_legal_params): Lose 'makepatch'. It was a good idea with a poor
implementation choice.
(_views): Add new 'patch' view, and tweak the alignment of this
definition a bit.
(get_link): Always copy the params dictionary instead of tainting
the input dictionary.
(view_patch): New. Was the "if makepatch" section of view_diff().
(view_diff): Abstract some setup stuff into setup_diff(), and the
makepatch stuff into view_patch().
* viewcvs/templates/diff.ezt
* viewcvs/templates/include/diff_form.ezt
Lose the 'makepatch' form checkbox.
* viewcvs/templates/include/file_header.ezt
Add a patch view link.
* viewcvs/templates/docroot/images/diff.png
New.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1132 8cb11bc2-c004-0410-86c3-e597b4017df7
* viewcvs/templates/templates/docroot/images/text.png
Fix some transparency-related oddities in these images.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1131 8cb11bc2-c004-0410-86c3-e597b4017df7
* viewcvs/lib/viewcvs.py
(DiffSource._flush_row): Make the 'have_left' and 'have_right'
members of the change object be EZT booleans.
(DiffSource._get_row): Rename 'extra' member to 'line_info_extra'.
(view_diff): Rename some data dictionary variables:
'rev1' => 'rev_left'
'rev2' => 'rev_right'
'tag1' => 'tag_left'
'tag2' => 'tag_right'
'date1' => 'date_left'
'date2' => 'date_right'
* viewcvs/templates/diff.ezt
Track renamed variables.
* viewcvs/website/upgrading.html
Note the slight tweak to the way 'have_left' and 'have_right' work,
not that I expect anyone to have really been testing for "yes".
Also, note the renamed variables.
* viewcvs/website/template-authoring-guide.html
Populate the annotate, graph, and diff sections, tracking the
tweaked variables.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1130 8cb11bc2-c004-0410-86c3-e597b4017df7
two views (directory and revision). In the directory case, it was
renamed to just 'rev'; in the revision case, it was dropped as
redundant with with existing 'rev' variable. Also, don't assume that
"is not a directory" implies "is a file" when looking at the common
'pathtype' variable.
* viewcvs/lib/viewcvs.py
(common_template_data): Allow 'pathtype' to be None instead of
'file' when the pathtype is neither a file nor a directory.
(view_revision): Lose 'jump_rev'.
(view_directory): Rename 'jump_rev' to just 'rev'.
* viewcvs/templates/revision.ezt
Use 'rev' instead of 'jump_rev' throughout.
* viewcvs/templates/include/dir_header.ezt
Stop using 'jump_rev' -- make 'youngest_rev' the default jump-to
location.
* viewcvs/website/upgrading.html,
* viewcvs/website/template-authoring-guide.html
Track the demise of 'jump_rev'.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1128 8cb11bc2-c004-0410-86c3-e597b4017df7
'svn_ra' module with the 'revision' view.
* viewcvs/lib/viewcvs.py
(view_revision): Collapse some similar URL generation calls, but
also trap the AssertionError thrown when using the 'svn_ra' backend
(as it can't determine path types yet).
* viewcvs/lib/vclib/svn_ra/__init__.py
(LastHistoryCollector.add_history): It's a long way from correct,
but at least pass along copyfrom information correctly from this
log handler.
* viewcvs/templates/revision.ezt
Make the file/dir icons part of the filename links, too. But don't
make links where no valid hrefs exist.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1123 8cb11bc2-c004-0410-86c3-e597b4017df7
'added' and 'replaced' items, and to make the fact that something was
or wasn't copied from elsewhere a first-class piece of data.
* viewcvs/lib/vclib/svn/__init__.py
(_compare_paths): Move from the svn_ra module.
(ChangedPath.__init__): Add 'is_copy' param, and stow it away.
(ChangedPathSet): New.
(get_revision_info): Use newer svn.repos.ChangeCollector() interface
so we can hook the notification callback (using the new
ChangedPathSet class) and get replacement information.
* viewcvs/lib/viewcvs.py
(view_revision): Boolean-ify the new is_copy ChangedPath member.
Expose change.log_href links to log views.
(common_template_data): Expose log_href for Subversion directories.
* viewcvs/templates/docroot/styles.css
(td, th, tr): Set vertical-align to 'top'.
* viewcvs/templates/revision.ezt
Re-work this template into a different layout (still not happy it,
but...)
* viewcvs/lib/vclib/svn_ra/__init__.py
Import _compare_paths from the 'svn' module.
(LastHistoryCollector.add_history): Tweak to recognize replaced
items, and to pass the new 'is_copy' param to ChangedPath().
(_compare_paths): Move to the 'svn' module.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1122 8cb11bc2-c004-0410-86c3-e597b4017df7
* viewcvs/lib/viewcvs.py
(view_log): Add new template variables: 'tag_view_href',
'tag_download_href', 'tag_download_text_href', 'tag_annotate_href',
* viewcvs/templates/include/view_tag.ezt
Expose links to the tip of a currently selected branch.
* viewcvs/website/upgrading.html
Document new variables.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1116 8cb11bc2-c004-0410-86c3-e597b4017df7
* templates/dir_alternate.ezt
Lose unnecessary P tags which tend to oversize errorful rows.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1114 8cb11bc2-c004-0410-86c3-e597b4017df7
Lose the alt-text on the row icons, and restore View/download distinction
in title attributes.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1112 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
'row.log_href' and 'row.view_href'.
* viewcvs/lib/viewcvs.py
(view_directory): For files, rename 'row.href' to 'row.log_href',
and 'row.rev_href' to 'row.view_href'. For directories, do the
renames, but swap the mappings.
* viewcvs/templates/dir_alternate.ezt
* viewcvs/templates/directory.ezt
Track the changes to these data dictionary items.
* viewcvs/website/upgrading.html
Note the changed variables. Also, add svn_path as a configuration
parameter recently added.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1108 8cb11bc2-c004-0410-86c3-e597b4017df7
largely by Stefan Haller <haller@ableton.com>, at least in the
approach used.
* viewcvs/viewcvs.conf.dist
(svn_path): New configuration variable.
* viewcvs/lib/config.py
(Config.set_defaults): Populate a new svn_path config member.
* viewcvs/lib/viewcvs.py
(Request.__init__): Tweak the way Subversion's vclib.Repository
objects are opened to have different codepaths for the 'svn' and
'svn_ra' modules, and pass the new cfg.general.svn_path option to
the 'svn' module's SubversionRepository.
* viewcvs/lib/vclib/svn/__init__.py
(BlameSource, BlameSequencingError, _item): New.
(SubversionRepository.__init__): Add 'svn_path' parameter.
Calculate and store a path for the 'svn' command-line client binary.
(SubversionRepository.annotate): Really implement annotation.
* viewcvs/templates/log.ezt,
* viewcvs/templates/log_table.ezt
Enable annotate links for Subversion, too!
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1100 8cb11bc2-c004-0410-86c3-e597b4017df7
* templates/docroot/images/cvsgraph_16x16.png
* templates/docroot/images/cvsgraph_32x32.png
More PNG background fixes from Jordan Russell <jr-list-2005@quo.to>.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1046 8cb11bc2-c004-0410-86c3-e597b4017df7
PNG files to have white backgrounds so that wussie browsers that don't
support PNG transparency (like Internet Explorer) can deal with them.
* templates/docroot/images/back_small.png
* templates/docroot/images/logo.png
* templates/docroot/images/text.png
Tweaked.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1045 8cb11bc2-c004-0410-86c3-e597b4017df7
directory view. This is pretty common request, the most recent by
Sergio Rua <srua@plus.net>.
* viewcvs/lib/vclib/svn_ra/__init__.py
(get_youngest_revision): New.
* viewcvs/lib/vclib/svn/__init__.py
(get_youngest_revision): New.
* viewcvs/lib/viewcvs.py
(view_directory): Re-organize some data dictionary stuffing (I
really wish that *all* data dictionary parameters were initialized
at the head of each view function so we can see a canonical list
of those params, but maybe another day...). Also, for 'svn'
roottypes, populate a new 'youngest_rev' and 'youngest_rev_href'
dictionary items.
* viewcvs/website/upgrading.html
Document the new 'youngest_rev' and 'youngest_rev_href' template keys.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1044 8cb11bc2-c004-0410-86c3-e597b4017df7
This template was on crack. The absence of a revision log was
enough to turn of the display of almost all of the other interesting
data, and turn on the display of data that was in one half redundant,
and in the other half non-existant. Good Lord...
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1043 8cb11bc2-c004-0410-86c3-e597b4017df7
vtable structure), update the ViewCVS 'svn_ra' module to use it. This
module now almost has total functional parity with the 'svn' module.
* viewcvs/lib/vclib/svn_ra/__init__.py
Import the svn.ra module.
(date_from_rev, created_rev): Actually flesh out these functions
using the new RA capabilities.
(LastHistoryCollector.add_history): Remove leading slashes from
paths used to make ChangedPath items.
(either_binary): Leave a TODO, with some optimization ideas.
(SubversionRepository.__init__): Use the RA interface to fetch the
youngest revision instead of a really kludgy (and more expensive)
algorithm based on dirents.
(FileDiff.get_files, SubversionRepository.openfile): Fixup the use
of streams.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1038 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/viewcvs.py
(view_directory):
add new row.viewable attribute so it is possible to tell whether a file
link goes to a checkout or markup page
* templates/directory.ezt:
add title attributes
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1036 8cb11bc2-c004-0410-86c3-e597b4017df7
view because I'm not really sure where they would fit best in the UI.
So for now, the view is only visible when viewcvs.cgi is loaded
with no trailing path in the URL and either root_as_url mode is
enabled or default_root is not set.
* lib/viewcvs.py
(Request.run_viewcvs, Request.get_link, nav_path, common_template_data,
_views):
add support for new view
(view_roots):
new function
* lib/config.py
(Config.set_defaults):
set default templates.roots option
* templates/roots.ezt
new template
* viewcvs.conf.dist
(templates/roots):
new option
(general/default_root, options/root_as_url_component):
update documentation
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1023 8cb11bc2-c004-0410-86c3-e597b4017df7
were present in ViewCVS 0.9.2, but seem to have been inadvertently
removed since then.
* lib/viewcvs.py
(common_template_data):
set "up_href, "log_href," and "graph_href" template variables
for files
(view_markup):
set "annotate_href"
(view_directory):
stop setting "up_href" here
(view_log):
stop setting "graph_href" and "back_url" here
set "annotate_href" here
(view_queryform):
set "dir_href" here
* templates/annotate.ezt
* templates/diff.ezt
* templates/graph.ezt
* templates/log.ezt
* templates/log_table.ezt
* templates/markup.ezt
* templates/query_form.ezt
* templates/include/branch.ezt
add links
* website/upgrading.html
document changed variables
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1003 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/viewcvs.py
(view_markup):
don't set 'nav_file' template variable
* templates/markup.ezt
remove the clickable path right before the revision information
* templates/include/dir_header.ezt
remove clickable path in "Current Directory" row of summary table
* website/upgrading.html
add documentation on 'nav_file' template variable
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@994 8cb11bc2-c004-0410-86c3-e597b4017df7
had one, but it got lost in the sauce.
* templates/markup.ezt
add (log) link right before (download) and (as text) links
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@992 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/viewcvs.py
(view_revision_svn): Convert 'text_mods' and 'prop_mods' members of
each changed path item into EZT booleans.
* templates/revision.ezt
Use if-any tests, instead of comparisons with "1", to determine if
each changed path item has text or property mods.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@984 8cb11bc2-c004-0410-86c3-e597b4017df7
(view_log): Only show download hrefs for files, and make view hrefs
for directories show the directory view.
* viewcvs/templates/include/branch.ezt
Only display the view_href if it exists.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@962 8cb11bc2-c004-0410-86c3-e597b4017df7
(view_log): Always expose the view_href and download_href.
* templates/log.ezt
* templates/log_table.ezt
Lose the "if CVS" condition I added for some includes a while ago.
* templates/include/branch.ezt
Always show bookmarkable links to HEAD/download.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@961 8cb11bc2-c004-0410-86c3-e597b4017df7
dev list that ended at
http://mailman.lyra.org/pipermail/viewcvs-dev/2004-September/001769.html
* templates/docroot/images/ascending.png
* templates/docroot/images/descending.png
* templates/docroot/images/down.png
* templates/docroot/images/up.png
rename ascending and descending images to down and up based on the
direction of the arrows
* templates/directory.ezt
* templates/dir_alternate.ezt
update to use new image names
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@945 8cb11bc2-c004-0410-86c3-e597b4017df7
release. There's still a lot of room for improvement, but there
should be no gaping holes or inaccuracies.
* INSTALL
update old paths
remove mention of svn_parent_path
remove advice about trailing slashes in the Troubleshooting
section. They're nice, but optional now that we don't use
relative links.
* README
add pointer to windows/README
* templates/docroot/help_logtable.html
document the missing columns
* website/upgrading.html
document the configuration options
add a word of advice about upgrading with custom templates
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@935 8cb11bc2-c004-0410-86c3-e597b4017df7
* templates/docroot/styles.css
(.vc_navheader):
switch to gray background because blue links on purple background
are hard to read
* header.ezt
(nav_path):
make it bold
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@930 8cb11bc2-c004-0410-86c3-e597b4017df7
we can get rid of the alternative icons we provided for the standalone web
server and IIS. We can also get rid of the "icons" configuration option.
* lib/apache_icons.py
* tools/bin2inline_py.py
removed, icons for the standalone server
* windows/icons/apache_pb.gif
* windows/icons/small/back.gif
* windows/icons/small/dir.gif
* windows/icons/small/text.gif
removed, icons for IIS
* templates/include/footer.ezt
point "Powered by Apache" image at /icons/apache_pb.gif instead of
[icons]/apache_pb.gif
* standalone.py
(apache_icons, icons_last_modified):
removed
(ViewCVS_Handler.do_GET):
remove handling of /icons/ paths
(serve):
stop setting options.icons config value
* viewcvs.conf.dist
(icons):
removed
* lib/config.py
(Config.set_defaults):
stop setting default options.icons config value
* lib/viewcvs.py
(common_template_data):
don't set "icons" template variable
* windows/README
(ICONS FOR IIS):
removed
(DOCROOT OPTIMIZATION):
new section about the docroot parameter
* website/upgrading.html
remove documentation for "icons" template variable, update
documentation for "docroot"
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@923 8cb11bc2-c004-0410-86c3-e597b4017df7
templates/docroot/
* templates/docroot/help_*.html, templates/docroot/styles.css: copied
from website/
* templates/docroot/images/*: copied from website/images/ or from Apache.
fix up the transparency on some of the PNGs (just 1-bit transparency
though, so they work with IE).
* lib/viewcvs.py (view_doc): update to the new location for documentation.
We can use the same location in the "installed" and "uninstalled" modes.
* viewcvs.conf.dist: update the comment about the docroot config value.
* templates/*.ezt: update for new icon locations.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@921 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
misnesting of <form> and <table> tags.
* templates/include/diff_form.ezt: get rid of a similar problem in the
diff form.
Also simplify the form a bit for the case when there are no tags (ie.
subversion).
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@916 8cb11bc2-c004-0410-86c3-e597b4017df7
Make the annotate data "smaller", and increase the padding between
columns.
* viewcvs/templates/annotate.ezt
Remove superfluous spaces in table cells. Mozilla is rendering
wrongly, presumably because the cells are using "nowrap" or "pre"
whitespace handling.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@912 8cb11bc2-c004-0410-86c3-e597b4017df7
(and honest).
* lib/viewcvs.py
(view_directory): Always calculate the num_dead variable with
truth. Just because we aren't showing dead files doesn't mean they
don't exist.
* templates/include/dir_header.ezt
Provide a single place for reporting the number of, and toggling the
display of, dead files.
* templates/directory.ezt
* templates/dir_alternate.ezt
Stop handling dead file display toggling on what appears (and yet
isn't) a per-item basis. Also, use Apache's broken.gif as the icon
for dead files.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@911 8cb11bc2-c004-0410-86c3-e597b4017df7
* templates/dir_alternate.ezt
fix handling of attic directories as in templates/directory.ezt, rev 1.47
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@910 8cb11bc2-c004-0410-86c3-e597b4017df7
instead of exposing them to users.
* templates/include/dir_footer.ezt
add link to show dead files
* templates/directory.ezt
remove code for detecting Attic entries,
change (in the attic) caption to (dead)
* lib/viewcvs.py
(Request.run_viewcvs):
handle old Attic URL's by redirecting,
remove unused request.full_name member
(get_up_path, _re_up_attic_path, nav_header_data, generate_tarball,
download_tarball):
remove code for handling Attic directories
(view_markup):
remove unused "full_name" variable
(view_directory):
remove code for handling Attic directories,
replace "no_match" template variable with "num_dead"
(view_log):
update call to get_up_path
(view_annotate, view_cvsgraph_image, view_cvsgraph, view_diff):
use CVSRepository.rcsfile to get path to rcs file
* lib/vclib/bincvs/__init__.py
(CVSRepository.itemtype):
look in Attic for repository files
(CVSRepository.listdir):
remove "cvs_list_attic" option, now always list attic files.
leave "Attic" and "CVS" directories out of returned listing.
(CVSRepository.rcsfile, CVSRepository._atticpath):
new methods
(BinCVSRepository.openfile, BinCVSRepository.filelog):
use CVSRepository.rcsfile to get path to rcs file
(_get_logs):
don't mark directories as dead
* lib/vclib/ccvs/__init__.py
(CCVSRepository.filelog, CCVSRepository.openfile):
use CVSRepository.rcsfile to get path to rcs file
* website/upgrading.html
document "no_match" and "num_dead" template variables
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@908 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/vclib/bincvs/__init__.py
(BinCVSRepository.openfile, BinCVSRepository.filelog, fetch_log):
update calls to _parse_log_header
(_re_log_error, _re_cvsnt_error, _re_lineno):
update regular expressions for parsing rlog error messages
(_parse_log_header):
do a better job of parsing rlog error messages and return messages
to callers
(_get_logs):
set new DirEntry.log_errors property and deal with multiple rlog error
messages about the same file and cases where error messages precede
file information
(_log_path):
return error info
* lib/vclib/ccvs/__init__.py
(CCVSRepository.dirlogs):
set new DirEntry.log_errors property
* lib/vclib/svn/__init__.py
(get_logs):
set new DirEntry.log_errors property
* lib/vclib/svn_ra/__init__.py
(get_logs):
set new DirEntry.log_errors property
* lib/vclib/__init__.py
(Repository.dirlogs):
document new DirEntry.log_errors property
* lib/viewcvs.py
(view_directory):
set new template variables
* website/upgrading.html
document new template variables
* templates/include/dir_footer.ezt
get rid of confusing "One or more files were unreadable" message.
We display more specific error messages in the directory list.
add links to set selection criteria at the bottom of "There are
[num_files] files, but none match the current selection criteria"
message
* templates/directory.ezt
* templates/dir_alternate.ezt
simplify the way error messages are displayed
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@907 8cb11bc2-c004-0410-86c3-e597b4017df7
in a <label> element, so that users can click on the text to toggle
the value.
Quote a few unquoted attribute values.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@901 8cb11bc2-c004-0410-86c3-e597b4017df7
change that moved generation of human readable diff URLs from the
templates to the Python code.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@899 8cb11bc2-c004-0410-86c3-e597b4017df7
the log pages.
* templates/include/diff_form.ezt: if no tags exist for the file, don't
show the drop down tag selection box. This gets rid of some unneeded
UI when browsing Subversion repositories.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@897 8cb11bc2-c004-0410-86c3-e597b4017df7
view. For Subversion repositories, these URLs are usually shorter
(only include p1/p2 when paths differ) and handle a few corner
cases w.r.t. moves that the old code didn't.
* log.ezt, log_table.ezt: use the diff URLs passed in from viewcvs.py
rather than constructing them in the template.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@896 8cb11bc2-c004-0410-86c3-e597b4017df7
loading. Wrap the column headers in a <thead> tag, and the rest of
the elements in a <tbody> tag.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@894 8cb11bc2-c004-0410-86c3-e597b4017df7
get mixed up with the directory view sort (similar to how the log view
uses logsort as a parameter name).
Don't display the branch column in results for a subversion repo query.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@889 8cb11bc2-c004-0410-86c3-e597b4017df7
repositories (sets rev to the same value as r2).
Update run_viewcvs() so that if no view is selected, handle requests
that specify r1,r2,rev as diffs rather than checkouts, and requests
that specify r1,rev as logs.
Update log.ezt and log_table.ezt to set the rev parameter in the diff
links when browsing subversion repositories.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@888 8cb11bc2-c004-0410-86c3-e597b4017df7
reverses the sort order, while clicking on other headers sorts by
that column in ascending order. This matches how most GUIs handle
sorting in columned lists.
Also port the sort handling from dir_alternate.ezt to directory.ezt
to reduce differences between the two templates.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@886 8cb11bc2-c004-0410-86c3-e597b4017df7
pathname and revision links for directories).
Previously dir_alternate.ezt was broken for CVS repositories, resulting
in a traceback since it was trying to show the log href which doesn't
exist.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@885 8cb11bc2-c004-0410-86c3-e597b4017df7
ends the comment. Mentioned in a Debian bug report:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=245550
Add a <meta name="generator"> tag to the top listing the version of
viewcvs used to generate the page. This is less likely to be removed
from custom templates, and should be helpful when tracking bugs.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@884 8cb11bc2-c004-0410-86c3-e597b4017df7
Add CSS for vc_log to set it italic (as it was already shown in most places),
and set some proprietary properties to turn on word wrapping for Mozilla,
Opera and IE, and the equivalent standard CSS3 property (for when browsers
support it).
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@882 8cb11bc2-c004-0410-86c3-e597b4017df7
Loosen some of the parameter validation to _validate_regex for
branch, file and who query parameters.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@880 8cb11bc2-c004-0410-86c3-e597b4017df7
closer to the Bonsai query interface, and provides better integration
with the rest of viewcvs.
Fixed two bugs in cvsdb.py:
- when loading up query results, set the checkin type on the Commit object
- When sorting on file name or author, order by the name rather than ID.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@877 8cb11bc2-c004-0410-86c3-e597b4017df7
information into the query database.
2) Update query.cgi to set [docroot] correctly. This allows it to find
the stylesheet, and corrects the help link in the footer.
3) Results could point at subversion repositories, so check if the
repository is in svn_roots too.
4) Only display repository names rather than paths in the results.
This matches what viewcvs.cgi shows the user.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@875 8cb11bc2-c004-0410-86c3-e597b4017df7
(list_roots): Make the roots hash values into tuples, adding the roottype.
(common_template_data): Make the 'roots' list items into hashes that
carry the root names and types.
* viewcvs/templates/include/header.ezt
Split the list of repositories up into CVS ones and Subversion ones
using optgroups. Note the super-cool single pass over the roots,
appending options to variables created on-the-fly. Have I mentioned
how much I love James Henstridge today?
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@871 8cb11bc2-c004-0410-86c3-e597b4017df7
* viewcvs/templates/log_table.ezt
Set the HTML class attribute to vc_header_sort for the header of the
sort column. Change the tags around the log message from
<i><pre>...</pre></i> to <pre><i>...</i></pre>. Since <pre> is a
block level element and <i> is an inline element, the old nesting
results in an extra block after the message in the table cell.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@866 8cb11bc2-c004-0410-86c3-e597b4017df7
diffs to their own text/plain output, templatize all diffs. By
default now, all diffs will go through diff.ezt (which has been
updated to handle it). Only if the new 'makepatch' boolean CGI flag
is set will diffs be sent directly as text/plain, non-templatized
output.
* viewcvs/lib/viewcvs.py
(_legal_params): Add new 'makepatch' boolean parameter.
(check_freshness): Fix a speeling eror.
(MarkupPipeWrapper.__init__): Add 'htmlize' parameter, and use it.
(human_readable_diff): Lose the 'request', 'sym1', and 'sym2'
parameters. Now return the parsed dates and DiffSource object
instead of populating a data dictionary and completely generating
the page.
(spaced_html_text): Use an intermediate variable for readability.
(raw_diff): New.
(view_diff): Honor the new 'makepatch'. Update calls to
human_readable_diff(), and make use of raw_diff(). Do all page
generation for diffs here now. Adds a new 'raw_diff' data
dictionary item, useful for testing raw vs. colored, as well as
for positioning that raw diff output in the template.
* templates/diff.ezt
Use the new 'raw_diff' data dictionary item to position raw diff
output in the template. Update the diff form to allow for the
generation of traditional "patch-ish" raw diff output.
* templates/include/diff_form.ezt
Allow for the generation of traditional "patch-ish" raw diff output.
* website/styles.css
(vc_raw_diff): New style class.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@864 8cb11bc2-c004-0410-86c3-e597b4017df7
Use <optgroup> tags to group branches and tags. Patch by James
Henstridge <james@daa.com.au>.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@848 8cb11bc2-c004-0410-86c3-e597b4017df7
(common_template_data): Expose request.pathtype as a generally
available template variable. (Have I mentioned today how much I
dislike per-template data dictionary items?)
* viewcvs/templates/log_table.ezt
* viewcvs/templates/log.ezt
Use the pathtype variable to determine whether or not to show
file-only stuff like diff and download options.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@847 8cb11bc2-c004-0410-86c3-e597b4017df7
setup to test it at all. :-(
* viewcvs/lib/query.py
(main): Populate the 'docroot' data dictionary item.
* viewcvs/templates/query.ezt
Stop trying (and failing) to use the common header include ... I
don't have the energy to make this thing work with that right now.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@838 8cb11bc2-c004-0410-86c3-e597b4017df7
Re-add the "previous" and "next" buttons on the revision view.
Patch (mostly) by Guy Maor <guy@extreme-da.com>.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@837 8cb11bc2-c004-0410-86c3-e597b4017df7
* viewcvs/templates/diff.ezt
Setup template defines before include header.ezt.
* viewcvs/lib/viewcvs.py
(view_revision_svn): Add 'rev' to the diff_href.
* viewcvs/templates/dir_alternate.ezt
Fix the filename links to go to the log view again (apparently I
accidentally clobbered these recently, though I must say, the
navigation seems entirely unintuitive to me this way...).
* viewcvs/templates/revision.ezt
Tweak the display of the log message a little big.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@836 8cb11bc2-c004-0410-86c3-e597b4017df7
by Dirk Lemstra <dirk.lemstra@atosorigin.com>. Also, add some stuff
to the generally-available-to-all-templates dataset. And finally,
re-work all the templates for consistent look and feel.
I can die now.
* viewcvs/lib/viewcvs.py
(common_template_data): Expose the 'where', 'roottype', and
'rootname' Request members, and the 'nav_path', to all views.
Also, do the root selection stuffs ('roots', 'change_root_action',
'change_root_hidden_values').
(nav_header_data): No longer explicitly add 'nav_path' to the data
dictionary.
(_dir_url): For Subversion, supply the revision number to the
generated links.
(view_directory): Include the revision when generating log view
URLs. Also, expose a 'tree_rev_href' data item for linking to the
revision view. No longer explicitly add 'roottype', 'where', and
'current_root' to the data dictionary. No longer do the root
selection stuff here, either.
(view_log): No longer explicitly add 'roottype', 'where', and
'current_root' to the data dictionary.
(human_readable_diff): No longer explicitly add 'where' to the data
dictionary.
(view_markup, view_revision): No longer explicitly add 'roottype' to
the data dictionary.
* viewcvs/website/upgrading.html
Document the changes.
* viewcvs/website/help_rootview.html
Add a missing "<br>".
* viewcvs/templates/annotate.ezt
* viewcvs/templates/graph.ezt
* viewcvs/templates/log.ezt
* viewcvs/templates/log_table.ezt
* viewcvs/templates/markup.ezt
* viewcvs/templates/query.ezt
* viewcvs/templates/revision.ezt
* viewcvs/templates/include/dir_header.ezt
* viewcvs/templates/include/footer.ezt
* viewcvs/templates/include/header.ezt
Beat the heck outta these templates until they all reference
header.ezt and footer.ezt (except for error.ezt), and they all
present a basically consistent interface across all views.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@835 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
* viewcvs/lib/viewcvs.py
(html_footer): Remove.
(view_annotate): Generate the footer data -- the only remaining
place where template usage is impure...
(retry_read): New.
(copy_stream): Rename 'fp' to 'src', and add an optional 'dst'
parameter. Move reading code into retry_read().
(markup_stream_default, markup_stream_enscript): Remove.
(markup_stream_python): Return a MarkupBuffer instance.
(markup_stream_python): Return a MarkupPHP instance.
(MarkupBuffer, MarkupPipeWrapper, MarkupEnscript, MarkupPHP): New
classes for implementing file-like markup objects.
(view_markup): Use new Markup classes.
(generate_tarball): Don't trap an unused status code.
* viewcvs/templates/markup.ezt
Reference the new [markup] dictionary object, and include the footer.ezt.
* viewcvs/templates/include/header.ezt
White background, please.
* viewcvs/website/upgrading.html
Note the new [markup] variable.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@830 8cb11bc2-c004-0410-86c3-e597b4017df7
revision, authors), cleanup some unnecessary data dictionary cruft,
and rework the default directory templates a bit.
* viewcvs/lib/viewcvs.py
(view_directory): Do the Right Thing for Subversion directory log
messages. Merge the 'cvs' and 'state' data fields for CVS.
Populate rev_href for Subversion directories.
* viewcvs/templates/directory.ezt
* viewcvs/templates/dir_alternate.ezt
Track data dictionary changes, and tweak the templates to always
show name, rev, author, date -- now only log is conditional on
show_logs (go figure). Also, core the common header and footer
parts of these files into...
* viewcvs/templates/dir_header.ezt
* viewcvs/templates/dir_footer.ezt
...these new include files.
* viewcvs/website/upgrading.html
Update with notations about these changes.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@823 8cb11bc2-c004-0410-86c3-e597b4017df7
Patch mostly by Eike Bernhardt <eike-usenet@unorganized.net>.
* viewcvs/lib/viewcvs.py
(Request.get_link): Don't lose the rev= parameter when building
log-view URLs.
(view_log): Include the copyfrom revision in the copyfrom URL.
* viewcvs/templates/log_table.ezt
* viewcvs/templates/log.ezt
Don't tack on a revision bookmark to the copyfrom URL. It's not
likely to exist, and is now unnecessary anyway.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@807 8cb11bc2-c004-0410-86c3-e597b4017df7
I didn't like a number of things about previous interface, like how it:
- inconsistently made some links pop up and others open in the same window
- used inconsistent terminology, "view" links lead to markup pages in some
cases and direct downloads in others
- omitted useful links, there were no direct download links for images and
no markup or "as text" links for "nonviewable" files (like text files
that ending in .doc)
- inserted extraneous punctuation, in lines like
"Revision 1.1 - , (view/download)"
There's some more information about this change posted on the dev list:
http://mailman.lyra.org/pipermail/viewcvs-dev/2004-January/001337.html
* lib/viewcvs.py:
(view_markup, view_log):
set new template variables that have the same names and functions on
all pages: "view_href", "download_href", and "download_text_href"
* templates/log.ezt
* templates/log_table.ezt
* templates/include/branch.ezt
* templates/markup.ezt
use new template variables and get rid of pop-up links
* templates/dir_alternate.ezt
* templates/directory.ezt
get rid of pop-up links
* website/upgrading.html
describe changed variables
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@788 8cb11bc2-c004-0410-86c3-e597b4017df7
(view_revision_svn): Calculate links to the previous and next
revisions, as well as a jump-box for whatever revision you so
desire.
* viewcvs/templates/revision.ezt
Add UI for navigating to previous and next revisions, for jumping to
any particular revision you like.
* viewcvs/lib/vclib/svn/__init__.py
(date_from_rev, fetch_log): Stop recalculating the youngest rev.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@752 8cb11bc2-c004-0410-86c3-e597b4017df7
(view_revision_svn): Oops. Fix the prev and diff_href calculations.
* viewcvs/templates/revision.ezt
Fix some logic to always populate the right number of cells.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@741 8cb11bc2-c004-0410-86c3-e597b4017df7
* viewcvs/lib/vclib/svn/__init__.py
(LogEntry.__init__): Remove 'other_paths' parameter and support.
(ChangedPathEntry): Remove.
(ChangedPath, get_revision_info): New.
(log_helper): Don't do changed-path or action stuffs. Update call
to LogEntry().
(get_logs): Update call to LogEntry().
* viewcvs/lib/viewcvs.py
(view_log_svn): Remove support for 'other_paths' support.
(view_revision): Move svn-specific stuff to new view_revision_svn()
(view_revision_svn): New.
* viewcvs/templates/revision.ezt
Make this template actually do something useful.
* viewcvs/templates/log.ezt
* viewcvs/templates/log_table.ezt
Remove display of "other_paths" from Subversion logs. Make revision
numbers into links to the revision view.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@740 8cb11bc2-c004-0410-86c3-e597b4017df7
* viewcvs/lib/viewcvs.py
(Request.get_link): Add code to generate the new revision info links.
(view_revision): New.
(_views): Alphabetically sort the views here, and add the new 'rev' view.
* viewcvs/viewcvs.conf.dist
(templates.revision): New.
* viewcvs/templates/revision.ezt
New.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@737 8cb11bc2-c004-0410-86c3-e597b4017df7
pointed out that will ultimately allow us to get rid of an inefficient
call to svn_fs_paths_changed().
* lib/vclib/svn/__init__.py
(LogEntry.__init__, log_helper, get_logs):
no longer set LogEntry.action member
* templates/log.ezt
* templates/log_table.ezt
stop trying to read LogEntry.action member
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@729 8cb11bc2-c004-0410-86c3-e597b4017df7
* viewcvs/lib/vclib/svn/__init__.py
(ChangedPathEntry.__init__): Add 'action' parameter.
(_unparse_action): New helper (with code previously in log_helper()).
(log_helper): Now call _unparse_action() to get the action string
for the path. But now also call it for the other paths, passing
the result to the updated ChangedPathEntry.__init__() function.
* viewcvs/templates/log.ezt
* viewcvs/templates/log_table.ezt
Now show the type of change that happened for "the other paths", and
don't make paths that were deleted into hyperlinks.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@728 8cb11bc2-c004-0410-86c3-e597b4017df7
into shape for Subversion.
* viewcvs/lib/viewcvs.py
(view_log): Grab the path of a version selected for diffs from the
query data, and stash it in the data dictionary.
* viewcvs/templates/log_table.ezt
* viewcvs/templates/log.ezt
Fix the 'diff to previous', 'diff to selected', and 'select for
diff' links for Subversion. Also, don't display the various "branch
point" and "next main" diff links for Subversion.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@720 8cb11bc2-c004-0410-86c3-e597b4017df7
Stein and Russell Yanofsky for review and suggestions.
* lib/vclib/svn/__init__.py
(log_helper): Add 'pool' argument, and use it instead of
svnrepos.pool for allocations. Also, calculate the action and
copy_rev/copy_path fields in the log entries.
(fetch_log): Use an iteration subpool when looping over history items.
* templates/log.ezt
Eliminate an unnecessary "if-any" check (since "is" does this work
for us in this case).
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@713 8cb11bc2-c004-0410-86c3-e597b4017df7
(log_helper): Populate the 'action' attribute of the LogEntry.
* viewcvs/templates/log.ezt
Expect human-readable strings for the action type (instead of the
single-character abbreviations).
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@712 8cb11bc2-c004-0410-86c3-e597b4017df7
for example, which using Subversion). This fixes #Bugs item #793866,
reported by Timothee Besset.
* templates/dir_alternate.ezt
* templates/directory.ezt
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@704 8cb11bc2-c004-0410-86c3-e597b4017df7
common to all templates
(Request.__init__): moved icon and docroot initialization into
common_template_data
(html_footer, view_directory, view_log, view_markup, view_checkout,
view_cvsgraph, human_readable_diff): changed to use common_template_data
* templates/dir_alternate.ezt:
templates/directory.ezt:
templates/graph.ezt:
templates/header.ezt:
templates/log.ezt:
templates/log_table.ezt:
templates/query.ezt: renamed docroot and icon variables
* website/upgrading.html: updated description of changed template variables
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@692 8cb11bc2-c004-0410-86c3-e597b4017df7
(markup_stream): Get log message and size display as part of the
markup output working for Subversion.
* viewcvs/templates/markup.ezt
Add display of file size for Subversion repositories, and make the
'changes since' line CVS-only.
* viewcvs/lib/vclib/svn/__init__.py
(StreamPipe.read, StreamPipe.readline): Don't try to read if EOF
has been hit.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@681 8cb11bc2-c004-0410-86c3-e597b4017df7
* dir_alternate.ezt: updated with recent changes to directory.ezt
* log_table.ezt: updated with recent changes to log.ezt
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@679 8cb11bc2-c004-0410-86c3-e597b4017df7
download/view/markup links for old revisions of copied files.
The new fields are "Other changed files" which is a list of links to other
files changed in the same revision, "Copied from" which is displayed for
file revisions that are the result of a copy operations, and "Filename"
which is displayed for older file revisions which precede a copy operation.
* viewcvs.conf.dist
* lib/config.py (set_defaults): added "show_changed_paths" option to determine
whether or not to retrieve and display the new information
* lib/viewcvs.py (run_viewcvs): now passes show_changed_paths option to
newly created subversion repository objects
(view_log_svn): changed the way download/view/markup links are generated
and added code to generate links for new fields
* templates/log.ezt: template additions
* lib/vclib/svn/__init__.py (LogEntry.__init__): added extra arguments for new
fields
(ChangedPathEntry): new class to hold information about the changed paths
associated with a revision
(LogReceiver.__init__): added some new members to hold more state for the
callback function
(LogReceiver.receive): added some code to crawl through the "paths" hash
and save useful information
(get_logs): changed to work with new LogReciever constructor
(fetch_log): changed call to repos.svn_repos_get_logs() to pass true for the
"discover_changed_paths" argument. moved fs.file_length() call into
LogReceiver.__init__
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@675 8cb11bc2-c004-0410-86c3-e597b4017df7
links between ViewCVS pages are now constructed by a new Request
method called "get_link," and all URL parsing happens in another new
Request method called "run_viewcvs."
I also added support for a new optional parameter called "view." It
provides a more uniform way of linking to ViewCVS pages, so you can
say
/viewcvs/dir/file.txt?view=log
/viewcvs/dir/file.txt?view=co
/viewcvs/dir/file.txt?view=annotate
/viewcvs/dir/file.txt?view=markup
instead of
/viewcvs/dir/file.txt
/viewcvs/*checkout*/dir/file.txt
/viewcvs/dir/file.txt?annotate=head
/viewcvs/dir/file.txt?rev=HEAD&content-type=text/vnd.viewcvs-markup
Changes which are not backwards compatible had to be made to some
template files. Old templates will not work with the new code.
* templates/include/branch_form.ezt:
* templates/include/diff_form.ezt:
* templates/include/paging.ezt:
* templates/include/sort.ezt:
* templates/diff.ezt:
changed to use form action and hidden fields provided by the script
* templates/directory.ezt: got rid of relative urls, changed to use
form action and hidden fields provided by the script
* templates/graph.ezt: changed to take image path from the script
* templates/header.ezt: got rid of "qquery" variable
* templates/log.ezt: changed the way diff and annotate links get
constructed
* lib/viewcvs.py (Request.__init__): moved out url parsing stuff into
new "run_viewcvs" method.
(Request.run_viewcvs): new Request method to hold all url parsing
code and replace the global function with the same name.
(Request.get_url, Request.get_link): new methods to construct urls
for ViewCVS pages. Most of the hyperlinks that appear in generated
pages are now made by these functions.
(get_up_path): turned off special handling of attic directory for
subversion, switched names of regular expressions
(_legal_params, _validate_param, _validate_root): added new 'view'
parameter, turned off separate validation for root parameter
(_re_validate_revnum): allow empty string to be specified as a
revision number. needed to prevent validation error when doing a
regular expression search on the cvs trunk (which sets
only_with_tag to "")
(_strip_suffix, _repos_pathtype): added some new helper functions
(sticky_query, toggle_query, download_url): removed these functions,
Request.get_url() is now used instead.
(clickable_path, prep_tags, augment_entry): changed signatures and
implementations to use Request.get_url
(is_viewable, is_viewable_image): changed is_viewable() to
is_viewable_image() to avoid overlap in functionality with is_text()
(nav_header_data): got rid of 'qquery' template parameter, changed
'file_url' to use an absolute pathname instead of a relative one
(view_auto): new function that marks up the current file if it is
viewable, otherwise downloads it. called when a user clicks on the
revision numbers in directory listings.
(view_markup, markup_stream): renamed markup_stream to view_markup
and changed signature
(get_file_data_svn): no longer tries to generate physical pathnames
for subversion files since the values it did generate were
meaningless and were ignored anyway.
(get_file_data): changed docstring
(prepare_hidden_values): changed signature
(view_directory, view_directory_cvs, view_directory_svn): factored
out some of the common parts of view_directory_cvs and
view_directory_svn functions into a new function called
view_directory. implementations were also changed to use new get_url
and get_link functions
(view_log, view_log_cvs, view_log_svn): ditto
(process_checkout): changed signature and moved in support for
subversion
(view_checkout, search_files): changed implementations to deal with
new url handling, and the changes to process_checkout.
(view_annotate, human_readable_diff, download_tarball): changed to
use new url methods
(view_cvsgraph): changed signature to be consistent with
view_checkout, view_annotate, view_markup, etc. Added new template
parameter 'imagesrc' so the graph url doesn't have to
be hardcoded in the template.
(cvsgraph_image, view_cvsgraph_image): renamed cvsgraph_image to
view_cvsgraph_image and changed its signature (also for consistency
with the other view_* functions).
(_views, _view_codes): new dictionary objects mapping "view"
parameter values to functions that produce various viewcvs pages.
(handle_config): got rid of global "default_settings" dictionary
(run_viewcvs): replaced by Request.run_viewcvs
(main): now calls Request.run_viewcvs()
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@667 8cb11bc2-c004-0410-86c3-e597b4017df7
<rey4@columbia.edu> for bringing sanity to my morning with his fix of
the "isinstance()" usage.
* viewcvs/lib/config.py
(set_defaults): Add new default value for self.templates.error.
* viewcvs/viewcvs.conf.dist
(error): New configuration variable for specifying the error template.
* viewcvs/templates/error.ezt
New default error template.
* viewcvs/lib/debug.py
(ViewCVSException.__init__): Lose the 'description' member.
(PrintException): Now prints exception data passed in (doesn't do
the sys.exc_info() call itself any more).
(GetExceptionData): New generic exception data harvester for use
with templatized output.
* viewcvs/lib/viewcvs.py
(view_error): New error printer that tries to use the error template
before falling back to direct output.
* viewcvs/lib/query.py
Update calls to debug.PrintException() to get the exception data
from debug.GetExceptionData()
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@664 8cb11bc2-c004-0410-86c3-e597b4017df7
* templates/include/branch_form.ezt
* templates/include/diff_form.ezt
* templates/include/sort.ezt
Use an action="" value in these forms that can deal with both states
of the root_as_url_component option.
* lib/viewcvs.py
(view_log_cvs, view_log_svn): Add 'current_root' to the data
dictionary. This is "just because", not really related to the bugfix.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@662 8cb11bc2-c004-0410-86c3-e597b4017df7
public. Miscellaneous Subversion bug fixes, too.
* viewcvs/lib/config.py
(Config.set_defaults): Add default state for 'root_as_url_component'
option. Remove "CVS" from the 'general/address' and
'general/main_title' default values.
* viewcvs/cgi/viewcvs.conf.dist
Lots of documentation changes in here.
(root_as_url_component, svn_roots, svn_parent_path): New options.
(address, main_title): Lose the "CVS" in the value.
* viewcvs/lib/viewcvs.py
(Request.__init__): Handle the new 'root_as_url_component' option.
(list_roots): New.
(clickable_path, download_url): Take any embedded roots into account
during href generation.
(view_diff): Fix the revision parsing here. I dunno why I ever made
this code CVS-specific in the first place...
(view_log_svn): Populate 'roottype' data member.
(view_log_cvs): Was view_log(). Populate 'roottype' data member.
(view_directory_cvs, view_directory_svn): Use new list_roots()
helper. Also, calculate 'nav_path' unconditionally (it may be
None, but it will at least be defined so templates can use it).
(main): Update call to view_log_cvs().
* templates/directory.ezt
* templates/dir_alternate.ezt
Take 'embedded_root' into account for href generation.
* templates/log.ezt
Do some "CVS" vs. "Subversion" string changing. Disable "annotate"
link for Subversion.
* templates/log_table.ezt
Disable "annotate" link for Subversion.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@575 8cb11bc2-c004-0410-86c3-e597b4017df7
* viewcvs/templates/dir_alternate.ezt
Make the [hide] link conditional on the presence of the
'attic_showing' data member. Also, treat the directory named 'Attic'
special only for cvs roottypes.
* viewcvs/lib/viewcvs.py
(view_directory_cvs): Setup the new 'attic_showing' data member.
(view_directory_svn): Don't bother with the 'hide_attic_href' and
'show_attic_href' data members.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@573 8cb11bc2-c004-0410-86c3-e597b4017df7
- remove diff_font_face/size options and move the font stuff from code
to the diff.ezt template
- move error() back to viewcvs.py and have config.py raise an
exception (so config doesn't have to know about CGI stuff)
- revamp SVN parent path stuff to avoid catch-all try/except
* cgi/viewcvs.conf.dist: remove the diff_font_face and diff_font_size
options. These are now part of the diff.ezt template.
COMPAT BUSTER
* templates/diff.ezt: need to apply font changes since the EZT
references no longer include them.
* lib/viewcvs.py:
(error): moved (back) here from config.py
(DiffSource._get_row): stop inserting HTML into the values; leave
that for the template to do however it wants
(handle_config): catching all exceptions is very, very dangerous.
rework this code to avoid exceptions thru the use of
os.path.exists() and wrap an OSError exception catcher around the
small little bit that might throw it.
* lib/config.py:
(error): shifted back to viewcvs.py
(_parse_roots): shifted below the "important" part of this file,
which is the config stuff. changed the error handling to throw an
exception rather than call error()
(MalformedRoot): new exception. note that ViewCVS includes code for
catching exceptions and pretty-printing them to an HTML page, so
we don't need a specific catch of this exception.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@564 8cb11bc2-c004-0410-86c3-e597b4017df7
implement rudimentary directory version jumping.
* viewcvs/lib/vclib/svn/__init__.py
(date_from_rev): New.
(StreamPipe): new class.
(get_file_contents): now returns StreamPipe object.
* viewcvs/templates/directory.ezt
Get some subversion directory-revision-jumping UI action on.
* viewcvs/lib/viewcvs.py
(Request.__init__): Allow 'HEAD' as incoming 'rev' option.
(view_checkout): Use new get_file_contents() return.
(view_directory_svn): Populate new 'roottype', 'tree_rev' and
'jump_rev' data members.
(view_directory_cvs): Populate new 'roottype' data member.
* viewcvs/lib/config.py
(set_defaults): Stop using real default values for cvs_roots and
default_root.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@558 8cb11bc2-c004-0410-86c3-e597b4017df7
(handle_config): Use '' instead of None for the default value of
"search". A bug in urlencode() requires it.
(view_diff_svn): New placeholder function.
(Request.__init__, human_readable_diff): No longer chop the '.diff'
off of the path.
(main): Reorg the code here a bit. I'm pretty sure I didn't
actually change the logic outside of adding: redirect on file
paths that have the extra '.diff' tacked on, and call the
view_diff_svn stub at the right time.
* templates/log.ezt
* templates/log_table.ezt
* templates/include/diff_form.ezt
Stop tacking that confounded ".diff" onto the diff queries. The
presence of r1 and r2 are enough to do the job.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@552 8cb11bc2-c004-0410-86c3-e597b4017df7
rename the 'cvsroot' URL query item to 'root' (while still supporting
'cvsroot' as a valid token that just gets mapped to 'root' under the
hood) and to add support for an svn_roots configuration value (not
added to the default config file as part of this commit, though).
* viewcvs/lib/config.py
(_parse_roots): New helper.
(Config._force_multi_value): Add 'svn_roots'.
(Config._process_section): Use new helper function to parse
'cvs_roots' and 'svn_roots' configuration items.
(Config.set_defaults): Initialize default svn_roots config item.
* viewcvs/lib/viewcvs.py
(_sticky_vars, _legal_params): Rename 'cvs_root' to 'root'.
(_validate_root): Was _validate_cvsroot.
(Request.__init__): Patch 'cvsroot' query items to be 'root' items.
Examine both CVS and Subversion root configurations and choose the
appropriate repository.
(view_directory): Show both Subversion and CVS roots in the templates.
* viewcvs/lib/query.py
(build_commit): Use 'root' in the URL query portion instead of
'cvsroot'.
* viewcvs/templates/directory.ezt
* viewcvs/templates/dir_alternate.ezt
Replaces references to 'cvsroot' with 'root'.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@546 8cb11bc2-c004-0410-86c3-e597b4017df7
'[ 548889 ] Local time display option'.
* Made a 'make_time_string' function that returns formatted date
string in localtime or UTC, based on configuration choices.
* Added 'use_localtime' option in 'cgi/viewcvs.conf.dist' and
'lib/config.py'.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@510 8cb11bc2-c004-0410-86c3-e597b4017df7
annoying 301 redirection "errors". I tracked them
down to missing trailing slashes. This change adds
these slashes to the directory URLs. I'm not sure
whether this is right cure for the problem. Please
review and comment.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@487 8cb11bc2-c004-0410-86c3-e597b4017df7
the URLs. It also fixes a problem with directory.ezt not having
closed </form> tags under certain conditions.
*) Abstracted out a prepare_hidden_values function to create the
appropriate hidden values for a particular form. Should have
everything in _sticky_vars in the request object as a hidden
value EXCEPT the value(s) set by the form.
*) Edited directory.ezt to use the new system.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@484 8cb11bc2-c004-0410-86c3-e597b4017df7
( http://mailman.lyra.org/pipermail/viewcvs-dev/2002-February/000485.html )
I added sort direction toggles to the directory view. It works.
But unfortunately the table header code in the template becomes very
bloated. So I decided to put this only into dir_alternate.ezt for the
time being. Please play around with it and review. Putting
directory.ezt back into sync can be done later.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@469 8cb11bc2-c004-0410-86c3-e597b4017df7
files option.
* Rearranged table to make 'Show all files' button lined up with the 'Show'
button.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@464 8cb11bc2-c004-0410-86c3-e597b4017df7
templates much easier to read and allows easier movement of the
elements around on the page.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@461 8cb11bc2-c004-0410-86c3-e597b4017df7
* For text files:
'Download' opens download to file dialog box
'View as Text' displays revision in new window
'View as markup' displays enscript colored view with header information
'View annotated' displays blame
* For gif, jpeg, and png:
'View' displays graphic with header information similar to text markup
* For other binaries:
'View/Download' will either view or download depending on browser's
mime type / application settings.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@460 8cb11bc2-c004-0410-86c3-e597b4017df7
* Symbolic constants for tests.
* Moved text to diff.ezt template.
* Used elif to clean up logic.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@452 8cb11bc2-c004-0410-86c3-e597b4017df7
* Binary files are treated appropriately, detecting if there are differences
or not. Should fix part of feature request '[ #497044 ] Hide Diffs for
Binaries'.
* Detects whether diff is accessible to rcsdiff and whether diff is GNU diff.
Might move a diff test to viewcvs-install. Advantage to it being here is
that it responds to the CGI environment.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@450 8cb11bc2-c004-0410-86c3-e597b4017df7
* Added use_pagesize to viewcvs.conf.dist and config.py
* Modified directory and log templates to have a <select>
pulldown menu based on files for directory views and revs
for file logs. Also setup to make the current page the
'selected' item in the pulldown.
* Added paging function to viewcvs.py. Called from
view_directory and view_log.
* Added two variables to the _sticky_vars, dir_pagestart and
log_pagestart. Couldn't use a single pagestart var because
it stuck around between the directory and log pages.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@434 8cb11bc2-c004-0410-86c3-e597b4017df7
of the naming, and shift some text from the program to the templates.
* viewcvs.conf.dist: clarify description of the hide_attic default
* viewcvs.py: add [show_attic_href], [hide_attic_href], and
[rows.state] variables for managing the attic links. remove the
[rows.hide_attic_href] and [rows.attic] variables.
* directory.ezt, dir_alternate.ezt: use the new vars to insert the
text/links for the attic handling.
* upgrading.html: document the template variable changes. a few other
tweaks.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@414 8cb11bc2-c004-0410-86c3-e597b4017df7
* viewcvs.py:
- make "search" param a sticky variable; it should propagate through
the screens, across column sort changes, etc
- htmlify() the search expression
- add a new variable to specify whether a search form is needed on
the directory page (to select a tag and/or a regex)
- add [files_shown] since [num_files] isn't "right"; need longer
term fix for variable w.r.t message when zero files are selected
- always create form parameters because we may have a search form
(and now use them in the search form)
- use new ezt.boolean() where appropriate
* directory.ezt, dir_alternate.ezt:
- display the current location and selection criteria in one block
- move selection form to bottom of screen; this emphasizes the
directory contents rather than how to select/refine the contents
- tweak the "no_match" message since the search expression could be
causing the zero-matches
- use a table to format the various forms of selection criteria
- use the params for *both* tag selection and regex selection
- optionally display the "show all files" button, based on whether
there is current selection criteria or not
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@412 8cb11bc2-c004-0410-86c3-e597b4017df7
* rather than using [headers] to determine the columns, just display
them explicitly. use the new [have_logs] to determine whether the
additional columns are needed.
* fix a bunch of problems in directory.ezt relating to unreadable
files or errors while reading CVS information (lining up columns and
whatnot)
* remove the "show_author" config option, favoring removal from the
templates instead.
* remove the unused "hide_non_readable" option. remove the
"use_java_script" and "open_extern_window" options; these were
removed recently, but accidentally left in the .conf file.
* remove the "flip_links_in_dirview" option, favoring a new template
instead. added a copy of directory.ezt as dir_alternate.ezt. changes
to actually make the columns flipped are coming in a future commit.
* remove the [rev_in_front], [rows.span], and [rows.cols] options;
these are now obsolete given the above changes
* add documentation to upgrading.html
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@403 8cb11bc2-c004-0410-86c3-e597b4017df7
* annotation, human readable diff, CvsGraph, and a marked-up file all
use a template to generate the basic parts of the page. In many
cases (annotate, graph, markup), the content is still rendered
by other code.
* for the diff support, we take advantage of the new list iteration
support in EZT to "iterate on" a DiffSource object, which parses a
diff stream into structured object for the template to display.
* for the CvsGraph page, we make use of EZT's new stream support to
stream in an imagemap from the CvsGraph executable. the graph page
includes a navigation header now.
* updated the upgrading.html page with some items missing from the 0.7
instructions, plus new instructions.
* because of the complete conversion, the configuration file no longer
specifies colors or images -- these are all in the templates now.
Removed the relevant material from config.py and viewcvs.conf.dist.
* converted html_footer() to use the new footer.ezt template because
we still have to call that manually in the markup and annotate
cases.
* add the templates to viewcvs.conf.dist and config.py
* added a handy generate_page() utility for generating pages from a
template and its input data.
* removed download_link, html_icon, html_option, print_diff_select,
and navigate_header utility functions. These all printed HTML to the
output, but are obsolete due to the new templates.
* the new nav_header_data() utility function fills in data used by the
"header.ezt" template, which replaces the navigate_header() func.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@395 8cb11bc2-c004-0410-86c3-e597b4017df7
should have been "s". (the resulting bug is that a side-by-side diff
would never appear pre-selected in the popup)
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@393 8cb11bc2-c004-0410-86c3-e597b4017df7
+ created search_files function
+ split view_checkout into view_checkout and process_checkout.
Wanted the process_checkout code to checkout the files from the
repository.
+ split get_file_data into get_file_data and get_file_tests.
Wanted get_file_tests to tell what kind of object was in the repository.
+ Modified directory.ezt to include searches.
- Moved select by tag function up to the top of the page
- Included code to return how many files survived the filters
- The 'Reset' button now says 'Show all files'.
+ Modified viewcvs.conf.dist to include use_re_search option.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@378 8cb11bc2-c004-0410-86c3-e597b4017df7
lib/viewcvs.py, templates/directory.ezt:
* Fix SF Bug [ #486085 ] checkout_magic_path uses invalid chars
Provide backward compatibility for old style URLs.
standalone.py:
* Changed from calling viewcvs.main() to calling viewcvs.runcgi(),
so that the timing results sampled by debug are displayed in the browser.
* Added two more toggles to the GUI. Now it is simpler to perform a
systematic test of several permutations of these config flags.
* Shortened the label text for the query entry field in the standalone GUI.
* Added some comments to this Tkinter GUI setup code, which has grown beyond
than what I was my first intention.
lib/viewcvs.py, lib/config.py, cgi/viewcvs.conf.dist, standalone.py
and templates/directory.ezt:
* Added a new config flag variable called flip_links_in_dirview, which defaults
to the classic setting (like cvsweb). If it is set to 1 instead then the
file and revision columns are exchanged and at the same time these two columns
exchange the meaning of their links. This design should solve the user
interface design problem brought up first in
http://www.lyra.org/pipermail/viewcvs-dev/2001-November/000285.html
which was than than further discussed here:
http://www.lyra.org/pipermail/viewcvs-dev/2001-November/000288.htmlhttp://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/viewcvs/viewcvs/templates/Attic/direasy.ezt?hideattic=0http://www.lyra.org/pipermail/viewcvs/2001q4/000533.html
Since than I received two personal emails from people sharing my POV.
Unfortunately the huge [for rows]-block in directory.ezt has grown
again. But it is difficult to avoid this with the current design of
lib/viewcvs.py and the templating engine lib/ezt.py. I'm open to
suggestions.
In lib/viewcvs.py function view_directory I factored out the computation
of row.span into a new local variable called span, since the number of
empty trailing columns is decreased by one if the flip_links layout
is configured.
templates/query.ezt:
* Rearranged the table columns in the commit database query result table,
so that they match the existing table layouts of directory.ezt and
log_table.ezt.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@360 8cb11bc2-c004-0410-86c3-e597b4017df7
formatted in the first place. (see viewcvs.print_log() last line for
example, how the log message is displayed elsewhere
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@355 8cb11bc2-c004-0410-86c3-e597b4017df7
generated by query.cgi was unacceptable wide.
After I widened the browser window so that it occuoies the whole
screen width, it still required a horizontal scrollbar.
I find this unusable. So I decided to remove the
Description column and put the Log message blocks on a separate
table row.
But since this may be a matter of taste, I left the original
stuff in, but commented out. People with really large
screens (2000 pixels and up) might want to revert this change.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@353 8cb11bc2-c004-0410-86c3-e597b4017df7
directory.ezt incorporated its cvsgraph icon, so its only difference is
flipping the links around. But the existing definition for the links makes
more sense, so that leaves direasy.ezt without any new or interesting
features.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@347 8cb11bc2-c004-0410-86c3-e597b4017df7
* rename ~helppage~ magic path to ~docroot~ with the intent that we might
serve other content out of there (including users' data if necessary)
* shift Help link down below the logo where it is more visible
* rename g_template_dir to its real semantic: g_install_dir
* rename view_helppage() to view_doc() and use new g_install_dir to find the
doc root.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@346 8cb11bc2-c004-0410-86c3-e597b4017df7
- "view annotated" rather than "view annotation" (we don't want to imply
there is some kind of annotation facility; we really need a better word
for this; and no... 'blame' isn't it :-)
- use a rowspan on the revision column
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@339 8cb11bc2-c004-0410-86c3-e597b4017df7
* put them back on a single line
* restore ordering -- "previous" is the most common, so it goes first
* add the action text into Diff links for larger hit targets
(idea from Stephen Lamm <slamm@yahoo-inc.com>)
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@338 8cb11bc2-c004-0410-86c3-e597b4017df7
Recently Stephen Lamm wrote:
> Have file links go to the latest revision instead of the cvs log.
> When I click on the file name, I expect to get that file, and not
> some meta information about it. Another column next the name could
> have a link like "(Log)" to get that information. That would be
> more explicit. I find it strange to click on the revision number
> to get a file because I typically do not think of files in terms
> of revision numbers. (The revision number probably should not have
> a link on it at all.)
In this template the revision number carries a link to the Log
page (so the meaning of both columns are simply swapped).
Additionally (if you enable cvsgraph) the text string "(graph)" is replaced
by a small 16x16 pixel icon.
I experimented with the suggestion to add the word '(Log)' to each
filename but in the end I think that both (graph) and (log)
waste a lot of valueable horizontal screen space.
If you want to try this template out, you can simply start
./standalone.py --gui
in the viewcvs directory and select the radio button labeled
with 'direasy.ezt'.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@322 8cb11bc2-c004-0410-86c3-e597b4017df7
* Finally removed the duplicated text from directory.ezt and replaced it
with a 'Help' button at the upper right corner.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@311 8cb11bc2-c004-0410-86c3-e597b4017df7