2000-11-07 Tuesday 15:27  Karl Fogel <kfogel@red-bean.com>

	* get-rev.cgi (2.3): Remove tmp file.  

2000-11-07 Tuesday 15:22  Karl Fogel <kfogel@red-bean.com>

	* get-rev.cgi (2.2): work 

2000-11-07 Tuesday 15:14  Karl Fogel <kfogel@red-bean.com>

	* get-rev.cgi (2.1): script for checking out a specific revision 

2000-11-07 Tuesday 14:43  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.30): Update home page url.  

2000-11-07 Tuesday 14:16  Karl Fogel <kfogel@red-bean.com>

	* Makefile (1.7): Doc fix.  

2000-11-07 Tuesday 13:17  Karl Fogel <kfogel@red-bean.com>

	* index.html (1.4): Fix links to sample ChangeLogs.  

2000-11-07 Tuesday 13:15  Karl Fogel <kfogel@red-bean.com>

	* index.html (1.3): fix image link 

2000-11-07 Tuesday 13:14  Karl Fogel <kfogel@red-bean.com>

	* changelogs.html (1.2), index.html (1.2): White backgrounds.  

2000-11-07 Tuesday 13:13  Karl Fogel <kfogel@red-bean.com>

	* .cvsignore (1.2), Makefile (1.6), changelogs.html (1.1),
	index.html (1.1), make-samples.sh (1.1): Moving cvs2cl home page
	out of kfogel and into generic repository; make web stuff live
	directly and statically here too.  

2000-09-06 Wednesday 11:57  Karl Fogel <kfogel@red-bean.com>

	* Makefile (1.5), cvs2cl.pl (2.29), tests/out-4a.txt (1.5),
	tests/out-4b.txt (1.5), tests/out-5b.txt (1.2): Okay, *really* make
	`-S' and `--fsf' cooperate this time.  
	Tests adjusted accordingly.  

2000-09-05 Tuesday 23:42  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.28), tests/Makefile (1.7), tests/out-4a.txt (1.4),
	tests/out-4b.txt (1.4), tests/out-5b.txt (1.1): Handle the case
	where both `-S' and `--fsf' were passed.  Added test for same.  

2000-09-05 Tuesday 18:13  Karl Fogel <kfogel@red-bean.com>

	* tests/: .cvsignore (1.1), Makefile (1.6), log-5.txt (1.1),
	out-1a.txt (1.2), out-1a.xml (1.3), out-2a.xml (1.3), out-3a.txt
	(1.2), out-3b.txt (1.2), out-4a.txt (1.3), out-4b.txt (1.3),
	out-4c.txt (1.3), out-5a.txt (1.1): Change all tests and outputs to
	UTC (at Ian Robertson's suggestion).  
	
	(test-5): yet another test of the `--fsf' option.  This log was
	known to cause problems before recent fixes.  

2000-09-05 Tuesday 18:00  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.27): 
	(derive_change_log): oops, compensate for After_Header setting
	outside all loops.  

2000-09-05 Tuesday 17:35  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.26): 
	(derive_change_log): compensate for After_Header setting.  

2000-09-05 Tuesday 16:16  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.25): Incorporate new custom FSF-style wrapping into
	derive_change_log().  

2000-09-05 Tuesday 15:50  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.24): 
	(wrap_log_entry): done.  Works perfectly now.  

2000-09-05 Tuesday 14:27  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.23): 
	(wrap_log_entry): rewritten following the shower inspiration.  
	Almost perfect now.  

2000-09-04 Monday 20:20  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.22): Revert everything having to do with custom
	wrapping.  

2000-09-04 Monday 20:19  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.21): More work on custom wrap, but doesn't actually
	work yet.  

2000-09-04 Monday 18:52  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.20): Temporarily revert, to continue working on
	custom wrapping.  

2000-09-04 Monday 18:51  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.19): Custom wrapping in progress (committing for
	archival purposes only).  

2000-08-29 Tuesday 17:50  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.18): Much better explanatory comment about
	FSF-style.  

2000-08-29 Tuesday 17:31  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.17), tests/Makefile (1.5), tests/log-4.txt (1.2),
	tests/out-4a.txt (1.2), tests/out-4b.txt (1.2), tests/out-4c.txt
	(1.2): Added --fsf option, conditionally handle all of FSF
	ChangeLog style: 
	
	* cvs2cl.pl ($FSF_Style): new var.  
	(parse_options): set above new var if --fsf flag seen.  
	(pretty_msg_text, derive_change_log): respectively add and remove 
	shims, but only if $FSF_Style.  
	
	* Makefile: don't forget to run test-4, duh.  
	(test-4): add new --fsf option, and also add -S for looks.  
	
	* log-4.txt: added a real barn-burner of a log entry from JimB.  
	* out-4a.txt, out-4c.txt, out-4c.txt: adjusted for new data.  

2000-08-28 Monday 19:49  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.16): Doc fix.  

2000-08-28 Monday 19:42  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.15), tests/Makefile (1.4), tests/log-4.txt (1.1),
	tests/out-4a.txt (1.1), tests/out-4b.txt (1.1), tests/out-4c.txt
	(1.1): Added heuristics for standard the paren-grouping convention
	used in log entries, and tests for same: 
	
	(pretty_msg_text): add an extra newline before the paren group, to 
	prevent wrapping.  
	(derive_change_log): remove the extra newline, after the wrap()
	call.  

2000-08-21 Monday 23:13  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.14): Note about fixing standard syntax.  

2000-08-21 Monday 13:39  Karl Fogel <kfogel@red-bean.com>

	* Makefile (1.4): Added `install' rule.  

2000-08-16 Wednesday 10:27  Karl Fogel <kfogel@red-bean.com>

	* Makefile (1.3): Tell the truth.  

2000-08-16 Wednesday 10:26  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.13): 
	(pretty_file_list): init $common_dir to undef; adjust later 
	conditionals to distinguish undef value from "", the latter meaning 
	that no common directory prefix is possible.  
	This fixes the bug with filenames and directory prefixes reported by 
	Shlomo Reinstein <shlomo.reinstein@intel.com>.  

2000-08-16 Wednesday 10:22  Karl Fogel <kfogel@red-bean.com>

	* tests/: Makefile (1.3), log-3.txt (1.1), out-3a.txt (1.1),
	out-3b.txt (1.1): Added tests from Shlomo Reinstein's log.  

2000-08-14 Monday 10:59  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.12): Handle even the [allegedly impossible] case of
	an undefined dir prefix.  

