= cvs-fast-export project news = 1.46: 2019-03-18:: Make cvsreduce so the right (escaping) thing when a filename contains @. In cvreduce, warn on files that aren't CVS masters. Avoid losing commits when warning "tip commit older than imputed branch join" seen Warn about optimization bug triggered by -O3, reduce to -O2. 1.45: 2019-01-22:: Allow empty branch labels - these have been observed in the wild. Always report both file and line in syntax errors, using gcc style. Documentation polishing. cppcheck cleanup. Minor port fixes to test machinery. 1.44: 2018-07-05:: Fix slightly incorrect generation of default .gitignore file. Make cvsreduce work under Python 3, and test for that. 1.43: 2017-03-20:: Revert <2014-11-19T18:11:22Z@flower.powernet.co.uk>, optimization was wrong. 1.42: 2017-03-06:: Fix a typo in a property name that affects interoperability with reposurgeon. 1.41: 2017-02-14:: Savannah changed how you need to interpret pseudo-URLs. 1.40: 2016-09-07:: Add warnings about stock CVS vs. the MirOS patched version. 1.39: 2016-09-06:: Fix GitLab issue #8: Exporting with commitids does not coalesce changesets. 1.38: 2016-02-28:: All Python code in the suite is 2 & 3 polyglot and 8-bit clean. 1.37: 2016-01-29:: New -c option for when you can't trust commit-IDs. Port patch for Sun systems. 1.36: 2015-12-22:: Avoid a core dump in another pathological case. 1.35: 2015-11-23:: Properly handle CVS masters with nonempty access lists. Bail out gracefully on pathological masters with no revisions. 1.34: 2015-09-25:: Another Python compatibility fix. Fix inconsistent license header in revdir.c. 1.33: 2015-08-30:: Deal with a really annoying build-portability glitch around -lrt. Fix cvsconvert to be Python 2.6-compatible. 1.32: 2015-06-10:: Emit a source type declaration reposurgeon can use. Project now has a logo. 1.31: 2015-04-28:: Improve OSX portability. 1.30: 2015-04-02:: Tagged branchlets created for CVS tags not matching a gitspace commits. Many portability fixes for *BSD. 1.29: 2014-12-17:: A significant improvement in the correctness of vendor-branch handling. More speed improvements. 1.28: 2014-12-08:: Fix for buggy emission of lines ending in @. More speedups, and dramatic reduction in working-set size. 1.27: 2014-11-27:: The bug that produced "unnumbered head" warnings has been fixed. 1.26: 2014-11-05:: cvscompare changed to cvsconvert, a validating wrapper script. The rules for keyword expansion have changed yet again. 1.25: 2014-11-03:: Simplify and fully document -k; it now requires an argument. In normal (non-promiscuous) mode, paths containing CVSROOT are ignored. There is a new wrapper script, 'cvscompare', for sanity-checking conversions. A HOWTO on reporting bugs has been added to the distribution. 1.24: 2014-10-30:: Bugfix release: a late change to I/O buffering in 1.23 was faulty. 1.23: 2014-10-29:: New -l option for redirecting logs during long conversions. More speedups and working-set reductions. Incremental dumping can now be done in fast mode. 1.22: 2014-10-21:: New --embed-id and --expand options by Robert deBath. 1.21: 2014-10-19:: When incremental dumping, suppress tags associated with old commits. Performance improved by x8; see also the new -F and -C options. New -a optio to dump a list of author IDs found in a repo. 1.20: 2014-10-08:: Files not ending with ,v are now ignored unless the new -P option is on. New -t option for parallelizing analysis on multicore systems. 1.19: 2014-10-04:: Dramatic speedups in some bottleneck functions. 1.18: 2014-10-02:: A bug in the regression tests was fixed by slowing down calls to CVS. 1.17: 2014-09-11:: Some changes to reduce working-set size. More internals documentation. 1.16: 2014-09-04:: Added an internals tour to the documentation. Polished some comments. Prevented a possible buffer overrun. Fixed broken -R option. 1.15: 2014-09-02:: Fixed a nasty order-instability bug that was confounding testing. Add a fatal error check for when revision numbers in input get too long. A significant speed improvement by tuning one of the sort algorithms. 1.14: 2014-08-12:: Fixed several issues near ignore conversions. 1.13: 2014-08-11:: Allow ()<> in symbol names. Fix a minor memory leak. Make cvssync a bit more liberal about SourceForge hostnames. In cvssync, leading /cvsroot can be omitted on Sourceforge paths. In cvssync, leading /sources can be omitted on Savannah paths. 1.12: 2014-06-26:: Allow []! in symbol names. Python in the test suite now runs under 2.6. 1.11: 2014-06-06:: Teach cvssync about sourceware.org. 1.10: 2014-03-28:: Prepends CVS default ignores to converted .cvsignores. Generates a .gitignore containing default CVS ignores when necessary. 1.9: 2014-03-08:: RCS/CVS usernames may now begin with a digit (patch by Jesse Weinstein). Cleaned up a mess around keyword expansion; it had been misdocumented. Fixed some minor bugs in the test suite. Fixed a signedness issue on 64-bit machines. 1.8: 2014-02-19:: Processing of hardlinks field was incorrect, is now fixed. 1.7: 2014-02-18:: Allow # in symbol names. Addresses a corner case in the NetBSD repository. 1.6: 2014-02-17:: Fix a brown-paper-bag bug in cvssync. 1.5: 2014-02-16:: Skip a hardlinks field, if present. Add a -c option to cvssync that makes mirrors with CVSROOTs. 1.4: 2014-02-04:: Optimization to call sbrk() less often needs to be conditioned on GCC. 1.3: 2014-01-23:: Improved performance on masters with lots of symbols; thank Jens Bethkowsky. 1.2: 2014-01-04:: Smarter blob directory creation to reduce search overhead for blobs. 1.1: 2014-01-03:: Cope with CVS-NT kopt strings containing garbage binary data. 1.0: 2013-12-28:: Bug fix: Non-top-level .cvsignores are now converted. More speed and significant lowering of memory usage. Most error messages are now explained on the manual page. 0.8: 2013-12-16:: Processing speed has approximately tripled since last release. cvs-fast-export has save progress metering again. cvssync can now take a CVS URL argument. 0.7: 2013-12-15:: -i option for incremental dumping. -p option for enabling load status reports. Many documentation improvements. There is now a regression-test suite for the package. cvssync tool for mirroring remote CVS repos added. 0.6: 2013-12-10:: Improvements for CVS-NT support. Improve timing of missing-commitids message 0.5: 2013-05-21:: CVS-NT support. Code is Coverity-clean. 0.4: 2013-05-16:: Fix buggy handling of -k option. Add --remote (-e) and --stripprefix (-s) options. Avoid recursion overflow on very large repos. The fast-import stream ops are now emitted in the same order git uses. 0.3: 2013-01-16:: Fix a bonehead packaging error. 0.2: 2012-01-12:: Code revamped to emit a fast-export stream. Manual page added. 0.1: 2006-03-09:: Original code by Keith Packard; traveled as 'parsecvs'.