summaryrefslogtreecommitdiff
path: root/CHANGELOG
diff options
context:
space:
mode:
Diffstat (limited to 'CHANGELOG')
-rw-r--r--CHANGELOG263
1 files changed, 263 insertions, 0 deletions
diff --git a/CHANGELOG b/CHANGELOG
new file mode 100644
index 0000000..f86b1d8
--- /dev/null
+++ b/CHANGELOG
@@ -0,0 +1,263 @@
+2.1
+- lots of fixes to get the thing working sufficienly for cvs2git
+- main features
+ - optionally detect and display ancestor branch information for
+ new detected branches
+ - never allow more than one revision of a file to be in a single
+ patchset (this may disturb the patchset numbers for historical
+ data :-(
+ - use file revisions to help sort, so that initial imports
+ won't be listed as patchset 1, with patchset 2 as the actual
+ creation of the files.
+ - reports log times in localtime (use TZ to override)
+- many downstream patches from Debian, special thanks to Marcus
+ Crafter for maintaining. From the Debian changelog:
+ - patch from Kim Hansen to fix time calculation bug
+ - documentation patch from J. Bruce Fields
+ - directory name handling patch from David Kilzer
+ - others I'm not sure of, I'd happily update the credit here
+
+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.
+
+1.3.3 (why isn't this 1.4 again?)
+- added the 'memory reduction' patch from Baruch Even. This patch
+ greatly reduces the memory footprint of CVSps against a large
+ repository by using dynamically allocated buffers, and by using
+ a tree to hold "common" strings (to avoid having a thousand copies
+ of the string "1.1"). This patch also adds a new option '-t' which
+ displays some memory usage statistics at the top.
+
+- added the 00-strip-revision.patch from Steven Tweedie which fixes
+ a parsing problem when there are locked files in the repository
+
+- added the 'Tweedie Tweenie' patch from Steven Tweedie (01-stable-tree)
+ which fixes a bug where interspersed commits could cause unstable
+ tree behavior. This would happen especially when multiple users commit
+ at the same time to different parts of a large tree over a slow link.
+
+- added the --norc option (based on a suggestion by Soren S. Jorvang)
+ to handle cases where people have bad stuff in their .cvsrc which makes
+ cvsps fail. I could have added the '-f' unconditionally to the command
+ line for cvs when run under cvsps, but somehow that seemed dangerous.
+
+1.3.2 (small feature release)
+- added the 'multi-patchset' feature to the -s option, provided in its
+ entirety by Daiki Ueno <ueno@unixuser.org>
+
+1.3.1 (bugfix release mostly)
+- fix bug with updating cache (-u) having to do with matching new and old
+ revisions
+
+- fix timestamp_fuzz_factor bug where the fuzz was applied to loading
+ from cache by mistake.
+
+- add a spec file (from Jan IVEN <Jan.Iven@cern.ch>)
+
+- improve the parameterization of Makefile, and make things relocatable
+ (from many people, esp. Amitai Schlair <schmonz@schmonz.com>)
+
+- fix strip_path_len calculation (again - I had munged the prior fix)
+ Jeffrey Ebert <ebert@sonicsinc.com>
+
+
+1.3
+- fix case where CVSROOT is initial substring of Repository when
+ creating strip_path variable.
+
+ Thanks to Jean-Michel Rouet <jean-michel.rouet@philips.com> for
+ this fix.
+
+- fix case where a subdirectory has a different CVSROOT or Repository
+ path from the toplevel directory (happens when one project is checked
+ out inside another projects subdirectory).
+
+ Thanks to Philippe M. Chiasson <gozer@cpan.org> for the fix.
+
+
+1.2
+
+- Moved cache file location to CVS/ subdirectory. This is where CVS keeps
+ it's meta-data, and putting the cache there keeps it out of the way of
+ other CVS operations. (thanks to Amitai Schlair for suggestion)
+
+- Added manual page. (thanks to Amitai Schlair for suggestion)
+
+- Fixed the '-b' option to take a special branch name 'TRUNK' which
+ will restrict the output to patchsets made on the main trunk.
+
+
+1.1 Initial public release.
+-------- end of changelog ---------
+