(update_license): Remove.
(bump_years): Print reminder about amending the change history
section of the LICENSE.html file.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@2722 8cb11bc2-c004-0410-86c3-e597b4017df7
of this is aimed at not paying the maintenance price of supporting
Python versions prior to 2.4 any longer, plus a little bit of just
getting dead code out of the way.
* lib/compat.py
Remove as unused.
* bin/cvsdbadmin,
* bin/loginfo-handler,
* bin/make-database,
* bin/svndbadmin,
* lib/accept.py,
* lib/blame.py,
* lib/cvsdb.py,
* lib/popen.py,
* lib/query.py,
* lib/sapi.py,
* lib/vcauth/forbidden/__init__.py
* lib/vcauth/forbiddenre/__init__.py,
* lib/vcauth/svnauthz/__init__.py,
* lib/vclib/__init__.py,
* lib/vclib/ccvs/blame.py,
* lib/win32popen.py,
* tests/timelog.py
Replace explicit import and use of the 'string' module with newer constructs.
* bin/standalone.py,
* lib/viewvc.py
No longer use 'compat' module. Replace explicit import and use of
the 'string' module with newer constructs.
* lib/dbi.py
Use calender.timegm() instead of compat.timegm().
* lib/vcauth/__init__.py
Lose unused module imports.
* lib/config.py,
Replace explicit import and use of the 'string' module with newer
constructs where possible. Lose old ConfigParser patch-up code for
Python 1.5.1.
* lib/vclib/ccvs/ccvs.py
Replace explicit import and use of the 'string' module with newer
constructs where possible. Import _path_join() from bincvs, and use
it instead of a bunch of copy-and-pasted string join() statements
throughout.
* lib/vclib/ccvs/__init__.py
(cvs_strptime): Moved here from the 'compat' module.
* lib/vclib/ccvs/bincvs.py
(): No longer use 'compat' module. Replace explicit import and use
of the 'string' module with newer constructs.
(_path_join): New, used now instead of a bunch of copy-and-pasted
string join() statements throughout.
* viewvc-install
Don't use the 'compat' module any more.
Also, so some rearranging of non-critical bits.
* misc/: New directory.
* misc/py2html.py: Moved from 'lib/py2html.py'.
* misc/PyFontify.py: Moved from 'lib/PyFontify.py'.
* misc/elemx/: Moved from 'elemx/'.
* misc/tparse/: Moved from 'tparse/'.
* tools/make-release
Omit 'misc' directory from releases, too.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@2437 8cb11bc2-c004-0410-86c3-e597b4017df7
Make this able to build any branch, not just trunk and tag names.
* notes/releases.txt
Update example of using make-release.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@2128 8cb11bc2-c004-0410-86c3-e597b4017df7
wants to be -- where folks expect to find it -- and be done with it.
* viewvc.org/license-1.html
Moved this...
* LICENSE.html
...to here, and stripped out site branding stuffs...
* viewvc.org/license-1.html
...but re-added a symlink.
* viewvc.org/.htaccess
Add a redirect rule to point license-1.html URLs to the latest
LICENSE.html file.
* tools/make-release
Don't bother copying the LICENSE.html file any more -- it's already
in place.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1597 8cb11bc2-c004-0410-86c3-e597b4017df7
Fix some bugs in this script which prevented the to-be-deleted
directories from actually being deleted.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1586 8cb11bc2-c004-0410-86c3-e597b4017df7
now. Get stuff that's aimed at regular developers off our website,
get the website out of our release tarballs, while letting the docs/
that ViewVC admins need remain in the tarballs.
* docs/
New directory.
* docs/url-reference.html,
* docs/template-authoring-guide.html
Moved these documents, which hardly need to live on our public website, here ...
* viewvc.org/url-reference.html,
* viewvc.org/template-authoring-guide.html
... from here.
* docs/upgrading-howto.html
Move (and renamed, and de-website-ized) this...
* viewvc.org/upgrading.html
... from here.
* notes/
New directory for developer notes.
* notes/releases.txt
New, cored out of the contributing.html file, and greatly updated to
track the reality of our new Subversion-land release process.
* notes/TODO
Move here ...
* TODO
... from here.
* viewvc.org/who.html,
* viewvc.org/license-1.html
Lose references to upgrading.html.
* viewvc.org/contributing.html
Lose references to upgrading.html, and move the release rolling
instructions out to notes/releases.txt.
* tools/make-release
Also delete viewvc.org/ and notes/ from the distribution.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1401 8cb11bc2-c004-0410-86c3-e597b4017df7
Also, no longer include the elemx, tests, tools, tparse, and www
directories in releases.
* tools/make-release
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1313 8cb11bc2-c004-0410-86c3-e597b4017df7
Update the release tool to work with the Subversion repsitory.
* viewcvs.sourceforge.net/contributing.html
Update whole sections of this page (including the part that tells
how to make use of the release tool) with post-migration information.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1162 8cb11bc2-c004-0410-86c3-e597b4017df7
This gives me a chance to finally rename the 'www' directory to
something more in line with other CGI programs I've seen. And while
I'm here, and while we have Subversion, I might as well do many of the
reorgs I've been wanting to do for some time.
* www
Renamed to...
* bin
...this.
* standalone.py,
* tools/make-database,
* tools/svndbadmin,
* tools/loginfo-handler,
* tools/cvsdbadmin
Moved from here...
* bin/standalone.py,
* bin/make-database,
* bin/svndbadmin,
* bin/loginfo-handler,
* bin/cvsdbadmin
...to here.
* viewcvs-install
Update locations of moved files.
* viewcvs.sourceforge.net/upgrading.html
Tweak relevant documentation.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1161 8cb11bc2-c004-0410-86c3-e597b4017df7
path parameters so it is possible to use a single Repository object
to request information about any path at any revision.
Note: I wasn't able to test the svn_ra.get_location function because
I only have subversion 1.2.3.
* lib/vclib/__init__.py
(Repository.itemtype, Repository.openfile, Repository.listdir,
Repository.dirlogs, Repository.itemlog, Repository.annotate):
add rev arguments, update docstrings
* lib/vclib/bincvs/__init__.py
(CVSRepository.itemtype, CVSRepository.listdir, BinCVSRepository.openfile,
BinCVSRepository.dirlogs, BinCVSRepository.itemlog):
same
* lib/vclib/ccvs/__init__.py
(CCVSRepository.dirlogs, CCVSRepository.itemlog):
same
* lib/vclib/svn/__init__.py
(SubversionRepository.__init__):
remove rev argument
(get_location, created_rev, _get_history, get_revision_info, _fetch_log,
_get_last_history_rev, get_logs, do_diff,
SubversionRepository.itemtype, SubversionRepository.openfile,
SubversionRepository.listdir, SubversionRepository.dirlogs,
SubversionRepository.itemlog, SubversionRepository.annotate):
add rev arguments, use new _getrev and _getroot functions to handle
all revision string parsing and revision_root creation
(SubversionRepository._getrev, SubversionRepository._getroot):
new functions
* lib/vclib/svn_ra/__init__.py
(_rev2optrev):
accept integers instead of strings, and eliminate head/unspecified
revision handling which is already taken care of by _getrev
(SubversionRepository.__init__):
remove rev argument
(get_location, created_rev, get_revision_info, get_logs,
SubversionRepository.itemtype, SubversionRepository.openfile,
SubversionRepository.listdir, SubversionRepository.dirlogs,
SubversionRepository.itemlog, SubversionRepository.annotate,
SubversionRepository.rawdiff, SubversionRepository._get_dirents):
add rev arguments, use new _getrev function to handle all revision
string parsing
(SubversionRepository._getrev):
new function
* lib/blame.py
(link_includes):
update call to repos.itemtype
* tools/cvsdbadmin
(RecurseUpdate):
update call to repos.listdir
* lib/viewcvs.py
(Request.run_viewcvs):
update calls to SubversionRepository constructors and _strip_suffix
(_strip_suffix):
add rev parameter, remove redundant where parameter
(_repos_pathtype, view_markup, search_files, _get_diff_path_parts,
generate_tarball):
update calls to vclib methods
(nav_path, view_directory, view_log, setup_diff, download_tarball,
view_revision):
explicitly read 'rev' query param instead of relying on
SubversionRepository.rev, and update vclib calls
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1144 8cb11bc2-c004-0410-86c3-e597b4017df7
repository, which it previously failed to do because of poor change
handling. Also, stop it from Aborting at the end of every run due to
double-freeing of memory.
* viewcvs/tools/svndbadmin
(SvnRepo.__init__): No longer keep self.pool around, and certainly
don't close it on __del__() -- that's what the svn.core.run_app()
wrapper framework is for.
(_get_diff_counts): Just accept a diff file pointer object as input,
and let the caller generate such a thing and pass it in.
(SvnRev.__init__): Make use of the change item's base_path and
base_rev to get accurate locations against which to diff. Update
calls to _get_diff_counts(), and make use of a new revision root
cache.
(SvnRev._get_root_for_rev): New revision root caching helper.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1074 8cb11bc2-c004-0410-86c3-e597b4017df7
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