2000-08-14 Monday 10:52  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.11): Be more careful about setting $common_dir.  
	This hopefully fixes a two-char eats problem reported by Shlomo 
	Reinstein <shlomo.reinstein@intel.com>; Shlomo's patch is included
	in a comment (search for "shlomo") for reference, in case this
	doesn't work.  Only Shlomo can test right now, although if this
	doesn't work I'll just ask him for his log info.  

2000-07-07 Friday 14:12  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.10), tests/out-1a.xml (1.2), tests/out-2a.xml (1.2): 
	Set an XML namespace if --xml.  

2000-07-07 Friday 11:20  Karl Fogel <kfogel@red-bean.com>

	* tests/log-2.txt (1.2): revert to Olivier's exact version 

2000-07-07 Friday 10:00  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.9), tests/Makefile (1.2), tests/log-2.txt (1.1),
	tests/out-2a.xml (1.1): Fix branch-number bug reported by Olivier
	Vit <ovit@reef.com>.  
	I think this fix compensates for some hand-created weirdness in his 
	RCS files -- for example, the symbolic-names list in his log (see 
	tests/log-2.txt) was prefixed with spaces instead of tab, and there 
	was a branch number of the form 1.7.2 instead of 1.7.0.2.  
	Nevertheless, it is possible to compensate for these things without 
	impairing the rest of cvs2cl.pl, and who knows, others may have 
	similar things going on in their repositories.  

2000-07-04 Tuesday 14:19  Karl Fogel <kfogel@red-bean.com>

	* Makefile (1.2): wording tweak 

2000-07-04 Tuesday 14:18  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.8): More branch-number parsing fixes, this time from
	Ken Olstad <kolstad@netperceptions.com>.  

2000-07-04 Tuesday 14:06  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.7): Ignore comment lines and lines without colons in
	usermap file (bug report and patch from Eric Maryniak
	<e.maryniak@pobox.com>).  

2000-07-04 Tuesday 14:00  Karl Fogel <kfogel@red-bean.com>

	* Makefile (1.1): Run tests from here too.  

2000-07-04 Tuesday 13:56  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.6): Checked in fix from Mike Stead <mstead@reef.com>
	for overeager digit-matching in branch/rev calculations.  
	(Note: also reported by Olivier Vit <ovit@reef.com>).  

2000-07-04 Tuesday 13:51  Karl Fogel <kfogel@red-bean.com>

	* tests/: Makefile (1.1), log-1.txt (1.1), out-1a.txt (1.1),
	out-1a.xml (1.1): started test suite 

2000-06-28 Wednesday 15:15  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.5): Applied Ying Zhang <ying@zippydesign.com>'s
	patch adding the "--hide-filenames" option.  

2000-04-19 Wednesday 13:06  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.4): Do xml-escaping on author once only, in outer
	loop not inner, to avoid compounded escaping.  (Thanks to Peter
	Karlsson <peter@opera.no> for the bug report.) 

2000-01-28 Friday 00:02  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.3): Applied directory separator fix from David
	Goldfarb <deg@2am.com>.  

2000-01-25 Tuesday 10:10  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.2): Added --no-wrap option.  
	Also, stop wrapping log message body when XML output.  

2000-01-04 Tuesday 17:33  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.1): Downcase all XML tags (DTD to be formalized
	soon).  

1999-12-31 Friday 12:11  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (2.0): bump version to 2.0 

1999-12-31 Friday 12:01  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.175): Removed "BETA" designation.  

1999-12-29 Wednesday 11:19  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.174): Applied fix from Melissa O'Neill
	<oneill@cs.sfu.ca>.  She correctly fixed the
	entry-order/time-unification bug, as opposed to my previous fix,
	which merey broke things in a different way.  

1999-12-28 Tuesday 22:09  Karl Fogel <kfogel@red-bean.com>

	* TODO (1.16), cvs2cl.pl (1.173): Finally fixed the
	entry-order/time-unification bug! 
	It was due to over-liberality about nearby commit times during the 
	hash twist phase, which was probably the wrong time to notice such 
	things anyway -- better to catch them during the qunk-storing phase, 
	by comparing both commit time and message contents.  This is what we 
	now do.  

1999-12-28 Tuesday 09:41  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.172): Print XML meta header first, and enclose
	everything in <CHANGELOG>...</CHANGELOG> to avoid illegal
	multirootedness, all on the advice of Ramon Felciano
	<felciano@ingenuity.com>.  

1999-12-28 Tuesday 09:36  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.171): 
	(pretty_file_list): unify XML-related code, for readability.  

1999-12-27 Monday 18:34  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.170): Tweak usage.  

1999-12-27 Monday 18:31  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.169): Add note to usage message, regarding
	promiscuity of --xml option.  

1999-12-27 Monday 18:26  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.168): If doing XML output, then include day of week
	unconditionally.  

1999-12-27 Monday 18:17  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.167): Finished XML output ("--xml" option),
	suggested by Ramon Felciano <felciano@ingenuity.com>.  

1999-12-23 Thursday 19:29  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.166): progress on --xml output, though still not
	complete 

1999-12-23 Thursday 19:05  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.165): started implementing --xml output; not done
	yet! 

1999-12-18 Saturday 00:39  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.164): added --easy-parse-format option 

1999-12-17 Friday 23:49  Karl Fogel <kfogel@red-bean.com>

	* TODO (1.15), cvs2cl.pl (1.163): fixed tag unification bug 

1999-12-17 Friday 23:23  Karl Fogel <kfogel@red-bean.com>

	* TODO (1.14): record useful debugging command 

1999-12-17 Friday 23:17  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.162): more output format description 

1999-12-17 Friday 23:09  Karl Fogel <kfogel@red-bean.com>

	* TODO (1.13): noticed new bug 

1999-12-17 Friday 23:08  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.161): Added -C, --case-insensitive option
	(suggestion from Todd Denniston <Todd.Denniston@ssa.crane.navy.mil>) 

1999-12-17 Friday 22:21  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.160): added informal format description 

1999-12-10 Friday 12:44  Karl Fogel <kfogel@red-bean.com>

	* TODO (1.12): reprioritize 

1999-12-06 Monday 21:55  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.159): Transmogrify Windows filenames to Unix-style.  
	Fix due to Frank Stockinger <F.Stockinger@plettac-electronics.de>, 
	who noticed the problem because he runs cvs2cl.pl with ActiveState 
	Perl under Windows NT.  

