From ChangesLog:
* Improve robustness. (client/server)
Make this more friendly to userlevel POSIX thread libraries.
* Improve performance to parse rcsfile(5) based files.
* When -u/-g is specified, drop the privilege. (server)
* Update scanfiles when changes anything only.
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
Changes:
* Make this compile with TenDRA.
* Make this compile on Solaris7.
* New utility: cvsync2cvsup
This converts a scanfile from the cvsync style to the CVSup(R) style.
It is useful for mirror maintainers to distribute the CVS repositories
via both CVSup and CVSync protocols.
* Improve robustness. (client)
* Fix a bug to do munmap() with size 0. (client/server)
* Get rid of sched_yield(). (client/server)
* Improve robustness. (server)
* Improve robustness. (client)
* Fix a dead lock problem. (client/server)
Changes:
* Improve the performance. (client/server)
It's 4 - 30% faster than 0.24.12.
(of course, depends on disk I/O, network connectivity, and so on.)
Have fun!
* Fix a bug to remain temporary files. (client)
To remove that files, remove scanfiles and re-run cvsync client.
* Option (server)
-l: Specifies the file to write the system log.
* New feature: base (client/server/cvscan)
Specifies a prefix used for relative pathnames in all of the keyword
'distfile', 'refuse', and 'scanfile'. It must be an absolute path.
Changes:
* Fix a bug to use a wrong constant as NI_MAXHOST on OpenBSD.
(cvscan/client/server)
* Fix a bug to require the existence of 'prefix' when the release
type is 'list'. (client)
Changes:
* New utility: cvsup2cvsync
This converts a scanfile from the CVSup(R) style to the cvsync style.
It is useful for mirror maintainers to distribute the CVS repositries
via both CVSup and CVSync protocols.
* Use poll() instead of select() if available. (server/client)
* New feature: refuse (client)
It provides the way to refuse to add/update/remove files or
directories.
Changes:
* New feature: specify configurations in command line. (client)
URI Syntax:
cvsync://<hostname>[:<port>][/[<name>/release/[?<aux>]]]
Samples:
cvsync://some.where/
Retrieves the collections list.
cvsync://some.where/foo/rcs/?prefix=/localsrc
Retrieves the collection foo/rcs under /localsrc.
The documentation is not prepared yet.
* Fix a bug to fail to execute in background when use an option -p
to specify a file name to store a PID number and it is a relative
path. (server)
* Add samples to distribute NetBSD/OpenBSD CVS repositories.
Changes:
* New feature: specify configurations in command line. (client)
URI Syntax:
cvsync://<hostname>[:<port>][/[<name>/release/[?<aux>]]]
Samples:
cvsync://some.where/
Retrieves the collections list.
cvsync://some.where/foo/rcs/?prefix=/localsrc
Retrieves the collection foo/rcs under /localsrc.
The documentation is not prepared yet.
* Fix a bug to fail to execute in background when use an option -p
to specify a file name to store a PID number and it is a relative
path. (server)
* Add samples to distribute NetBSD/OpenBSD CVS repositories.
Changes:
* Fix a bug to fail to update a symlink status. (client)
* New keyword: nordiff (server)
On updating a regular file, a server send a whole file instead of
using rdiff algorithm. It is efficient to update tarballs or similar.
* Improve a rdiff performance slightly. (server)
Changes:
* A 'access' file is reloaded dynamically. (server)
This file is reloaded when a client is connected if necessary.
Not necessary to restart for reloading any files.
* New keyword: base-prefix (server)
Specifies the prefix for the keyword 'prefix' of collections.
It must be an absolute path.
* Fix a bug to try to remove wrong pid file mistakenly. (server)
* Fix a bug to forget to tranfer the last file in some cases. (server)
* native SHA1 is enabled on OpenBSD 3.3 or prior again.
All SHA1 calculations is wrapped by giant lock on OpenBSD.
* Fix a rdiff bug. (server)
* New keyword: haltfile (server)
When specified, a server checks it instead of /var/run/cvsyncd.HALT.
* New feature: file-based halt (server)
If /var/run/cvsyncd.HALT is created or modified when a server is
running, the server exits gracefully.
* New keyword: pidfile (server)
Specifies the file to store the pid number in a configuration file.
* Fix a bug to mirror directories/files specified as 'deny'
in 'distfile' mistakenly.
Changes:
* WARNING: "hash mismatch" on OpenBSD (server/client)
In some cases, the client shows an error message "hash mismatch" and
fails to update repositories. This problem is caused by reason that
native OpenBSD SHA-1 implementation is not thread safe.
Workaround:
1. Specifies "hash md5" in your configuration file.
2. Rebuild the server/client with HAVE_SHA1=no or
HASH_TYPE={libgcrypt,mhash,openssl}.
This problem is reported to OpenBSD mailing list by Sato-san and
fixed in the current OpenBSD tree. See the following URL.
http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/hash/sha1.c
native SHA-1 is disabled on OpenBSD 3.3 or prior in 0.24.1.
* Fix a hash type negotiation bug. (server)
* Fix some rdiff bugs. (server)
* Fix a bug to remain the <pidfile> when the initialization is failed.
(server)
* Fix a bug to show error messages mistakenly when destroy
pthread_cond_t. (server/client)
Changes:
* Implement new mirror algorithm for regular files. (server/client)
This improves the performance to update large regular files incredibly.
* Fix a potential problem to update rcsfile(5) based files with
over 256 symbols. (server/client)
Changes:
* Fix a bug not to accept the option -L. (cvscan)
* Fix a bug that the default value of 'maxclients' is not set properly
when 'maxclients' is not specified. (server)
* Fix bugs of alignment. (server/client)
* Fix bugs not to work properly when set 'errormode' to 'fixup' or
'ignore' in some case. (server/client)
Changes:
* New feature : errormode (server/client)
Specifies the behaviour when any errors/conflicts are found in local
distributions.
abort : Exit/Disconnect with error messages immediately.
fixup : Recover errors/conflicts and keep running.
ignore : Ignore any errors/conflicts.
The keyword 'loose' is obsoleted, same to set 'errormode' to 'ignore'.
This exists only for the backward compatibility.
* Option (client)
-L : Set 'errormode' to 'fixup' for all collections.
* Option (cvscan)
-L : Set 'errormode' to 'fixup'.
-l : Set 'errormode' to 'ignore'.
* Improve stability. (server/client)
Changes:
* Fix serious bugs around the destruction of hash context.
These may cause abort() in C library and the server will stop.
* Improve stability.
* Fix some bugs.
* Make this compile with Intel C++ Compiler.
* Make this compile with Sun Microsystems Forte C.
Changes:
* Improve stability.
* HEADS UP: Compression
0.22.0 has a serious compression bug. If you use old versions,
please upgrade 0.23.0 or higher. If 0.23.0 detects the remote host
is 0.22.0, fallback to no compression mode forcibly.
* Fix many bugs.
ChangeLog:
* New keyword: compress (client only)
* Options (client)
-Z : Disables a compression.
-z : Enables a compression.
* Option (server)
-z: Sets the compression level.
0: no compression.
1: the fastest, but less compression.
9: the slowest, but best compression.