Wayne Davison [Sun, 20 Feb 2005 01:04:27 +0000 (01:04 +0000)]
Test --remove-sent-files.
Wayne Davison [Sun, 20 Feb 2005 01:04:12 +0000 (01:04 +0000)]
Disallow --remove-sent-files with a read-only server.
Wayne Davison [Sun, 20 Feb 2005 00:47:15 +0000 (00:47 +0000)]
Got rid of maybe_DEL_TERSE.
Wayne Davison [Sun, 20 Feb 2005 00:16:23 +0000 (00:16 +0000)]
Tweaked some externs.
Wayne Davison [Sat, 19 Feb 2005 23:42:09 +0000 (23:42 +0000)]
Tweaked some externs.
Wayne Davison [Sat, 19 Feb 2005 23:41:52 +0000 (23:41 +0000)]
- Needed to use a name buffer in delete_missing() to avoid having
a recursive delete reuse our buffer from f_name().
- Moved the backup-handling into delete_file() in rsync.c.
- Moved the --max-delete counting into delete_file() in rsync.c.
Wayne Davison [Sat, 19 Feb 2005 23:39:47 +0000 (23:39 +0000)]
Made delete_file() backup files it is removing if --backup was specified.
Wayne Davison [Sat, 19 Feb 2005 23:24:41 +0000 (23:24 +0000)]
Moved deletion_count here so that we honor --max-delete in
delete_file().
Wayne Davison [Sat, 19 Feb 2005 23:01:52 +0000 (23:01 +0000)]
If the server refuses a directory, don't allow any files to be
sent to the server inside that directory.
Wayne Davison [Sat, 19 Feb 2005 22:57:08 +0000 (22:57 +0000)]
Changed a couple log_recv() calls back to log_send().
Wayne Davison [Sat, 19 Feb 2005 22:16:53 +0000 (22:16 +0000)]
When logging PERMS_REPORT messages, send them with the FCLIENT code
if the daemon has "%i" in its log message (because it already got a
detailed log message from the generator).
Wayne Davison [Sat, 19 Feb 2005 22:16:50 +0000 (22:16 +0000)]
- Always send the itemized-info bytes on to the receiver. This
not only ensures that batch files are created consistently for
push and pull, but allows a daemon to log itemized changes.
- Improved the logging of itemized changes for the daemon.
- Make sure we debug-log our presence in send_files().
Wayne Davison [Sat, 19 Feb 2005 22:16:47 +0000 (22:16 +0000)]
- Improved the logging of itemized changes for the daemon.
- Make sure we debug-log our presence in recv_files().
Wayne Davison [Sat, 19 Feb 2005 22:16:45 +0000 (22:16 +0000)]
Make use of new variables (log_format_has_i, log_format_has_o_or_i,
and daemon_log_format_has_i) and the new FCLIENT logging code to
output stats in the best way possible for both the client and the
daemon.
Wayne Davison [Sat, 19 Feb 2005 22:16:41 +0000 (22:16 +0000)]
The FCLIENT log code aviods putting the message into the daemon's
log file and instead sends a FINFO message to the client. This is
used when the daemon wants to log a better message locally than it
is sending to the client. Improved log_delete() to make use of this
idiom if it needs to log a separate delete message for the daemon
and the client.
Wayne Davison [Sat, 19 Feb 2005 22:16:39 +0000 (22:16 +0000)]
- Added log_format_has_i.
- Fixed a problem withe option-refusing code when it refuses the
daemon options.
- Don't sent --itemize-changes (-i) to the server -- send an
improved --log-format value instead.
Wayne Davison [Sat, 19 Feb 2005 22:16:35 +0000 (22:16 +0000)]
We now set daemon_log_format_has_i and daemon_log_format_has_o_or_i
instead of itemize_daemon_changes.
Wayne Davison [Sat, 19 Feb 2005 22:16:33 +0000 (22:16 +0000)]
No more need to clear itemize_changes based on protocol_version.
Wayne Davison [Sat, 19 Feb 2005 22:16:31 +0000 (22:16 +0000)]
Changed some of the values of the MSG_* defines.
Wayne Davison [Sat, 19 Feb 2005 19:36:54 +0000 (19:36 +0000)]
We now use a regular expression to parse the (restored to its previous
version) default logfile format. Added parsing for a version of the
default logfile format where %o has been replaced with %i.
Wayne Davison [Sat, 19 Feb 2005 17:38:51 +0000 (17:38 +0000)]
Decided to leave the "log format" default the same as in
earlier versions.
Wayne Davison [Sat, 19 Feb 2005 17:37:40 +0000 (17:37 +0000)]
If the "log format" has a %i in it, set itemize_daemon_changes.
Wayne Davison [Sat, 19 Feb 2005 17:23:08 +0000 (17:23 +0000)]
- Don't log a delete message to the daemon log in dry-run mode.
- The daemon's wrote/read log message now uses the terms
sent/received.
Wayne Davison [Sat, 19 Feb 2005 03:54:13 +0000 (03:54 +0000)]
Decide whether to log a delete message via the default format by
checking the new log_format_has_o_or_i variable, not itemize_changes.
Wayne Davison [Sat, 19 Feb 2005 03:54:11 +0000 (03:54 +0000)]
- Set new variable, log_format_has_o_or_i.
- Make sure that -i can't be set w/o an actual %i in the log_format.
- Only need to pass -i to server if we're the sender.
- Only need to pass some --log-format information to the server in
certain circumstances.
Wayne Davison [Sat, 19 Feb 2005 03:12:21 +0000 (03:12 +0000)]
Rules read in from per-dir merge files need to have non-applicable
rules filtered out before the rule gets stored (not in a post-
filtering pass like the rules that are read-in prior to the run).
Wayne Davison [Sat, 19 Feb 2005 03:03:13 +0000 (03:03 +0000)]
Mention the change in the default "log format" daemon-config setting.
Wayne Davison [Sat, 19 Feb 2005 02:39:33 +0000 (02:39 +0000)]
Log items that are unchanged if verbose > 1.
Wayne Davison [Sat, 19 Feb 2005 02:39:30 +0000 (02:39 +0000)]
Notify the remote side about -i (if either specified or inferred from
the user's --log-format string) and, if we're not verbose but we're
logging messages, let the server know that --log-format was specified.
Wayne Davison [Sat, 19 Feb 2005 02:39:26 +0000 (02:39 +0000)]
- Tweaked the letters output by "%i", including adding support for
logging a deleted item and an identical item.
- Added log_delete(), a routine that either logs the fact that a
deletion happened, or sends a MSG_DELETED message to the client
side (or both if we're a daemon server receiver).
Wayne Davison [Sat, 19 Feb 2005 02:39:23 +0000 (02:39 +0000)]
- Changed the calling args to delete_file() to take an st_mode instead
of a DEL_DIR flag.
- Call log_delete() instead of outputting "deleting ..." messages..
- Log deletions if either verbose or log-format is specified.
Wayne Davison [Sat, 19 Feb 2005 02:39:21 +0000 (02:39 +0000)]
- Send the itemized data for every file, changed or not, if verbose > 1.
- Don't call set_perms() with PERMS_REPORT if we're itemizing changes.
- Don't call delete_file() with DEL_TERSE if we're itemizing changes.
- Call delete_file() with its new arg.
Wayne Davison [Sat, 19 Feb 2005 02:39:18 +0000 (02:39 +0000)]
- Allow send_msg() to be called by the delete code in flist.c and
have it figure out if it should send the message to our sibling
or the other side.
- Handle the new MSG_DELETED message in both the generator and the
sender. This message is used to let the client side log each
deletion when the server side is the receiver.
Wayne Davison [Sat, 19 Feb 2005 02:39:15 +0000 (02:39 +0000)]
- Call log_delete() instead of outputting a "deleting ..." message.
- Call delete_file() with its new arg.
Wayne Davison [Sat, 19 Feb 2005 02:39:11 +0000 (02:39 +0000)]
If the protocol is less than 29, make sure itemize_changes is off.
Wayne Davison [Sat, 19 Feb 2005 02:39:09 +0000 (02:39 +0000)]
- Got rid of DEL_DIR define.
- Added define for ITEM_DELETED.
Wayne Davison [Sat, 19 Feb 2005 02:39:06 +0000 (02:39 +0000)]
- Mention that "%o" can now have the value "del."
- Updated the description of "%i" to reflect the latest functioning.
Wayne Davison [Sat, 19 Feb 2005 02:39:03 +0000 (02:39 +0000)]
Fixed an inaccuracy in the --archive description.
Wayne Davison [Fri, 18 Feb 2005 21:24:00 +0000 (21:24 +0000)]
More improvements.
Wayne Davison [Fri, 18 Feb 2005 20:17:24 +0000 (20:17 +0000)]
- Use read_short() and write_short().
- If the user does not want itemized changes, don't log the name
for attribute changes.
Wayne Davison [Fri, 18 Feb 2005 20:17:20 +0000 (20:17 +0000)]
- Tweaked code in itemize() a bit.
- Use the new write_short() function.
- Mention the delete() when an item replaces an item of a different type.
- Make sure that this replacing of a non-same item is marked as a new
transfer in the itemized output.
Wayne Davison [Fri, 18 Feb 2005 20:17:17 +0000 (20:17 +0000)]
The '%n' escape needs to append a trailing slash onto a directory name.
Wayne Davison [Fri, 18 Feb 2005 20:17:15 +0000 (20:17 +0000)]
Added read_short() and write_short().
Wayne Davison [Fri, 18 Feb 2005 20:17:12 +0000 (20:17 +0000)]
Improved the "log format" section some more.
Wayne Davison [Fri, 18 Feb 2005 20:17:09 +0000 (20:17 +0000)]
Improved --verbose, --itemize-changes, and --log-format.
Wayne Davison [Fri, 18 Feb 2005 20:17:05 +0000 (20:17 +0000)]
Fixed/improved the comment before safe_name().
Wayne Davison [Fri, 18 Feb 2005 20:16:59 +0000 (20:16 +0000)]
Handle uchar and short as a function return type.
Wayne Davison [Fri, 18 Feb 2005 17:58:03 +0000 (17:58 +0000)]
- Fixed a few bugs and compile warnings.
- Use the long-option parser for better option handling.
- Output a usage message if the options are wrong.
- Improved the option-variable names.
- Parse the new default daemon log-file format.
- Handle filenames that have spaces in them.
Wayne Davison [Fri, 18 Feb 2005 17:36:12 +0000 (17:36 +0000)]
For the server, don't ever intuit verbosity higher than what
the client asked for.
Wayne Davison [Fri, 18 Feb 2005 17:34:09 +0000 (17:34 +0000)]
The daemon loop needs to call log_open() because it called log_close().
Wayne Davison [Fri, 18 Feb 2005 17:33:43 +0000 (17:33 +0000)]
Made log_open() non-static and moved log_close() next to it.
Wayne Davison [Thu, 17 Feb 2005 09:19:07 +0000 (09:19 +0000)]
Updated the default "log format" string and the output of "%i".
Wayne Davison [Thu, 17 Feb 2005 09:16:51 +0000 (09:16 +0000)]
Changed the default log format.
Wayne Davison [Thu, 17 Feb 2005 09:16:23 +0000 (09:16 +0000)]
Use '.' for unchanged attributes in the %i output.
Wayne Davison [Wed, 16 Feb 2005 20:12:20 +0000 (20:12 +0000)]
More improvements for the description of the %i output.
Wayne Davison [Wed, 16 Feb 2005 17:08:04 +0000 (17:08 +0000)]
Mention the new flag-word for protocol 29.
Wayne Davison [Wed, 16 Feb 2005 17:02:16 +0000 (17:02 +0000)]
- The itemized flags are now 2 bytes instead of 1.
- Always send/receive the itemized flags for protocols >= 29.
- The output of the verbose log-the-transfer messages is always handled
via log_send() (when we're the client).
Wayne Davison [Wed, 16 Feb 2005 17:02:13 +0000 (17:02 +0000)]
- The itemized flags are now 2 bytes instead of 1.
- Always send/receive the itemized flags for protocols >= 29.
- The output of the verbose log-the-transfer messages is always handled
via log_recv() (when we're the client).
Wayne Davison [Wed, 16 Feb 2005 17:02:11 +0000 (17:02 +0000)]
- The itemized flags are now 2 bytes instead of 1.
- Always send the itemized flags for protocols >= 29.
- Sent an itemized-flag update for dirs and symlinks for protocols >= 29
(instead of outputting a message directly).
Wayne Davison [Wed, 16 Feb 2005 17:02:08 +0000 (17:02 +0000)]
- Auto-set --verbose if --dry-run is specified w/o --log-format.
- When verbose w/o a log_format specified, set it to "%n%L".
- There's no longer a need to send -i to the server.
Wayne Davison [Wed, 16 Feb 2005 17:02:05 +0000 (17:02 +0000)]
Moved the auto-setting of --verbose when --dry-run is specified into
options.c.
Wayne Davison [Wed, 16 Feb 2005 17:02:02 +0000 (17:02 +0000)]
Tweaked ITEM_MISSING_DATA.
Wayne Davison [Wed, 16 Feb 2005 17:01:59 +0000 (17:01 +0000)]
No need to handle itemize_changes anymore.
Wayne Davison [Wed, 16 Feb 2005 08:12:34 +0000 (08:12 +0000)]
Tweaked the mention of --itemize-changes.
Wayne Davison [Wed, 16 Feb 2005 08:10:45 +0000 (08:10 +0000)]
- We now accept an itemized-changes flag-byte over the socket if we're
the local client and --itemized-changes was specified. If the item
is not being updated, just call log_recv().
- We reject an attempt to file-update any non-regular file, not just
dirs.
- Avoid the verbose "log the transfer" output if --log-format was
specified and log_before_transfer is in effect.
- Call log_recv() with its new iflags arg.
Wayne Davison [Wed, 16 Feb 2005 08:10:41 +0000 (08:10 +0000)]
- We now accept an itemized-changes flag byte over the socket if we're
in --itemized-changes mode. If the item is not being updated,
either pass it along to the receiver (if we're the server) or just
call log_send().
- We reject an attempt to file-update any non-regular file, not just
dirs.
- Avoid the verbose "log the transfer" output if --log-format was
specified and log_before_transfer is in effect.
- Call log_send() with its new iflags arg.
Wayne Davison [Wed, 16 Feb 2005 08:10:38 +0000 (08:10 +0000)]
Ensure that -i is set consistent with the batch's data.
Wayne Davison [Wed, 16 Feb 2005 08:10:31 +0000 (08:10 +0000)]
- If log_before_transfer is possible, don't force --verbose on for
--progress.
- If --log-format contains %i, set --itemize-changes (-i).
- Always send -i to the remote rsync if it was specified/implied.
Wayne Davison [Wed, 16 Feb 2005 08:10:28 +0000 (08:10 +0000)]
- Improved log_formatted() to handle long filenames better.
- Added %i, for the list of itemized changes, %n for the normal
filename (might be shorter than %f), and %L for a " -> symlink"
string IIF the item is a symlink (else "").
- The log_{send,recv}() functions now take an "iflags" arg.
Wayne Davison [Wed, 16 Feb 2005 08:10:25 +0000 (08:10 +0000)]
Changed showchg() into itemize(), which now ships off a flag byte of
what changed over to the sender instead of outputting a string itself.
This does mean that we now ship off indexes of non-file items that got
updated, but the sender will know what to do with it.
Wayne Davison [Wed, 16 Feb 2005 08:10:22 +0000 (08:10 +0000)]
- Added the new ITEM_* flags for the itemized-changes flag passing.
- Also added defines for FLAG_SENT and MSG_SUCCESS.
Wayne Davison [Wed, 16 Feb 2005 08:10:19 +0000 (08:10 +0000)]
Documented that -i now sets a default --log-format string.
Wayne Davison [Wed, 16 Feb 2005 08:10:13 +0000 (08:10 +0000)]
Documented the new log-format escapes: %n, %L, and %i.
Wayne Davison [Wed, 16 Feb 2005 01:13:03 +0000 (01:13 +0000)]
Some tweaks to how --itemize-changes works.
Wayne Davison [Tue, 15 Feb 2005 21:15:58 +0000 (21:15 +0000)]
Check for refusal of --delete-before when it is inferred.
Wayne Davison [Tue, 15 Feb 2005 20:42:36 +0000 (20:42 +0000)]
Moved two paragraphs.
Wayne Davison [Tue, 15 Feb 2005 20:41:37 +0000 (20:41 +0000)]
Made showchg() use safe_fname().
Wayne Davison [Tue, 15 Feb 2005 19:47:57 +0000 (19:47 +0000)]
- Mention the addition of --itemize-changes.
- Mention the setting of read_only when a daemon is read-only.
Wayne Davison [Tue, 15 Feb 2005 07:41:13 +0000 (07:41 +0000)]
Decided on a better option name --itemize-changes (-i).
Wayne Davison [Tue, 15 Feb 2005 07:20:14 +0000 (07:20 +0000)]
Implemented the --what-has-changed functionality.
Wayne Davison [Tue, 15 Feb 2005 07:20:11 +0000 (07:20 +0000)]
Don't force -v with -n if -w was specified.
Wayne Davison [Tue, 15 Feb 2005 07:20:04 +0000 (07:20 +0000)]
If -w and -v are both on, don't output the "log the transfer"
verbose message.
Wayne Davison [Tue, 15 Feb 2005 07:20:01 +0000 (07:20 +0000)]
Added --what-has-changed (-w), which summaries the changes
being made to the files.
Wayne Davison [Tue, 15 Feb 2005 07:19:58 +0000 (07:19 +0000)]
Document --what-has-changed (-w).
Wayne Davison [Tue, 15 Feb 2005 03:38:04 +0000 (03:38 +0000)]
Fixed a typo.
Wayne Davison [Tue, 15 Feb 2005 02:01:02 +0000 (02:01 +0000)]
Make sure that there are no directory-time differences between the
dirs that might trip up the check of the merged copy.
Wayne Davison [Mon, 14 Feb 2005 22:49:51 +0000 (22:49 +0000)]
Had a report that the __attribute__ code needs to check for
__APPLE__ being defined, not APPLE.
Wayne Davison [Mon, 14 Feb 2005 22:48:28 +0000 (22:48 +0000)]
One arg to matched() is supposed to be an int32.
Wayne Davison [Mon, 14 Feb 2005 22:47:42 +0000 (22:47 +0000)]
Changed one size_t var into an int32.
Wayne Davison [Mon, 14 Feb 2005 19:09:30 +0000 (19:09 +0000)]
Improved description of --whole-file option.
Wayne Davison [Mon, 14 Feb 2005 08:28:00 +0000 (08:28 +0000)]
Fixed a mismatch in the compressed-data handling between how the
sending side and the receiving side handled implicit (unsent) data.
Wayne Davison [Mon, 14 Feb 2005 08:19:32 +0000 (08:19 +0000)]
Changed various token variables from "int"s to "int32"s.
Wayne Davison [Mon, 14 Feb 2005 08:13:47 +0000 (08:13 +0000)]
The count of chunks should really be an int32, not a size_t,
because that's the maximum size we can transmit over the wire.
Wayne Davison [Mon, 14 Feb 2005 08:12:22 +0000 (08:12 +0000)]
Changed the size_t variables into int32 variables.
Wayne Davison [Mon, 14 Feb 2005 02:47:44 +0000 (02:47 +0000)]
Don't let --fuzzy be used with a protocol_version < 29.
Wayne Davison [Mon, 14 Feb 2005 02:41:35 +0000 (02:41 +0000)]
Mention --fuzzy.
Wayne Davison [Mon, 14 Feb 2005 02:41:30 +0000 (02:41 +0000)]
Added code to read a fuzzy-basis name from the generator.
Wayne Davison [Mon, 14 Feb 2005 02:41:27 +0000 (02:41 +0000)]
Added handling for fuzzy-basis scanning. When a fuzzy filename is
chosen, the name is sent down the name-pipe to the receiver.
Wayne Davison [Mon, 14 Feb 2005 02:41:23 +0000 (02:41 +0000)]
- If send_file_name() gets f set to -2, it skips the local filter rules.
- Added get_dirlist(), which returns a file_list structure for the
desired directory, optionally with local filter rules disabled.
Wayne Davison [Mon, 14 Feb 2005 02:41:18 +0000 (02:41 +0000)]
Set need_name_pipe if --fuzzy was specified.