1999-12-06 Monday 21:51  Karl Fogel <kfogel@red-bean.com>

	* a-subdir/: foo.txt, test.txt (Brancho_Gratuito.[3,4]): just a
	test change 

1999-12-06 Monday 21:39  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.158): fix typo: it's --follow, not --follow-branch 
	Thanks to G. Paul Ziemba <paul@mayannetworks.com> for reporting
	this.  

1999-11-09 Tuesday 15:45  Karl Fogel <kfogel@red-bean.com>

	* TODO (1.11): Entered reproduction recipe (log data) for entry
	order bug.  

1999-11-06 Saturday 21:50  Karl Fogel <kfogel@red-bean.com>

	* TODO (1.10): Removed all of Doug Finkle's recent bugs.  Now
	that's what I call a good night! 

1999-11-06 Saturday 21:22  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.157): More robust option parsing: exit with error if
	a required argument is absent.  

1999-11-06 Saturday 21:09  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.156): Handle "-F trunk" (also "-F TRUNK") with a
	special case, thus giving a way to follow the trunk alone, ignoring
	any branches.  
	This is okay because no would ever, ever be crazy enough to name a 
	branch "trunk", right?  Right.  

1999-11-06 Saturday 20:40  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.155): Fixed Doug Finkle's bug where by spurious
	branch information would appear in his ChangeLog entries.  However,
	the cure is (unavoidably) only slightly preferable to the disease. 
	Read on...  
	Suppose we see a log entry like this: 
	---------------------------- revision 1.1 date: 1999/10/17 [etc etc] 
	branches:  1.1.2; Log message begins here.  
	---------------------------- 
	The question is, how we can tell the difference between that log 
	message and a *two*-line log message whose first line is 
	"branches:  1.1.2;" 
	See the problem?  The output of "cvs log" is inherently ambiguous.
	For now, we punt: we liberally assume that people don't write log
	messages like that, and just toss a "branches:" line if we see it
	but are not showing branches.  I hope no one ever loses real log
	data because of this.  Sigh.  

1999-11-06 Saturday 20:17  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.154): Fix bug in which the file separators
	terminating files with no revisions (from "cvs -d DATE" output, for
	example) were not noticed.  

1999-11-03 Wednesday 09:59  Karl Fogel <kfogel@red-bean.com>

	* TODO (1.9): more stuff from Doug Finkle 

1999-09-27 Monday 10:34  Karl Fogel <kfogel@red-bean.com>

	* TODO (1.8): added Doug's bugs 

1999-09-20 Monday 02:04  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.153): Bug fix from Marcin Kasperski
	
	<Marcin.Kasperski@softax.com.pl>: 
	If $common_dir is "./", then just set it to "".  This fixes the 
	occasional two-char-eats problem.  

1999-09-19 Sunday 23:04  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.152): simplified common_dir code, a couple of other
	things 

1999-09-19 Sunday 15:04  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.151): consistency in usage message 

1999-09-19 Sunday 02:03  Karl Fogel <kfogel@red-bean.com>

	* TODO (1.7): removed old items 

1999-09-19 Sunday 01:58  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.150): Added --gmt/--utc and -w/--day-of-week
	options.  

1999-09-19 Sunday 01:29  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.149): Common dir prefix unification done.  

1999-09-19 Sunday 00:33  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.148): commit with 'Speedy' code in, for kicks; will
	revert immediately 

1999-09-18 Saturday 00:16  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.147): abstracted out common dir detection, but still
	punting 

1999-09-18 Saturday 00:05  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.146): fixed undefined hash reference bug 

1999-09-17 Friday 23:30  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.145): small reformatting of usage 

1999-09-16 Thursday 11:01  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.144): Fix usage bug, rearrange usage 

1999-09-15 Wednesday 23:05  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.143): format usage more clearly 

1999-09-15 Wednesday 23:00  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.142): oops, fix typo from last change 

1999-09-15 Wednesday 22:59  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.141): no more default header -- only print header on
	request 

1999-09-15 Wednesday 22:34  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.140): mark as beta 

1999-09-15 Wednesday 22:31  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.139): use scalar instead of $# 

1999-09-15 Wednesday 22:20  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.138): document new stuff 

1999-09-15 Wednesday 21:59  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.137): -F / --follow-branches working 

1999-09-15 Wednesday 21:43  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.136): Branch-following detection code working.  
	Has no effect yet -- the conditionals are all there, but their 
	consequents are empty.  

1999-09-14 Tuesday 15:00  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.135): reverted previous non-working change -- it was
	just for storage 

1999-09-14 Tuesday 15:00  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.134): progress on Follow_Branches 

1999-09-13 Monday 22:53  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.133): continuing implementation of Follow_Branches 

1999-09-13 Monday 22:40  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.132): oops, don't clear overenthusiastically 

1999-09-13 Monday 22:38  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.131): fixed single-file bug, started implementing
	Follow_Branches 

1999-09-13 Monday 20:36  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.130): Accurify comments.  

1999-09-13 Monday 20:35  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.129): Unify common directories.  

1999-09-13 Monday 20:04  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.128): Unify tags even when branches are present.  

1999-09-13 Monday 19:22  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.127): Use hashes instead of lists in
	pretty_file_list(), for efficiency.  

1999-09-13 Monday 10:11  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.126): added todo comment 

1999-09-13 Monday 01:58  Karl Fogel <kfogel@red-bean.com>

	* TODO (1.6): updated 

1999-09-13 Monday 01:36  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.125): implemented -I / --ignore option 

1999-09-13 Monday 01:16  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.124): fixed another buglet 

1999-09-13 Monday 01:14  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.123): fixed some buglets 

1999-09-13 Monday 00:59  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.122): fix regexp gate to behave in the expected way,
	finally! 

1999-09-13 Monday 00:49  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.121): New unifying/summarizing output format.  
	Needs testing, though.  
	Branch roots are still recorded, but are not included in the new 
	output format.  Should ask if there's any demand for them, as
	they're probably not critical to most people.  

1999-09-12 Sunday 23:54  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.120): revert previous interim revision 

1999-09-12 Sunday 23:53  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.119): interim revision, toward new release; will
	revert 

1999-09-12 Sunday 22:58  Karl Fogel <kfogel@red-bean.com>

	* TODO (1.5): added request from Doug Finkle 

1999-09-12 Sunday 21:16  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.118): mild comment changes 

1999-07-29 Thursday 22:56  Karl Fogel <kfogel@red-bean.com>

	* TODO (1.4): new items 

1999-07-29 Thursday 22:19  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.117): tweak usage 

