| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
This snapshot only addresses one problem introduced in the 20060211
snapshot. Because of what seems to be a bug in CVSup, fixing the
keyword expansion code so that it works correctly with OpenBSD CVSup
servers broke updates from PostgreSQL CVSup servers. This snapshot
"fixes" this issue by being bug-to-bug compatible with CVSup.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add support for retries when the connection is rejected by the server
and the associated -1 and -r maxRetries options.
- Add missing description for the -4 and -6 options in csup.1.
- Ignore the return value of a chflags() call in fattr_install() to
match CVSup. This fixes csup over NFS.
- Correctly handle any locking error with assertions.
- Make the multiplexer code fully dynamic and cancelable.
- Handle errors in the sender and receiver threads correctly by closing
the multilpexer and waking up all the threads blocked on any of the
channels. This means we don't hang when being disconnected for
instance.
- Make several functions of the chan API, most notably chan_read() and
chan_write() take a struct chan * instead of an id. This saves a
mutex lock and unlock for each call to these functions, and also
reduces the contention on the multiplexer lock.
- Change the stream API so that we can associate a stream with a void *
to support the previous change. Update all the consumers.
- Optimize the scheduling of the sender thread so that it's not
possible to have some channels starve others.
- Optimize mkdirhier() so that it saves many access() calls on average.
- Always set the "no rsync" option to the collections since we don't
support the rsync updating algorithm yet. I have yet to see a CVSup
server trying to send me rsync updates of files in checkout mode but
better safe than sorry.
- Fix the RCS keyword handling. Updating the OpenBSD-src collection
from an OpenBSD CVSup server now works.
- Correctly handle deletion requests for directories.
- And various minor bugfixes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Don't use the C99 %zd format in fattr_encode(), it fails with a
pre-C99 compiler and just prints "zd", which caused csup to send
corrupted file attributes and get kicked by the server. I have no
idea why I didn't see this when testing on ref4.FreeBSD.org but csup
now really works on RELENG_4.
- Completely revamp the file attributes computation when checking out
new files and when updating them via diffs. We now create the files
with correct attributes. If you've seen "SetAttrs" commands when you
didn't use to see with CVSup, that fixes it.
- Rewrite mkdirhier() so that it works as intended and respects the
umask setting of the collection.
- Fix a bad bug in proto_get_ascii() that made csup crash when there
were no more tokens to eat.
- Rework the status file API so that it's always possible to determine
if there was an error and to supply appropriate error messages with
status_errmsg(). Use this new function in the lister, detailer and
updater threads.
- Implement support for two new formats in proto_printf(), %f and %F,
that are used to print encoded file attributes. Use them everywhere
appropriate to simplify code.
And probably a few things more that I forgot.
|
|
|
|
|
|
|
| |
- The -4 and -6 switches have been addede to force usage of IPv4 or IPv6,
respectively,
- The "list=suffix" option in the supfile is now supported.
- And many bugfixes.
|
|
|
|
|
|
|
|
| |
- Many bugfixes and code improvements.
- There is now a csup(1) manual page.
- We now use the Z_DEFAULT_COMPRESSION zlib compression level instead of
Z_BEST_SPEED (the lowest). As a consequence of this, less data needs to
be send and csup is slightly faster than CVSup in my tests.
|
|
While it still has some rough edges, it has reached a state where
it's pretty much usable and this port will get me a wider audience for
testing.
Reviewed by: ahze
|