Matt McCutchen [Tue, 2 Sep 2008 00:01:19 +0000 (17:01 -0700)]
Several fixes for merge file handling:
- Free a mergelist's parent_dirscanned filters the last time it is
popped or as soon as the filters are discarded due to the "n"
modifier. Aside from not leaking memory, this is needed to clean up
any mergelists defined during the parent_dirscan to avoid crashing by
trying to restore nonexistent state for them in pop_local_filters.
- Make push_local_filters save the current mergelist_cnt, and make
pop_local_filters assert that it has the correct number of mergelists
before restoring their state.
- Assert that mergelists get deactivated in strict LIFO order to catch
any glitches as soon as they happen. Free linked lists of filters in
reverse order to make that the case.
- Add a bunch of mergelist-related debug output (--debug=filter2).
Wayne Davison [Mon, 1 Sep 2008 19:53:43 +0000 (12:53 -0700)]
Output numbers in 3-digit groups by default (e.g. 1,234,567).
Also improved the human-readable output functions, including
adding the ability to output negative numbers.
Wayne Davison [Sun, 31 Aug 2008 17:01:44 +0000 (10:01 -0700)]
Added extra file-changing logic to ensure that the various files that
mention the protocol number have the right value, that the check-in date
for a protocol-change release is specified, and that a pre-release with
a protocol change doesn't have SUBPROTOCOL_VERSION set to 0. Prompt for
releasing a branch if -b option was not used and we're on a branch.
Wayne Davison [Sun, 31 Aug 2008 16:03:50 +0000 (09:03 -0700)]
Improved the fix that ensures that the generator gets notified about an
I/O error for the incremental directory that generated the error. The
PROTOCOL_VERSION was bumped to 31 to implement this.
Wayne Davison [Sat, 2 Aug 2008 16:14:36 +0000 (09:14 -0700)]
Added logic to the receiving side to ensure that the --delete-during
code will not delete in a directory prior to receiving an I/O error
for that directory (or not receiving it, as the case may be).
Wayne Davison [Sat, 2 Aug 2008 02:03:59 +0000 (19:03 -0700)]
Fixed a problem with checking for the '.' dir in the first file
list that is transferred. This fixes a glitch where a failed
--iconv conversion on the receiving side could prevent deletions
from happening in the root-dir of the transfer.
Wayne Davison [Sat, 2 Aug 2008 01:15:28 +0000 (18:15 -0700)]
Changed the iconv-related message that was being output as the
lone --info=misc2 message into a --debug=iconv message so that
all iconv info will be output when requesting iconv debugging.
Wayne Davison [Sat, 2 Aug 2008 01:04:24 +0000 (18:04 -0700)]
Fixed a couple minor problems in util.c:
- Make sure that handle_partial_dir() never returns a truncated fname.
- Make robust_rename() return that it failed to do a cross-device
copy if the partial-dir could not be created.
Wayne Davison [Sat, 2 Aug 2008 01:03:57 +0000 (18:03 -0700)]
Properly handle a failure to create a partial directory, which is
especially important for --delay-updates, particularly when
--remove-source-files was also specified.
Wayne Davison [Mon, 21 Jul 2008 03:08:08 +0000 (20:08 -0700)]
Added a debug-helping option, --msgs2stderr, than should help all
messages to be seen in a situation where rsync is dying (as long
as stderr is a viable output method for the remote rsync).
Wayne Davison [Sat, 19 Jul 2008 15:49:53 +0000 (08:49 -0700)]
Changed the POOL_QALIGN flag to POOL_NO_QALIGN, reversing the setting
(making pools aligned by default). Added the missing code to make the
documented behavior of pool_free() with a NULL addr work. Updated the
pool_alloc.3 manpage.
Wayne Davison [Fri, 11 Jul 2008 16:34:28 +0000 (09:34 -0700)]
If the user specifies --protocol=29, rsync will avoid sending an -e
option to the server (which is only useful for protocols 30 and above
anyway). This gives the user an easy way to talk to a restricted
server that has overly restrictive option-checking.
Wayne Davison [Sat, 5 Jul 2008 07:21:05 +0000 (00:21 -0700)]
The --progress output now leaves the cursor at the end of the line
(instead of the start) in order to be extra sure that an error won't
overwrite it. We also ensure that the progress option can't be enabled
on the server side.
Wayne Davison [Tue, 24 Jun 2008 06:05:07 +0000 (23:05 -0700)]
Some deny-rsync fixes:
- Fixed messages longer than 63 chars.
- Don't require the presence of a "bc" program.
- Append a newline to the message to make the script easier to call.
- Make extra sure the message outputs without escape interpretation.
- Stick around long enough for a client to reliably get the message.
Wayne Davison [Mon, 9 Jun 2008 04:07:30 +0000 (21:07 -0700)]
A couple more xattr improvements:
- Made the XSTATE_* defines avoid using 0.
- Call !XATTR_ABBREV() in recv_xattr_request().
- Improved the "internal abbrev" error message.
- Fixed the potential for a directory time glitch in xattrs.diff.
Wayne Davison [Mon, 9 Jun 2008 03:26:22 +0000 (20:26 -0700)]
Fixed an "Internal abbrev error" when dealing with an xattr value
that is unchanged on an early file, and changed on a later file.
Added 2 new test cases to ensure this stays fixed.
Wayne Davison [Wed, 4 Jun 2008 14:13:22 +0000 (07:13 -0700)]
Improved the proto.h target so that a build in a different dir from the
srcdir will ensure that the builddir has a copy of the proto.h file when
the Makefile found it to be out of date. This prevents the repeated
building of all the targets when the srcdir's proto.h file is accurate,
but older than the newest .c file.