1999-07-29 Thursday 22:18  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.116): Added -W / --window option to control
	$Max_Checkin_Duration (the window of time within which log entries
	get unified).  

1999-07-29 Thursday 22:08  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.115): Dear cvs2cl users, 
	Okay, okay, you win. :-) I have added an option to expand usernames
	to email addresses, from a user-supplied map file.  The map file's
	format is the same as CVSROOT/users in the repository (see the
	Cederqvist), and in fact you might want to actually use that file,
	because I still do plan to add an option to "cvs log" to expand
	directly in the log output based on that file.  In an ideal world,
	cvs2cl would not depend on a local copy of that file, but I realize
	we do not live in an ideal world.  
	The option is -U / --usermap.  

1999-07-25 Sunday 02:09  Karl Fogel <kfogel@red-bean.com>

	* TODO (1.3): add item about cumulative updates 

1999-07-25 Sunday 02:04  Karl Fogel <kfogel@red-bean.com>

	* TODO (1.2): clarify 

1999-07-25 Sunday 01:38  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.114): really, truly fix leading .// problem 

1999-07-25 Sunday 01:30  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.113): really fix leading .// problem 

1999-07-25 Sunday 01:23  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.112): fix leading .// problem 

1999-07-25 Sunday 00:45  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.111): Finished partial reversion to 1.107.  
	Thus, the difference from 1.107 to now is that unless revisions were 
	specified, branches will be shown as Branch_Name, not Branch_Name.N.  
	This change is from Avi Kivity <Avi@avionitek.com>, whose patch also 
	included the interesting feature of listing the branch only once for 
	all the files on that branch in that commit.  See the log message 
	1.108 for why I haven't yet permanently incorporated that part of
	his patch.  

1999-07-25 Sunday 00:40  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.110): partial reversion to 1.107; see log message at
	1.108 for reasons 

1999-07-25 Sunday 00:38  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.109): fixed buglet in regexp, before partial
	reversion of previous change 

1999-07-25 Sunday 00:36  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.108): Merged in all of Avi Kivity
	<Avi@avionitek.com>'s patch to unify branch listings if revisions
	and tags aren't being included.  
	Will revert part of this change immediately.  I'm not sure the whole 
	thing should be done yet, because in the new output, it's impossible 
	to distinguish between N files with the same log message in the same 
	commit on the same branch, and N files with the same log message on 
	the same commit but with only the last file on the branch.  So far, 
	the output of cvs2cl has always been unambiguous; if that's going to 
	change, it should at least be by request (i.e., by option) only.  
	However, Avi is totally right about branches being displayed as 
	Branch_Name, not Branch_Name.N, when revisions were not requested.  

1999-07-23 Friday 11:37  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.107): handle empty ChangeLog headers gracefully 

1999-07-23 Friday 03:06  Karl Fogel <kfogel@red-bean.com>

	* TODO (1.1): My stack is so high I actually need to write it down.  
	Sigh.  

1999-07-16 Friday 23:09  Karl Fogel <kfogel@red-bean.com>

	* a-subdir/: foo.txt (tags: FISHTAG), test.txt, subsubdir/test.txt
	(Brancho_Gratuito.[2,3,2]): change piles upon change 

1999-07-16 Friday 23:05  Karl Fogel <kfogel@red-bean.com>

	* a-subdir/test.txt (Brancho_Gratuito.2): new change 

1999-07-16 Friday 23:05  Karl Fogel <kfogel@red-bean.com>

	* a-subdir/: foo.txt, test.txt, subsubdir/test.txt
	(Brancho_Gratuito.[1,1,1]): change them on the branch 

1999-07-16 Friday 23:04  Karl Fogel <kfogel@red-bean.com>

	* a-subdir/foo.txt (1.2): meaningless change 

1999-07-16 Friday 23:03  Karl Fogel <kfogel@red-bean.com>

	* a-subdir/foo.txt (1.1): a truly pointless file -- exploring
	branches 

1999-07-16 Friday 11:09  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.106): note stdin behavior of --header 

1999-07-16 Friday 10:04  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.105): Change from Avi Kivity <Avi@avionitek.com>: 
	Offer new "--header" option to control ChangeLog header (patch 
	rewritten slightly to use slurp_file(), in anticipation of future 
	need).  

1999-07-01 Thursday 10:58  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.104): Only compile $Regexp_Gate once.  

1999-07-01 Thursday 10:56  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.103): Match against author too when doing
	-R/--regexp 

1999-06-15 Tuesday 23:09  Karl Fogel <kfogel@red-bean.com>

	* mywrap.pl (1.2): skeleton 

1999-06-15 Tuesday 19:36  Karl Fogel <kfogel@red-bean.com>

	* mywrap.pl (1.1): initial import 

1999-05-26 Wednesday 00:01  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.102): Added long note about wrap() bug at end 

1999-05-25 Tuesday 23:17  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.101): improved previous improvement 

1999-05-25 Tuesday 22:16  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.100): Improve output by improving decisions about
	which newlines to strip off: now leaves alone indented and lines
	beginning with a mail-quote character (">").  

1999-05-22 Saturday 21:31  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.99): expand comment 

1999-05-21 Friday 22:19  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.98): trivial change to bump version number for PAUSE 

1999-05-21 Friday 17:34  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.97): categorize in Version_Control/CVS 

1999-05-21 Friday 14:16  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.96): test regexp against the whole entry, not just
	msg_txt 

1999-05-21 Friday 14:00  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.95): Treat non-options as filename arguments for
	'cvs log' 

1999-05-21 Friday 12:59  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.94): update PAUSE info 

1999-05-21 Friday 00:15  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.93): Fixed yet another bug in branch root tracing,
	by tweaking a regexp again.  
	Added the -R / --regexp feature.  
	(The bugfix is unrelated to the new feature.) 

1999-05-20 Thursday 15:45  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.92): Accept -P for --prune, like CVS 

1999-05-20 Thursday 01:54  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.91): Fixed some regular expressions.  This takes
	care of the branch-tracing bug reported by John Cavanaugh
	<cavanaug@sr.hp.com>.  

1999-05-19 Wednesday 15:36  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.90): mention perl-indent-level after all 

1999-05-19 Wednesday 15:17  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.89): Change from William A. Hoffman
	
	<hoffman@crd.ge.com>: 
	Invoke perl in a path-independent manner (subtitled: "Karl learns 
	about the -x option to Perl and is appropriately awed").  

1999-05-19 Wednesday 14:58  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.88): Patch from Johannes Stezenbach
	
	<johannes.stezenbach@propack-data.de>: 
	Handle the possibility that no revisions are shown for a given file 
	(this can happen with "cvs log -d<DATE>", for example).  

