|
2.0rc1
- resolve -r symbols during global symbol resolution
- using two -r arguments implicitly sets -b with branch
from second -r (if you can speak cvsps arguments, you'll
understand this)
- fix using cvsps against sourceforge where the actual
server repository path has many instances of the project
name in it and the 'strstr' was finding the wrong one.
instead use the equiv. of 'strrstr'
2.0b10
- fix bug where filenames with 'bad' characters (such as ' ')
were being sent unescaped to a shell
- add --no-cvs-direct and -Z 0 to disable cvs-direct and compression
- extend the 'fuzz-factor' concept by keeping a min/max date
encountered for each patchset and fuzz on this interval,
rather than fuzzing on the date of the first encountered
member only, helps for handling REALLY slow commits where a
HUGE number of individual files were modified at a slow trickle.
- it turns out that old versions of cvs have two problems
1) they don't support 'rlog' (handled)
2) they don't support 'version', which caused the workaround
for 1) to fail.
Now cvsps detects cvs versions too old to support version and/or
rlog. Additionally, if server is too old, cvs-direct is
simply disabled.
- parse the rc file first so that the command line will override
- add -q to shut-up the warnings
2.0b9
- remove Mbinary from valid-response list - can't handle it
- much more (pedantic?) clean-up/close path in cvs_direct
to fix all of the lost data and hanging problems at close
- added rlog capability to cvs_direct, switched main code
to use it.
- added version capability to cvs_direct, now cvsps is
completely independant of cvs binary for all operations!
- added --root and repository command-line arguments,
now cvsps is completely indepentant of having working
directory!
2.0b8
- fix the cvs_rupdate calls to use the real repository
instead of the mangled use_rep_path. This broke
cvs_direct generation of add/remove diffs
- fix the sed expression to account for the difference
between +++ and --- in the first and second lines.
This broke remove diffs for direct and external.
- attempt to fix a hang-at-flush bug in cvs-direct
compression handling
2.0b7
- implement compression in cvs_direct
- add command line -Z to specify compression level.
applies to cvs-direct and external cvs
- implement 'cvs_diff' in cvs-direct
- use cvs_diff instead of cvs_rdiff because it allows
us to specify all of the lovely diff options
- change system to my_system so ctrl-c will get
through. indirectly, this is necessary because
cvs has loused up the exit codes with the 'cvs diff'
command, making it impossible to determine whether
the program exited abnormally
- add parsing of ~/.cvsps/cvspsrc file at startup
where command line arguments can be listed, one
per line (parameters to arguments on the same line
as the argument). --norc prevents this
2.0b6
- fix bug where if -r was specified along with other
filter options, the other filter options were
applied first, and the start/end tags were
never found.
- change -f from strstr to regex
- change regex to EXTENDED regex
- add the --cvs-direct option
2.0b5
- add a cvs_check_cap for capability checking.
- use cvs_check_cap to check whether rlog is
supported. it's not supported in 1.11 and
before. warn if non-supported version is
detected
- add --no-rcmds to manually disable rlog and rdiff
- add a fix for some bizarre inconsistencies found
in some random repositories, such as tagged
revisions that don't exist.
- remove the adaptive crap filter and bk_log_border
logic now that Larry has cleaned up the exported
BK->CVS trees.
2.0b4
- add the bk_log_border parsing logic to handle the
case where 'cvs log' text was committed into the log
- add 'adaptive crap filter' logic to handle all
of the different corruptions of the cvs log file
- switch to rdiff instead of diff to not require working
files to be checked out. Note: when --diff-opts are
specified, diff must be used (not rdiff) because
rdiff doesn't support options(?!!)
2.0b3
- add the --diff-opts for explicitly setting the diff
options. important for setting increased context for
example.
- use 'cvs rlog' instead of 'cvs log'. important if
there are empty directory pruned with cvs update -P
for getting consistent patchset numbering
- clean up patch_set_affects_branch for handling INVALID
tags and the -r especially around a branch point
- add the bkcvs proof-of-concept hack
2.0b2
- change the way INVALID tags are reported - show the exact
patchsets and revisions that conflict, and don't print
anything for 'funky' tags/revisions
- add psid to the patchset structure and pass through tree
once just to assign the numbers. this allows reporting
psid when problems are found (above)
- more code restructuring - move stats to own module
- commenting cleanups
- include the very rudimentary merge_utils.sh functions
I use to assist merging stuff
- change the way diffs are generated, handle individual
members that are before/after the -r tag restrictions
- change the semantics of the -s argument. it now only
restricts the patch sets the same as the other filtration
arguments. new argument -g turns on diff generation
- add manpage section discussing tag handling semantics
2.0b1
- major restructuring of source code. single cvsps.c split into
a few modules
- major rework of the data structures in order to support the most
frequently requested, and most desired feature: -r. cvsps
can now associated symbolic tags with specific patchsets,
branches are now associated with the patchset instead of
the individual revision. you can view patchsets committed
after a given symbolic tag, or between two tags.
- changed the handling of same author, same log message commits
on different branches. this now creates multiple patchsets
- changed the handling of 'file xyz initially added on branch xyz'
log messages, they now create hidden patchsets.
- these last two items have made the patchset numbering scheme
incompatible with the old scheme. patchsets are going
to change numbers.
1.99.1 (not released)
- redid the data structures a bit to 'normalize' the references to
a file revision. this allows the program to detect the case
when a file is added on a branch, and generate the right output
for 'cvsps -s' in this case (frequent bug report)
- added the '-l' option to restrict patchsets based on log descr
content. (patch from Geoff Soutter). added man page for it.
- added the --summary-first option suggested by Andi Kleen to
have the PatchSet summary information for all patchsets at
the head of the output, when multiple patchsets are given
to the -s option.
- added the all: target to Makefile. (patch from Ben Elliston)
- use a single centralized cvsps.cache file per root/repository
this obviates the need to 'cvsps -u' in multiple checked out
trees of the same repository (patch adopted from Baruch Even)
- change the magic name TRUNK (for -b option) to HEAD to be
consistent with cvs. (patch from Henrik Nordstrom)
- when parsing 'cvs log' output, look for the exact strings
that separate the log entries and the files, instead of
just the first 8 characters. this allows a wider variety
of stuff to be in the log format (including actual patchsets).
Inspired by Andy Isaacson.
- added the -p option allowing patchset output to go into
individual files in a named directory. Based on a patch
by Henrik Nordstrom. This is a great idea. Thanks Henrik.
|