Wayne Davison [Mon, 30 Jan 2006 17:39:43 +0000 (17:39 +0000)]
Added extern for io_write_phase.
Wayne Davison [Mon, 30 Jan 2006 17:39:34 +0000 (17:39 +0000)]
- Got rid of the externs for io_read_phase and io_write_phase.
- Added stub definition for chmod_mode_struct.
Wayne Davison [Mon, 30 Jan 2006 08:12:17 +0000 (08:12 +0000)]
Moved the filter_outfile() function to rsync.fns.
Wayne Davison [Mon, 30 Jan 2006 08:11:50 +0000 (08:11 +0000)]
Moved the filter_outfile() function here since it was identical
in devices.test and itemize.test.
Wayne Davison [Mon, 30 Jan 2006 07:18:16 +0000 (07:18 +0000)]
The robust_rename() function now takes a "partialptr" arg that, if
non-NULL, will be used if we are forced to copy the file.
Wayne Davison [Mon, 30 Jan 2006 07:18:13 +0000 (07:18 +0000)]
The finish_transfer() function now takes a "partialptr" arg that, if
non-NULL, will be used if robust_rename() is forced to copy the temp
file.
Wayne Davison [Mon, 30 Jan 2006 07:18:10 +0000 (07:18 +0000)]
Call finish_transfer() with a valid partialptr string, when
appropriate.
Wayne Davison [Mon, 30 Jan 2006 07:18:06 +0000 (07:18 +0000)]
Call finish_transfer() with its newly-added arg.
Wayne Davison [Mon, 30 Jan 2006 07:18:03 +0000 (07:18 +0000)]
Call robust_rename() with its newly-added arg.
Wayne Davison [Mon, 30 Jan 2006 07:18:00 +0000 (07:18 +0000)]
Document the side-effect that --partial-dir can have on --temp-dir.
Wayne Davison [Mon, 30 Jan 2006 06:34:57 +0000 (06:34 +0000)]
More improvements to --temp-dir.
Wayne Davison [Mon, 30 Jan 2006 00:39:59 +0000 (00:39 +0000)]
Changed the mode arg from an int to a mode_t.
Wayne Davison [Sun, 29 Jan 2006 20:31:59 +0000 (20:31 +0000)]
Improved the --temp-dir description and a couple other sentences.
Wayne Davison [Sun, 29 Jan 2006 20:30:24 +0000 (20:30 +0000)]
- Renamed set_perms() to set_file_attrs().
- Use the renamed PERMS_* defines: ATTRS_*.
Wayne Davison [Sun, 29 Jan 2006 20:30:18 +0000 (20:30 +0000)]
- Use the renamed PERMS_* defines: ATTRS_*.
- Call the new name of set_perms(): set_file_attrs().
Wayne Davison [Sun, 29 Jan 2006 20:30:12 +0000 (20:30 +0000)]
Call the new name of set_perms(): set_file_attrs().
Wayne Davison [Sun, 29 Jan 2006 20:30:07 +0000 (20:30 +0000)]
Renamed the PERMS_* defines to ATTRS_* defines.
Wayne Davison [Sun, 29 Jan 2006 20:30:02 +0000 (20:30 +0000)]
Use PERMSTRING_SIZE rather than a hard-wired "11".
Wayne Davison [Sun, 29 Jan 2006 19:17:13 +0000 (19:17 +0000)]
No need to send --partial when we're the receiver.
Wayne Davison [Sun, 29 Jan 2006 18:52:53 +0000 (18:52 +0000)]
Made a bunch of char* args const.
Wayne Davison [Sun, 29 Jan 2006 07:19:38 +0000 (07:19 +0000)]
Avoid forwarding the --temp-dir option to the server when we're
the receiver.
Wayne Davison [Sat, 28 Jan 2006 19:20:02 +0000 (19:20 +0000)]
Made the new --prune-empty-dirs code a little more memory efficient.
Wayne Davison [Sat, 28 Jan 2006 08:12:16 +0000 (08:12 +0000)]
Tweaked a variable name in flist_find().
Wayne Davison [Sat, 28 Jan 2006 07:40:52 +0000 (07:40 +0000)]
We enforce at least protocol 29 for --prune-empty-dirs because the
file-list's sort order can be slightly wrong in older versions.
Wayne Davison [Sat, 28 Jan 2006 01:55:55 +0000 (01:55 +0000)]
Don't add the "protect" filter rule for backup-suffix filenames
if --backup was not specified.
Wayne Davison [Sat, 28 Jan 2006 00:14:02 +0000 (00:14 +0000)]
- We need to send exclude info from the client to a server-receiver
when --prune-empty-dirs was specified.
- Changed the output of debug include/exclude/show/hide/risk/protect
messages to use the appropriate filter terminology instead of
always using the (potentially unclear) include/exclude terms.
Wayne Davison [Sat, 28 Jan 2006 00:13:59 +0000 (00:13 +0000)]
The user can now use a "protect" filter to avoid pruning one or
more empty directories when --prune-empty-dirs is in effect.
Wayne Davison [Sat, 28 Jan 2006 00:13:55 +0000 (00:13 +0000)]
Changed --skip-empty-dirs (-k) to --prune-empty-dirs (-m).
Wayne Davison [Sat, 28 Jan 2006 00:13:52 +0000 (00:13 +0000)]
Changed --skip-empty-dirs (-k) to --prune-empty-dirs (-m) and
improved the docs a bit more, including documenting how "protect"
filtering affects empty dirs.
Wayne Davison [Fri, 27 Jan 2006 14:29:58 +0000 (14:29 +0000)]
Improved flist_find()'s empty-entry handling to deal with the case
where more entries may have been removed since the last find.
Wayne Davison [Fri, 27 Jan 2006 12:59:07 +0000 (12:59 +0000)]
Optimized flist_find() so that we never scan a series of empty
file-list items twice (which can be very important with the new
--skip-empty-dirs option). Also optimized the code that strips
root slashes in clean_flist().
Wayne Davison [Fri, 27 Jan 2006 01:20:11 +0000 (01:20 +0000)]
Mention the --skip-empty-dirs option.
Wayne Davison [Fri, 27 Jan 2006 00:32:57 +0000 (00:32 +0000)]
Implement the new --skip-empty-dirs (-k) option.
Wayne Davison [Fri, 27 Jan 2006 00:32:53 +0000 (00:32 +0000)]
Added the --skip-empty-dirs (-k) option.
Wayne Davison [Fri, 27 Jan 2006 00:32:49 +0000 (00:32 +0000)]
Document the new --skip-empty-dirs (-k) option.
Wayne Davison [Thu, 26 Jan 2006 22:32:59 +0000 (22:32 +0000)]
Include popt.h using <popt.h> instead of "popt.h".
Wayne Davison [Thu, 26 Jan 2006 22:32:18 +0000 (22:32 +0000)]
Mention the change in the --itemize-changes output.
Wayne Davison [Thu, 26 Jan 2006 22:28:08 +0000 (22:28 +0000)]
- Include popt.h using <popt.h>, not "popt.h".
- A minor twiddle in server_options().
Wayne Davison [Thu, 26 Jan 2006 22:10:08 +0000 (22:10 +0000)]
Mention --sockopts and an improvement to the testsuite environment.
Wayne Davison [Thu, 26 Jan 2006 21:23:25 +0000 (21:23 +0000)]
The setting of HOME got moved to rsync.fns.
Wayne Davison [Thu, 26 Jan 2006 21:22:57 +0000 (21:22 +0000)]
Set $HOME to $scratchdir so that our tests are not affected by
anything unexpected, such as a ~/.popt file.
Wayne Davison [Thu, 26 Jan 2006 12:41:52 +0000 (12:41 +0000)]
Fixed two typos.
Wayne Davison [Thu, 26 Jan 2006 12:31:47 +0000 (12:31 +0000)]
Make use of the new sockopts variable.
Wayne Davison [Thu, 26 Jan 2006 12:31:24 +0000 (12:31 +0000)]
Added the --sockopts option.
Wayne Davison [Thu, 26 Jan 2006 12:31:14 +0000 (12:31 +0000)]
Mention the --sockopts option.
Wayne Davison [Thu, 26 Jan 2006 12:30:20 +0000 (12:30 +0000)]
Document the new --sockopts option.
Wayne Davison [Thu, 26 Jan 2006 11:14:10 +0000 (11:14 +0000)]
Mentioned the --super option.
Wayne Davison [Thu, 26 Jan 2006 11:10:32 +0000 (11:10 +0000)]
Added the --super option.
Wayne Davison [Thu, 26 Jan 2006 11:10:28 +0000 (11:10 +0000)]
Document the new --super option and how it affects other options.
Wayne Davison [Thu, 26 Jan 2006 11:01:00 +0000 (11:01 +0000)]
Check MY_UID() directly instead of accessing am_root.
Wayne Davison [Thu, 26 Jan 2006 10:50:18 +0000 (10:50 +0000)]
Mention new --specials option and --devices change.
Wayne Davison [Thu, 26 Jan 2006 10:39:04 +0000 (10:39 +0000)]
The itemized output for the fifo changed.
Wayne Davison [Thu, 26 Jan 2006 10:39:01 +0000 (10:39 +0000)]
Added 'S' to the itemized output for special files.
Wayne Davison [Thu, 26 Jan 2006 10:38:58 +0000 (10:38 +0000)]
Handle separated devices and special files.
Wayne Davison [Thu, 26 Jan 2006 10:38:54 +0000 (10:38 +0000)]
Document the new --specials option and how -D and --devices now work.
Wayne Davison [Wed, 25 Jan 2006 17:34:39 +0000 (17:34 +0000)]
One more minor tweak.
Wayne Davison [Wed, 25 Jan 2006 17:10:29 +0000 (17:10 +0000)]
Decided to hold off on the potential memory savings of indexed
uid/gid pairs until the next release.
Wayne Davison [Tue, 24 Jan 2006 22:23:51 +0000 (22:23 +0000)]
Added testing of the --itemize-changes output for devices.
Wayne Davison [Tue, 24 Jan 2006 22:23:14 +0000 (22:23 +0000)]
Changed to handle removed 'a' slot in %i output.
Wayne Davison [Tue, 24 Jan 2006 22:22:17 +0000 (22:22 +0000)]
Fixed a problem in the output of %i's 'T' flag on devices and
got rid of the unused 'a' flag.
Wayne Davison [Tue, 24 Jan 2006 22:14:40 +0000 (22:14 +0000)]
Got rid of the description of 'a' in the %i flags.
Wayne Davison [Tue, 24 Jan 2006 21:40:43 +0000 (21:40 +0000)]
Got rid of some debug code.
Wayne Davison [Tue, 24 Jan 2006 21:39:10 +0000 (21:39 +0000)]
Dump some debug code.
Wayne Davison [Tue, 24 Jan 2006 19:39:09 +0000 (19:39 +0000)]
Optimized id_pair() so that clumps of IDs get handled more
efficiently.
Wayne Davison [Tue, 24 Jan 2006 19:02:55 +0000 (19:02 +0000)]
The uid & gid are now stored using an id_pair structure.
Wayne Davison [Tue, 24 Jan 2006 19:02:48 +0000 (19:02 +0000)]
Another small improvement to the --one-file-system option.
Wayne Davison [Tue, 24 Jan 2006 17:26:24 +0000 (17:26 +0000)]
The in_del_hier code needs to use lastname instead of thisname
because the latter gets cleaned and (possibly) sanitized.
Wayne Davison [Tue, 24 Jan 2006 01:07:19 +0000 (01:07 +0000)]
FERROR messages also need to leave leading newlines unmangled.
Wayne Davison [Mon, 23 Jan 2006 18:48:12 +0000 (18:48 +0000)]
Tweaked the copyright message.
Wayne Davison [Sun, 22 Jan 2006 21:04:21 +0000 (21:04 +0000)]
More improvements to the -x option (some from Matt & some from me).
Wayne Davison [Sun, 22 Jan 2006 20:37:00 +0000 (20:37 +0000)]
New -x code had some problems, so restore the old code for now
(keeping the more optimal stat() calling, though).
Wayne Davison [Sun, 22 Jan 2006 20:30:56 +0000 (20:30 +0000)]
New -x code had some problems, so restore the old code for now.
Wayne Davison [Sat, 21 Jan 2006 21:02:13 +0000 (21:02 +0000)]
Matt's disambiguation.
Wayne Davison [Sat, 21 Jan 2006 20:59:19 +0000 (20:59 +0000)]
- Got rid of the filesystem_dev variable now that --one-file-system
is handled in a new way.
- Moved a stat out of delete_in_dir() into do_delete_pass() to make
--delete-during more efficient.
- Added a missing "#ifdef SUPPORT_LINKS...#endif" block around some
symlink code.
Wayne Davison [Sat, 21 Jan 2006 20:59:16 +0000 (20:59 +0000)]
- Changed how --one-file-system works so that we can skip all mount
points (including "bind" mounts).
- The --chmod option now affects devices (only skipping symlinks).
Wayne Davison [Sat, 21 Jan 2006 20:16:37 +0000 (20:16 +0000)]
Fixed a problem with the FLAG_* defines.
Wayne Davison [Sat, 21 Jan 2006 20:15:49 +0000 (20:15 +0000)]
Disable popt aliases when we're a server so that any user-redefined
options can't cause a compatibility problem.
Wayne Davison [Sat, 21 Jan 2006 19:55:47 +0000 (19:55 +0000)]
A tweak to --dirs and --chmod.
Wayne Davison [Sat, 21 Jan 2006 19:54:14 +0000 (19:54 +0000)]
Use the new saw_delete* variables to ensure that the server side
always reads the exclude information when it is present.
Wayne Davison [Sat, 21 Jan 2006 19:52:55 +0000 (19:52 +0000)]
- We now set some saw_delete* vars to keep track of the case where
we disabled a delete option that the client sent us (since we may
still need to await exclude information from the client in such a
case).
- If -d and --delete are in effect without -r, we may need to send
the -d to the server even if it was implied, and we may need to
send --no-r to the server to ensure that we don't get into a
protocol-corrupting situation should the remote rsync disable the
--delete option (this works because the --no-r option was added in
the same version as the functionality which allows --delete to
work with -d sans -r.
Wayne Davison [Sat, 21 Jan 2006 09:14:42 +0000 (09:14 +0000)]
- Allow multiple --chmod options to be specified.
- Call parse_chmod() with its new arg.
Wayne Davison [Sat, 21 Jan 2006 09:14:39 +0000 (09:14 +0000)]
Tweaked parse_chmod() so that it takes a pointer to an existing list
of chmod items (or NULL) and appends the new items onto the end.
Wayne Davison [Sat, 21 Jan 2006 08:10:45 +0000 (08:10 +0000)]
Document the new --one-file-system behavior, with improvements to
the option's text taken from Matt's patch in bugzilla.
Wayne Davison [Sat, 21 Jan 2006 08:03:18 +0000 (08:03 +0000)]
Handle the --chmod option as either the sender or the receiver so
that only the client needs to know about --chmod (but if an older
version sends the option to the server, we'll still handle it).
Wayne Davison [Sat, 21 Jan 2006 07:58:35 +0000 (07:58 +0000)]
For a local rsync, turn off the --chmod option on the receiving
side so that only the sending side does the work.
Wayne Davison [Sat, 21 Jan 2006 07:53:40 +0000 (07:53 +0000)]
We don't ever need to send the --chmod option to the remote
Wayne Davison [Sat, 21 Jan 2006 01:20:03 +0000 (01:20 +0000)]
Implemented the -xx behavior that skips mount-point dirs.
Wayne Davison [Sat, 21 Jan 2006 00:36:15 +0000 (00:36 +0000)]
Allow the -x option to be repeated.
Wayne Davison [Fri, 20 Jan 2006 21:21:43 +0000 (21:21 +0000)]
- Changed send_file_entry() into a static function again.
- Made send_file_entry() derive the base_flag value from *file.
- Added a flags arg to make_file().
- The flag we send to send_file_name() is a FLAG_* value, not an
XMIT_* value.
Wayne Davison [Fri, 20 Jan 2006 21:21:36 +0000 (21:21 +0000)]
Call make_file() with one more arg (the base flags).
Wayne Davison [Fri, 20 Jan 2006 19:33:24 +0000 (19:33 +0000)]
Mentioned the addition of -ii.
Wayne Davison [Fri, 20 Jan 2006 18:52:52 +0000 (18:52 +0000)]
Document the behavior of -ii.
Wayne Davison [Fri, 20 Jan 2006 18:49:38 +0000 (18:49 +0000)]
Handle the extra output needed when log_format_has_i > 1.
Wayne Davison [Fri, 20 Jan 2006 18:49:07 +0000 (18:49 +0000)]
Allow the --itemize-changes (-i) option to be repeated to indicate
that unchanged files should also be itemized.
Wayne Davison [Fri, 20 Jan 2006 00:14:04 +0000 (00:14 +0000)]
Got rid of unused function u_strcmp().
Wayne Davison [Thu, 19 Jan 2006 21:21:28 +0000 (21:21 +0000)]
Improved a sentence.
Wayne Davison [Thu, 19 Jan 2006 21:16:44 +0000 (21:16 +0000)]
The code in send_file_list() needed a little more improvement to
handle --relative really well:
- We must set "is_dot_dir" when we strip off a trailing "/" or "/.".
- If a trailing "/" or "/." caused us to treat a symlink as a dir,
we now pass our stat() info down to make_file() so that it will
always treat the cleaned-up name as a dir too.
- We must not strip a leading "/".
- Improved the check for ".." elements in the implied dirs.
Wayne Davison [Thu, 19 Jan 2006 21:16:40 +0000 (21:16 +0000)]
Added a new arg to the make_file() call.
Wayne Davison [Thu, 19 Jan 2006 19:05:49 +0000 (19:05 +0000)]
Another bugfix.
Wayne Davison [Thu, 19 Jan 2006 18:53:48 +0000 (18:53 +0000)]
In delete_in_dir(), skip a directory that isn't really a directory on
the local disk (can easily happen if --dry-run was specified).