1999-05-12 Wednesday 23:43  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.87): make -b useful even without -r 

1999-05-12 Wednesday 23:12  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.86): if showing branches, show latest ancestor as
	such 

1999-05-12 Wednesday 21:58  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.85): removed debugging statements; better comment 

1999-05-12 Wednesday 21:52  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.84): Added -b / --branches option.  
	This implements John Cavanaugh <cavanaug@sr.hp.com>'s suggestion to 
	substitute branch names into revision numbers where possible.  

1999-05-12 Wednesday 16:29  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.83): fixed; undid previous reversion 

1999-05-12 Wednesday 16:12  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.82): reverted to 1.79 to debug problems in previous
	two revisions 

1999-05-12 Wednesday 16:10  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.81): clean but broken; will revert to 1.79 and
	incrementally return to this 

1999-05-12 Wednesday 15:37  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.80): Avoid using `if' and `unless' in postfix style.  
	Plus a few other minor cleanups.  

1999-05-12 Wednesday 15:21  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.79): perfectify comment 

1999-05-12 Wednesday 15:18  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.78): Changes from Melissa O'Neill
	
	<oneill@cs.sfu.ca>: 
	Use "defined $foo" instead of "$foo", to protect against files name 
	"0" and such.  
	Don't even hint at ignoring "revision" lines anymore (even though 
	ignoring was happening after the revision had already been grabbed).  
	Remember to skip to next line once revision is grabbed, and clear
	out the $revision variable after the loop.  
	Removed unnecessary curly braces.  

1999-04-19 Monday 01:14  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.77): Changes from Melissa O'Neill
	
	<oneill@cs.sfu.ca>: 
	Use \d instead of 0-9 in regexps.  Don't use double-quotes where not
	necessary.  

1999-04-13 Tuesday 17:29  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.76): Match exact length of $file_separator and
	$log_separator, thus avoiding identical-prefix-bugs like the
	
	following: 
	
	==============================================================================
	or perhaps 
	----------------------------- 
	See?  Both of those had one extra "=" or "-" than an actual
	separators do.  So if this is all one log entry, then the bug is
	fixed.  

1999-04-13 Tuesday 16:26  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.75): comment accurification 

1999-04-13 Tuesday 09:33  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.74): removed BETA designation 

1999-04-13 Tuesday 09:30  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.73): Change from Avi Kivity <Avi@avionitek.com>: 
	Be liberal about matching symbolic names -- just take anything 
	preceding the colon.  Enforcing restrictions on tag names is CVS's 
	responsibility, not ours.  

1999-04-10 Saturday 00:35  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.72): Made POD documentation, for the Perl Scripts
	Archive 

1999-04-09 Friday 11:09  Karl Fogel <kfogel@red-bean.com>

	* README (1.3): Reverted previous change, which was only made to
	test public CVS access anyway.  

