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
really, which means that I probably overlooked something, but it works.
* Rearranged the diff links.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@302 8cb11bc2-c004-0410-86c3-e597b4017df7
maintain the row color if there aren't any entries.
* Colapsed the 'Branch Path' column into 'Branch'
* Added <br> and &nbps; tags where appropriate to correctly format each entry.
* Diff to branch point works correctly.
* Many misc. changes.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@301 8cb11bc2-c004-0410-86c3-e597b4017df7
logic for sorting similar to what is available on directory page. Need more
testing to make sure format is scalable to complex repositories.
* Fixed small bug in log.ezt. Stray 'Diff' string in the wrong place.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@291 8cb11bc2-c004-0410-86c3-e597b4017df7
The missing column is not dependent upon the show_subdir_lastmod flag -- we
don't need to propagate that into the template. If that branch of logic in
the template is reached, then we *know* that show_subdir_lastmod is enabled.
Just hard-code the column (for the revision).
Also a minor optimization: shifted the setting of row.graph_href rather than
setting it for every dir in file_data (note that we skip some of them).
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@288 8cb11bc2-c004-0410-86c3-e597b4017df7
use_cvsgraph and show_subdir_lastmod options:
* If use_cvsgraph and show_subdir_lastmod were both on, some subdirectory
entries would get (graph) links.
* Under various combinations of settings, the directory entries would not
line up in the proper columns.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@283 8cb11bc2-c004-0410-86c3-e597b4017df7
new template is templates/query.ezt and is the "query" config option in the
[templates] section.
This converts about half the code. The database results come after the
footer, but that will be fixed in a (near) future revision.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@275 8cb11bc2-c004-0410-86c3-e597b4017df7
column to colspan=2, if cfg.options.use_cvsgraph is enabled. This is
a very minimal change not solving what Greg called
"""the stupid stuff about table headers in view_directory() and
directory.ezt needs to be cleaned up. Specifically, the whole
"show_author" crap should just be an aspect of the template, not the
code."""
Although I still believe, that the /icons/small/image2.gif would look
better, I left the text "(graph)" as represenation of the link in there.
* Added a link to the cvsgraph display to the log.ezt template.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@268 8cb11bc2-c004-0410-86c3-e597b4017df7
CHANGE: the "Long colored diff" format option is now specified with "l"
rather than "H". This may affect persistent URLs or existing .conf files.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@256 8cb11bc2-c004-0410-86c3-e597b4017df7
This change is focused around augment_entry(), which adds a bunch of
additional information into the entry object. Basically, augment_entry()
contains the logic from print_log() (leaving out the HTML generation).
print_log() also had a bug fix made to it (and these fixes are in the new
augment_entry). Essentially, the "next main" computation was wrong in two
ways: it applied int() to each component of c_rev, but that would make the
later comparison always fail (int != string); the second probably was that
c_work was created by splitting rev, but it should have split next. With
this fix, you can now diff against "next main".
Did a few cleanups/optimizations (rev_order use in print_log, dropping a
separate "filename" variable when computing file_url, use entry.changed
rather than rev_map).
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@254 8cb11bc2-c004-0410-86c3-e597b4017df7
did that anyways (except for one spot -- noted below)
*) In download_link(), open the window initially pointing at about:blank
rather than an *incorrect* URL (it didn't have amp_query). Using
about:blank will be faster anyways; and the TARGET stuff in the anchor
will direct it to the proper URL.
*) Add templates/log.ezt for the file-log page
*) Change view_log() to begin using the new template. It is now used for the
top portion of the file. (e.g. more work to do on the entries and bottom
portion of the page)
*) ezt.py now allows '/' in the directives (typically, for quoted stuff)
(this regex stuff really should be tweaked to allow just about anything
in the quoted portions)
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@247 8cb11bc2-c004-0410-86c3-e597b4017df7
'ezt.py', which belongs to the edna project is not changed.
May there is a cleaner solution possible, but I was unable to
figure out how.
The []-template macros available in directory.ezt should be documented
somewhere, but where?
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@244 8cb11bc2-c004-0410-86c3-e597b4017df7
and show_subdir_lastmod. Viewcvs was not putting data from directory entries
in the correct columns. Need to decide as a group how to handle a directory
with only subdirectories because currently has blank 'Rev' and 'Graph' columns.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@228 8cb11bc2-c004-0410-86c3-e597b4017df7
Directory pages (including the top-level root/module selection page) can now
be completely customized, without code changes.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@221 8cb11bc2-c004-0410-86c3-e597b4017df7
directory page is generated via template.
* viewcvs.conf.dist, config.py: remove [text] options and defaults; those
values are now simply text within the template.
* viewcvs.py: load the template, define information to pass to it, and
invoke it.
* directory.ezt: template for the directory page (and top-level root
selection and module page).
* ezt.py: templating library from the "edna" project. no changes from the
HEAD in edna's cvs.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@213 8cb11bc2-c004-0410-86c3-e597b4017df7