Beranek <john@redux.org.uk> for reporting the bug on the users' list.
* tools/loginfo-handler
(HeuristicArgParse, CvsNtArgParse):
fix return values
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@982 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/vclib/__init__.py
(DirEntry.__init__):
set "errors" member instead of "verboten"
* lib/vclib/bincvs/__init__.py
(CVSRepository.listdir):
don't skip "Attic" and "CVS" entries if we're not sure if they are
directories
don't skip entries in Attic/ when we can't tell if they are files or
directories
(CVSDirEntry.__init__):
use "errors" argument instead of "verboten"
(_get_logs):
don't set "DirEntry.log_errors" member, use "errors"
(_log_path):
don't return file access errors here, they are returned by _check_path
(_check_path):
return error strings on file access errors instead of simple booleans
* lib/vclib/ccvs/__init__.py
(CCVSRepository.dirlogs):
don't set "DirEntry.log_errors" member, use "errors"
* lib/vclib/svn/__init__.py
* lib/vclib/svn_ra/__init__.py
(get_logs):
don't set "DirEntry.log_errors" member
* lib/viewcvs.py
(view_directory):
use "DirEntry.errors" member instead of "log_errors"
(generate_tarball):
use "DirEntry.errors" member instead of "verboten"
* tools/cvsdbadmin
(RecurseUpdate):
use "DirEntry.errors" member instead of "verboten"
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@978 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/rlog.py
deleted
* lib/cvsdb.py
(RLogDataToCommitList):
removed
(GetCommitListFromRCSFile):
change to use vclib instead of rlog module
(GetCommitListFromRCSFile, GetUnrecordedCommitList):
update to accept vclib-style path_parts arguments
* lib/vclib/bincvs/__init__.py
(BinCVSRepository.filelog):
accept "cvs_pass_rev" option for passing -r arguments to rlog
(_match_revs_tags):
make this function work with an incomplete list of revisions
instead of crashing. This is neccessary when an -r argument
is passed to rlog.
(_add_tag):
make this function work when we need to create a tag with no
revision object. We need this to create a HEAD tag when an -r
argument is passed to rlog and we don't know what the HEAD
revision is.
(fetch_log):
removed
* tools/cvsdbadmin
(RebuildFile):
removed, merged into UpdateFile
(UpdateFile)
accept new argument to reinsert all commits
(RecurseRebuild):
removed, merged into RecurseUpdate
(RecurseUpdate):
update to use vclib's listdir instead of os.listdir
(CommandRebuild, CommandUpdate):
removed, code moved into __main__ section
* tools/loginfo-handler
(FileData, CommitFromFileData, GetUnrecordedCommitList):
removed, these were just wrappers over the cvsdb interface
(HeuristicArgParse, CvsNtArgParse)
return tuples describing file data instead of file data objects
(ProcessLoginfo):
update to use cvsdb interface
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@953 8cb11bc2-c004-0410-86c3-e597b4017df7
- Stop converting directory and file paths to lower case with native
slashes before storing them in the database. Instead store with
preserved case and forward slashes.
- Stop trying to clean up paths haphazardly all over the cvsdb module,
instead expect paths to be normalized before they get passed to
cvsdb.
* lib/cvsdb.py
(Commit.SetRepository, Commit.SetDirectory, Commit.SetFile,
CheckinDatabaseQuery.SetRepository,
CheckinDatabaseQuery.SetDirectory):
remove path cleanup code
(RLogDataToCommitList)
don't strip repository prefix because rlog module now does it
(CleanRepository):
new function
* lib/rlog.py
(_get_co_file):
change to return paths with forward slashes and without repository
prefixes
(GetRLogData):
update call to _get_co_file
* tools/cvsdbadmin
(UpdateFile, CommandUpdate, RebuildFile, CommandRebuild)
remove calls to normcase here
(module code):
use CleanRepository function to clean up repository path
* tools/loginfo-handler
(CleanDirectory):
removed
(HeuristicArgParse, CvsNtArgParse):
don't call CleanDirectory or normcase here
(HeuristicArgParseDirectory):
remove stray print statement
(module code):
use cvsdb.CleanRepository function to clean up repository path
* tools/svndbadmin
(module code):
use cvsdb.CleanRepository function to clean up repository path
* lib/viewcvs.py
(view_query):
change to use forward slashes in directory names instead of native
slashes
use cvsdb.CleanRepository function to clean up repository paths
* lib/query.py
(build_commit):
change to handle forward slashes in directory paths instead of
native slashes
(run_query):
use cvsdb.CleanRepository function to clean up repository path
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@952 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
information to the Bonsai checkin database.
- Get viewcvs-install to install the new script.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@868 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/vclib/bincvs/__init__.py
(fetch_log):
fix arg list
* lib/rlog.py
(GetRLogData)
take repository object as argument instead of cfg object
* lib/cvsdb.py
(GetCommitListFromRCSFile):
take repository object as argument instead of repository path
* tools/cvsdbadmin
(CommandUpdate, CommandRebuild)
create BinCVSRepository objects to pass to cvsdb functions
* tools/loginfo-handler
(CommitFromFileData, GetUnrecordedCommitList)
take repository object as arguments instead of repository path
(ProcessLoginfo)
create BinCVSRepository objects to pass to cvsdb functions
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@802 8cb11bc2-c004-0410-86c3-e597b4017df7
by the new subversion revision page
* tools/bin2inline_py.py:
added two new icons
* lib/apache_icons.py:
regenerated
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@759 8cb11bc2-c004-0410-86c3-e597b4017df7
* tools/loginfo-handler (HeuristicArgParse, CvsNtArgParse): added tests
to detect command line parameters ending in "- Imported sources'"
(debug, warning, error): changed these functions to write to standard out
instead of standard error
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@687 8cb11bc2-c004-0410-86c3-e597b4017df7
this was the best (and easiest) change compared to changing the type
because of the possible introduction of subtle differences in the treatment
of VARCHAR and TEXT.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@628 8cb11bc2-c004-0410-86c3-e597b4017df7
1) There's a new way to pass it parameters. You can write:
ALL <VIEWCVS_INSTALLATION_DIRECTORY>/loginfo-handler %{sVv}
instead of:
ALL (echo %{sVv}; cat) | <VIEWCVS_INSTALLATION_DIRECTORY>/loginfo-handler
although for backwards compatibility, the old invokation still works. The
reason for the change is to make life easier for windows users who do not
typically have cat and a unix-style echo command installed on their machines.
2) It now sort of supports spaces in file names. Current versions of CVS pass
loginfo parameters in a space-separated string without bothering to escape the
spaces that can occur in filenames within the string. This can make it
impossible to unambiguously parse, so a heuristic is used to guess which spaces
are meant to be separators and which are part of file names. (See the
documentation string for the HeuristicArgParse() function for a description of
how it works). The heuristic should be pretty reliable when spaces are used in
filenames AND directory names, extremely reliable when spaces are allowed in
EITHER filenames OR directory names, and completely reliable in the
unambiguous case when there are no spaces in path names.
There is a completely different situation with CVSNT. CVSNT does escape spaces
and special characters with backslashes so no heuristic is needed. A separate
parsing routine is used for this case.
3) By default the loginfo handler will run the CVSNT parsing routine on windows
and the heuristic parsing routine on all other platforms. But since CVSNT has
been backported to Unix, there may be some people who need to override the
default. This can be done by tacking on a second parameter:
ALL <VIEWCVS_INSTALLATION_DIRECTORY>/loginfo-handler %{sVv} <arg2>
where <arg2> is either "cvs", "cvsnt", or "brokencvsnt". "brokencvsnt" is for
some semi-recent versions of CVSNT which mistakenly escaped filenames twice.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@604 8cb11bc2-c004-0410-86c3-e597b4017df7
function before sending them to the database to avoid the problems with
multiple path spellings on windows
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@600 8cb11bc2-c004-0410-86c3-e597b4017df7
passing them to the database. also changed loginfo-handler to print
errors to the standard error stream instead of the standard out so
messages can get forwarded to the CVS client.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@594 8cb11bc2-c004-0410-86c3-e597b4017df7
generation. (People using Windows often still prefer .zip over .tar.gz)
fix permissions before generating the files. Don't emit a an irritating
warning, if someone tries this script to cut out viewcvs-0.7 again (even if
solely done to test this script, before the v0_8 tag has been set ;-))
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@359 8cb11bc2-c004-0410-86c3-e597b4017df7
very few icons from the set of icons distributed with Apache are really
used within the ViewCVS templates. I've simply converted them into
a tiny new module, which is imported and used by standalone.py. Now
standalone.py is really 'standalone' and can be run without Apache
alltogether. The former options '-i' and '--apache_root=' of standalone.py
are now obsolete and I've removed them again.
The tool 'bin2inline_py.py' that I have used to convert the icon files
into a single sourcecode file is a cut-and-rape-oneway script from
something I've written a while ago to put icons into some other Tkinter
standalone program. I case someone wants to add another icon, I've
placed this hacked version into the tools subdirectory and modified
'make-release', so that it will not be included into the final
ViewCVS 0.8 tarball.
For those who want to run standalone directly from the ViewCVS
source distribution, I've added a new option '-r' (or --repository=)
to standalone.py, so that it is now possible to patch the default
path '/home/cvsroot' without having to setup a Symlink in /home
pointing to their repository. (Not everybody has the permissions
to do that on their server.)
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@331 8cb11bc2-c004-0410-86c3-e597b4017df7
command. In the success case, nothing is printed. But for the error case, we
get the information about the error.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@328 8cb11bc2-c004-0410-86c3-e597b4017df7
* added licence text for lib/compat.py lib/config.py
* viewcvs-install now installs + sets all the paths and modes for
installed files
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@84 8cb11bc2-c004-0410-86c3-e597b4017df7
red is newer, blue is older; contributed by Brian Lenahan (brianl@real.com)
various updates to bootstrap the sys.path madness by keeping the root path in the
file /etc/viewcvs/root; this is open to debate, but works for now
html-templates/querytemplate.html: HTML template used by query.cgi, this will change and/or
be removed in the future as we figure out a sane/cool way to generate the HTML
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@57 8cb11bc2-c004-0410-86c3-e597b4017df7