1999-04-09 Friday 10:53  melissa

	* README (1.2): Trivial change (about to be reverted).  
	This is not Melissa, this is really Karl.  I'm just testing the new 
	`pubcvs' system, with melissa as the first user.  

1999-04-08 Thursday 20:22  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.71): Oops, fixed previous fix to implementation of
	"-t" / "--tags".  Now remembers to clear out %symbolic_names after
	use.  

1999-04-08 Thursday 19:15  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.70): Fixed implementation of "-t" / "--tags": now
	correctly handles multiple symbolic names on the same revision
	number.  
	Thanks, Melissa, for the autovivication lesson.  

1999-04-08 Thursday 18:54  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.69, spuriousduplicatetag5, spurious_duplicate_tag_4,
	spurious-duplicate-tag-3, spurious-duplicate-tag-2,
	spurious-duplicate-tag-1): Use "$VERSION" instead of "$Version",
	for compatibility with the Perl Scripts Archive, to which this will
	soon be submitted.  

1999-04-08 Thursday 16:54  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.68, post-tag-name-changes): Implemented "-t" /
	"--tags" option.  

1999-04-08 Thursday 14:14  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.67, pre-tag-name-changes): Changed "Insure" to
	"Ensure" in comment.  
	From: "Melissa O'Neill" <oneill@cs.sfu.ca> Subject: English Usage
	and Future Features To: Karl Fogel <kfogel@red-bean.com> Date: Thu, 
	8 Apr 1999 11:14:23 -0700 
	You wrote: > Okay, it's out; I just sent an announcement to
	info-cvs.  > > Thanks for all the patches; I've pretty much kept my
	grubby little > paws off them and applied them as they were (see
	ChangeLog for > details).  > > In fact, I think the only change I
	reverted was the spelling fix > "Insure" --> "Ensure".  :-) These
	seem to be synonymous in common > usage and are also the same (in
	this sense) according to the > OED... which is only an authority
	insofar as it reflects usage > accurately, I guess, but I trust them
	to have done their research > anyway.  Believe it or not, this exact
	question, involving these two > words used in the same sense, came
	up in a paper I was editing > recently.  
	I'd recommend you check out Lyn Dupre's _BUGS in Writing_. This is
	an excellent book, aimed pretty squarely at Computer Science folks
	writing papers (although much more widely applicable). It's funny,
	and very readable, and has been very well received.  
	Segment 45, ``Ensure, Assure, Insure'' covers this very issue. Lyn
	writes 
	The terms ensure, assure and insure have notably different
	denotations.  To avoid embarrassment, you should distinguish among
	them.  
	You should use ensure to mean to make sure of a state of affairs or
	to guarantee that an event occurs.  
	BAD:	Jim was careful to insure that the project went smoothly.  
	GOOD:	Carol was careful to ensure that the party went smoothly.  
	BAD:	Using this software will assure that you pay your taxes on
	time.  GOOD:	Using this software will ensure that you pay your rent
	on time.  
	You should use insure to mean to take insurance out on 
	BAD:	I need to ensure my car before I drive it GOOD:	I need to
	insure my car before I drive it 
	BAD:	Max was disappointed to discover that assuring his hard-disk 
	had not protected the company against an earthquake-induced crash.  
	GOOD:	Max was delighted to find that he had insured his laptop 
	computer before it was stolen.  
	You should use assure to mean  give assurance or reassure.  
	BAD:	To ensure yourself that all is well, turn on the lights and 
	check under the bed.  GOOD:	To assure yourself that the proof is
	correct, you should take the time to work through it.  GOOD:	To
	insure yourself, call a reliable company such as Lloyds of London.  
	SPLENDID:	Rest assured that I have insured your home to ensure your
	peace of mind.  SPLENDID:	Before I can insure your business, you
	must assure me that you can ensure that your programmers do careful
	quality assurance.  
	I quoted (slightly cut down) a chunk of the book, not so much to
	show this particular point, but more to give you a taste of Lyn's
	book.  Ever since it was recommended to me by a reviewer of one of
	my papers (Chris Okasaki), I've been recommending it to just about
	everyone.  
	Of course, you can find out answers to matters of English style on
	the Web for nothing, but it's not nearly as fun as Lyn's book. Some
	other resources would be: 
	The Guide to Grammar and Style by Jack Lynch
	<http://http://newark.rutgers.edu/~jlynch/Writing/index.html>
	
	writes: 
	Assure, Ensure, Insure.  
	While ensure and insure aren't quite so clear cut, assure is very 
	different from both. You assure a person that things will go right
	by making him confident. Never use assure in the sense of "Assure
	that the wording is correct"; you can only assure somebody that it's 
	correct.  
	Ensure and insure are sometimes used interchangeably, but it may be 
	better to keep them separate. Insuring is the business of an
	insurance company, i.e., setting aside resources in case of a loss.
	Ensure means make sure, as in "Ensure that this is done by Monday." 
	The Curmudgeon's Stylebook <http://www.theslot.com/part1.html>
	covers similar ground: 
	ASSURE, ENSURE, INSURE 
	The words are close in meaning, but they're not interchangeable.  
	Ensure is usually the correct word; it means to make sure: Before 
	starting the car, I ensure the baby is buckled in. Assure doesn't 
	work that way; you assure another person of something: After 
	ensuring the baby was buckled in, I assured her mother things were
	fine. One meaning of insure is to ensure, but better publications
	use the word only in references to the business of insurance: Even
	if the baby isn't buckled in, her life is insured for $100,000.  
	Paul Brians' Common Errors in English
	<http://www.wsu.edu:8080/~brians/errors/> is another good resource,
	which states: 
	ASSURE/ENSURE/INSURE 
	To "assure" a person of something is to make him or her confident of
	it. According to Associated Press style, to "ensure" that something
	happens is to make certain that it does, and to "insure" is to issue
	an insurance policy. Other authorities, however, consider "ensure"
	and "insure" interchangeable. To please conservatives, make the
	distinction. However, it is worth noting that in older usage these
	spellings were not clearly distinguished.  
	European "life assurance" companies take the position that all 
	policy-holders are mortal and someone will definitely collect, thus
	assuring heirs of some income. American companies tend to go with
	"insurance" for coverage of life as well as of fire, theft, etc.  
	All of these sites are good resources for settling questions about
	English usage, as are the FAQs posted to alt.usage.english.  
	> It may just be a British vs. American spelling difference, now
	that I > think about it.  Do you use British normally? 
	The only significant difference between UK and US usage here is that 
	Brits talk about `life assurance' (because you're going to die, one 
	day), and Americans talk about `life insurance' (because no one
	really wants to believe they're mortal).  
	An an Englishwoman living in Canada, my spelling is annoyingly
	midatlantic.  I've always (even in England) initialized arrays,
	rather than initialised them, but I use coloured pens rather than
	colored ones.  But most of my professional writing is for US
	publications, so I have to adopt US conventions most of the time.  
	>> - Spotting when a log message is applied to every file in the
	distribution.  > > Ahh... so we could use a special string "all
	files: blah blah blah" > for the log entry? 
	Yes, or even no files list at all.  For example, in the EGS
	changelog, there is the following entry: 
	Sun Mar 14 02:38:07 PST 1999 Jeff Law  (law@cygnus.com) 
	
	* egcs-1.1.2 Released.  
	
	>> - Improving the formatting of ChangeLog entries. Long, carefully
	formatted, >>   entries are currently rather trampled by the
	wrapping code. (Probably needs >>   a command-line option.) > > I've
	just been thinking about this too.  May just modify some code > from
	Text::Wrap.  I'll bet we can guess right w/o a command-line > option
	most of the time.  I think a good strategy would be to only add >
	newlines, never remove any.  So long lines get auto-wrapped, but
	then > the next line (in the original) doesn't move up, it stays on
	its own > line.  And of course, this only goes for the message
	portion, not the > filenames.  > > This way, text that tries to make
	lists would stay readable.  For > example: > > (parse_options):
	parse the --fish option.  > (stirfry): if `fish' is set, behave
	appropriately.  Adjust call to allergies(), and lower cooking heat
	based on reference in heat_table.  > (allergies): adjust for fish if
	`fish' is set.  > > would get turned into this: > > (parse_options):
	parse the --fish option.  > (stirfry): if `fish' is set, behave
	appropriately.  Adjust call to > allergies(), and lower cooking heat
	based on reference in heat_table.  > (allergies): adjust for fish if
	`fish' is set.  > > instead of this: > > (parse_options): parse the
	--fish option.  (stirfry): if `fish' is > set, behave appropriately.
	Adjust call to allergies(), and lower > cooking heat based on
	reference in heat_table.  (allergies): adjust > for fish if `fish'
	is set.  
	Yes, that seems like a good way to go.  
	Melissa.  

1999-04-08 Thursday 11:17  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.66): Put Melissa's name up near the top 

1999-04-08 Thursday 11:10  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.65): Implemented -r / --revisions option.  

1999-04-08 Thursday 10:49  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.64): Put "(BETA)" in version string, because the
	recent slew of changes has only been tested by Melissa and myself.  
	Untabified, indented everything.  

1999-04-08 Thursday 10:45  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.63): Change from Melissa O'Neill <oneill@cs.sfu.ca>: 
	Modified algorithm and data layout to collect multiple ChangeLog 
	messages for a given author over a sliding window of time.  

1999-04-08 Thursday 10:36  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.62): Change from Melissa O'Neill <oneill@cs.sfu.ca>: 
	Fixed transposition in explanation (author and message were
	swapped).  

1999-04-08 Thursday 10:35  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.61): Change from Melissa O'Neill <oneill@cs.sfu.ca>: 
	Moved output of date and author up one loop level.  Now ChangeLog 
	entries can have multiple parts (different log messages for
	different files).  The hash twisting/time merging code will almost
	never generate data this way, however.  

1999-04-08 Thursday 10:28  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.60): Change from Melissa O'Neill <oneill@cs.sfu.ca>: 
	Oops.  Forgot seconds in parse_date_and_author.  

1999-04-08 Thursday 10:25  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.59): Change from Melissa O'Neill <oneill@cs.sfu.ca>: 
	Major rewrite of the core code. Now parse_date_and_author returns a 
	time (i.e., seconds since the epoch) and author, rather than an 
	textual date and author. The whole structure of what we store has
	been changed. No more building keys from concatenated strings (i.e.,
	D.A.M.  keys), instead we use multi-level hashes. This change should
	reduce memory use.  
	Previously, $Max_Checkin_Duration had an effective granularity of 60 
	seconds, due to the dropping of seconds from dates in 
	parse_date_and_author. Because parse_date_and_author now groks dates 
	to the second, it would now be okay to set $Max_Checkin_Duration to
	ten seconds, whereas previously that would be identical to setting
	it to zero.  
	
	(Melissa, I made some mods to this patch, first to get it to apply, 
	then to get it to run.  The upshot is: everything is untabified now, 
	hunk #7 was applied by hand [this was from patch #15], and since 
	apparently can't do "my (undef,...)" on line 304, I changed it to
	"my ($ignore,...)"  instead.  Maybe the original way is legal in a
	higher version of Perl or something?  -kff) 

1999-04-08 Thursday 10:00  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.58): Change from Melissa O'Neill <oneill@cs.sfu.ca>: 
	Modified output loop to use `each' instead of `keys'.  

1999-04-08 Thursday 09:54  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.57): Change from Melissa O'Neill <oneill@cs.sfu.ca>: 
	Eliminate $ignore_me.  

1999-04-08 Thursday 09:52  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.56): Change from Melissa O'Neill <oneill@cs.sfu.ca>: 
	Eliminated use of File::Copy in favor of rename.  

1999-04-08 Thursday 09:46  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.55): Change from Melissa O'Neill <oneill@cs.sfu.ca>: 
	Fixed various uses of "" that really meant `undefined' to use
	undefined.  
	Only work out names for temporary files if we will actually be using 
	them.  

1999-04-08 Thursday 09:44  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.54): Change from Melissa O'Neill <oneill@cs.sfu.ca>: 
	Converted logfile header to be a global variable (in future, we
	might allow the header to be omitted or altered).  It now uses a
	`here document' too.  

1999-04-08 Thursday 09:42  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.53): Change from Melissa O'Neill <oneill@cs.sfu.ca>: 
	Fixed pretty_file_list to use join rather than a home-grown
	equivalent.  (Doh!  Thanks, Melissa!  -kff) 

1999-04-08 Thursday 09:36  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.52): Change from Melissa O'Neill <oneill@cs.sfu.ca>: 
	Removed the last of the `_reffy' stuff and needless hash copying.  

1999-04-08 Thursday 09:31  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.51): Change from Melissa O'Neill <oneill@cs.sfu.ca>: 
	Use a `here document' for the help message.  

1999-04-07 Wednesday 17:49  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.50, spurious-tag-at-1_50): Change from Melissa
	O'Neill <oneill@cs.sfu.ca>: 
	Switched from using "" to mean undefined to using undefined to mean 
	undefined.  (Some other cases remain, we'll do them later.) 
	Removed some superfluous tests from conditionals (it's true that
	they make it clear what is true at that point, but that could be
	expressed in a comment, rather than in executed code). 
	
	(Unfortunately, this meant that I outdented a fairly large chunk of
	code, making the diff look like a more extensive change than it
	really is.) 
	Eliminated a test for /^$file_separator/o by saving the result from 
	the earlier test.  

1999-04-07 Wednesday 17:41  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.49): Change from Melissa O'Neill <oneill@cs.sfu.ca>: 
	Simplified subhash code down to one line.  

1999-04-07 Wednesday 17:37  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.48): Change from Melissa O'Neill <oneill@cs.sfu.ca>: 
	Added /o to separator regexps.  

1999-04-07 Wednesday 17:34  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.47): Change from Melissa O'Neill <oneill@cs.sfu.ca>: 
	Avoid using Date::Parse. We now use timegm (from Time::Local) to do 
	date -> time conversions, and perform the time parsing ourselves 
	(given that dates are always in a pretty standard from).  

1999-04-07 Wednesday 17:26  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.46): Change from Melissa O'Neill <oneill@cs.sfu.ca>: 
	Added support for checkins that are not on the same minute by adding
	a new loop to detect nearby dates.  

1999-03-22 Monday 23:48  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.45): Heh, fix typo in version() -- it's "cvs2cl.pl,
	not "cvs2pl.cl", which would be a very different program! 

1999-03-22 Monday 18:40  Karl Fogel <kfogel@red-bean.com>

	* COPYING (1.1, spuriousduplicatetag5, spurious_duplicate_tag_4,
	spurious-duplicate-tag-3, spurious-duplicate-tag-2,
	spurious-duplicate-tag-1, post-tag-name-changes,
	pre-tag-name-changes): ship GPL too 

1999-03-22 Monday 18:35  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.44): Added warning of auto-generation to output.  

1999-03-19 Friday 23:07  Karl Fogel <kfogel@red-bean.com>

	* README (1.1, spuriousduplicatetag5, spurious_duplicate_tag_4,
	spurious-duplicate-tag-3, spurious-duplicate-tag-2,
	spurious-duplicate-tag-1, post-tag-name-changes,
	pre-tag-name-changes), cvs2cl.pl (1.43): Meaningful error codes on
	exit.  Added README in case anyone stumbles by chance upon this
	directory.  

1999-03-19 Friday 22:03  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.42): Don't double slashes in debug message.  

1999-03-19 Friday 22:02  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.41): Better debugging output.  

1999-03-19 Friday 21:57  Karl Fogel <kfogel@red-bean.com>

	* a-subdir/test.txt (1.2), a-subdir/subsubdir/test.txt (1.2),
	b-subdir/test.txt (1.2) (utags: spurious-duplicate-tag-1,
	spurious-duplicate-tag-2, spurious_duplicate_tag_4,
	spurious-duplicate-tag-3, post-tag-name-changes,
	spurious-tag-for-testing-tag-name-support, pre-tag-name-changes,
	spuriousduplicatetag5): [no log message] 

1999-03-19 Friday 21:56  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.40): Put ampersands on calls to debug().  

1999-03-19 Friday 21:45  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.39): Ooops, fixed the filename-resetting bug.  Added
	undocumented --debug flag and the debug() routine.  

1999-03-19 Friday 20:10  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.38): Fixed capitalization.  

1999-03-19 Friday 19:57  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.37): Totally clean up usage() and parse_options(). 
	Now it errors if unknown options.  Also, restored "." prefix to bak
	files (oops).  

1999-03-19 Friday 19:45  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.36): Rewrite "The Plan" to reflect the new two-level
	hash structure.  

1999-03-19 Friday 19:40  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.35): Clean up some other inconsistencies in usage
	message.  

1999-03-19 Friday 19:39  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.34): In usage message, note that "--distributed" now
	works.  

1999-03-19 Friday 19:38  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.33): Fitz and I are pleased.  

1999-03-19 Friday 19:28  Karl Fogel <kfogel@red-bean.com>

	* a-subdir/test.txt (1.1), a-subdir/subsubdir/test.txt (1.1),
	b-subdir/test.txt (1.1): This is only test data, please ignore it.  
	Feel free to modify it and commit whenever you need to generate 
	another change message.  

1999-03-19 Friday 19:21  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.32): Well, the --distributed option seems to be
	working now.  Time to run sanity tests.  

1999-03-19 Friday 10:28  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.31): Document the plan for --distributed, get
	everything in place; ready to implement.  
	Better var names too.  

1999-03-19 Friday 10:10  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.30): Prettifications, no code changes.  

1999-03-18 Thursday 20:49  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.29): Reinstate -f/--file option, because we'll need
	it again when the -d/--distributed option is finished.  
	Make tmp file name include PID.  
	Better option contradiction checking.  

1999-03-18 Thursday 18:06  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.28): implementation of --distributed option in
	progress 

1999-03-18 Thursday 17:27  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.27): Implemented all proposed options except
	--distributed, ahhh.  

1999-03-15 Monday 18:17  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.26): sanify some more comments 

1999-03-15 Monday 18:14  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.25): sanify some comments 

1999-03-15 Monday 18:05  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.24): added note about --prune option 

1999-03-15 Monday 15:37  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.23): correct comment 

1999-03-15 Monday 15:28  Karl Fogel <kfogel@red-bean.com>

	* long-log.out (1.3), short-log.out (1.2): no need for these files
	now 

1999-03-15 Monday 15:17  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.22): slight changes to usage 

1999-03-13 Saturday 00:51  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.21): oops, don't run usage 

1999-03-13 Saturday 00:50  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.20): include usage 

1999-03-13 Saturday 00:07  Karl Fogel <kfogel@red-bean.com>

	* .cvsignore (1.1, spuriousduplicatetag5, spurious_duplicate_tag_4,
	spurious-duplicate-tag-3, spurious-duplicate-tag-2,
	spurious-duplicate-tag-1, post-tag-name-changes,
	pre-tag-name-changes), ChangeLog (1.12): no need to keep a derived
	ChangeLog in the repository 

1999-03-13 Saturday 00:06  Karl Fogel <kfogel@red-bean.com>

	* ChangeLog (1.11): about to remove ChangeLog 

1999-03-12 Friday 20:03  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.19): better separator comments 

1999-03-12 Friday 19:59  Karl Fogel <kfogel@red-bean.com>

	* ChangeLog (1.10), cvs2cl.pl (1.18): oops, be truer to GNU
	ChangeLog style 

1999-03-12 Friday 11:56  Karl Fogel <kfogel@red-bean.com>

	* ChangeLog (1.9): [no log message] 

1999-03-12 Friday 11:56  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.17): backup in .ChangeLog.bak, not ChangeLog.bak 

1999-03-12 Friday 11:54  Karl Fogel <kfogel@red-bean.com>

	* ChangeLog (1.8), cvs2cl.pl (1.16): comment the msg_txt prettifier
	better 

1999-03-12 Friday 11:41  Karl Fogel <kfogel@red-bean.com>

	* ChangeLog (1.7), cvs2cl.pl (1.15): detect official CVS empty log
	messages too 

1999-03-12 Friday 11:39  Karl Fogel <kfogel@red-bean.com>

	* ChangeLog (1.6): [no log message] 

1999-03-12 Friday 11:38  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.14): include author 

1999-03-12 Friday 11:37  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.13): include revision number 

1999-03-12 Friday 11:34  Karl Fogel <kfogel@red-bean.com>

	* ChangeLog (1.5): ChangeLog now reflects previous bugfix, heh 

1999-03-12 Friday 11:34  Karl Fogel <kfogel@red-bean.com>

	* ChangeLog (1.4), cvs2cl.pl (1.12): okay, preserve paragraphs 

1999-03-12 Friday 11:20  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.11): Wrap more compactly, by eliminating lone
	newlines in the message text.  Thus, for example, a paragraph like
	this one will be all together, but the following paragraph will
	still be its own paragraph.  Let's see if this works right, though.  
	Use "no log message" on conceptually empty log messages, not just 
	empty strings.  Not that this log message would be one of those, 
	nooooo, it's quite long.  
	See? 

1999-03-12 Friday 01:35  Karl Fogel <kfogel@red-bean.com>

	* ChangeLog (1.3): Hmmm, beginning to realize I'll always be one
	behind...  

1999-03-12 Friday 01:27  Karl Fogel <kfogel@red-bean.com>

	* ChangeLog (1.2): added comment about keeping ChangeLog 

1999-03-12 Friday 01:23  Karl Fogel <kfogel@red-bean.com>

	* ChangeLog (1.1): Well, might as well keep a ChangeLog then! 

1999-03-12 Friday 01:18  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.10): better comment 

1999-03-12 Friday 01:10  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.9): smokin' 

1999-03-12 Friday 00:55  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.8): ready to smoke 

1999-03-12 Friday 00:29  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.7), short-log.out (1.1): basic functionality done,
	needs auto-fill though 

1999-03-11 Thursday 20:06  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.6): progress 

1999-03-11 Thursday 19:52  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.5): get date and author too 

1999-03-11 Thursday 19:30  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.4): knows filenames 

1999-03-11 Thursday 19:23  Karl Fogel <kfogel@red-bean.com>

	* long-log.out (1.2), cvs2cl.pl (1.3): better data, previous was
	bad due to just-discovered cvs log bug! 

1999-03-11 Thursday 18:34  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.2, spurious-tag-for-testing-tag-name-support): 
	document The Plan 

1999-03-11 Thursday 18:13  Karl Fogel <kfogel@red-bean.com>

	* cvs2cl.pl (1.1), long-log.out (1.1): initial imports 

