Wayne Davison [Sun, 9 Sep 2007 07:53:22 +0000 (07:53 +0000)]
- Made glob_expand_one() public.
- Tweaking the calling syntax for glob_expand().
Wayne Davison [Sun, 9 Sep 2007 07:53:18 +0000 (07:53 +0000)]
Added the --protect-args (-s) option, and made parse_arguments()
clear out an old popt context before starting a new one.
Wayne Davison [Sun, 9 Sep 2007 07:53:15 +0000 (07:53 +0000)]
- If the user specifies a source arg with a hostspec in it in a local-
source transer, complain and exit. This can help to find option
problems were an arg to an option turns into a local-source arg,
and the real remote-source arg will now get rejected rather than
attempting to find a file with a colon in its name.
- We now support the ability to specify more than one remote arg using
the ":FILENAME" idiom for additional remote filenames.
- If the --protect-args (-s) option was specified, we send just the
"--server -s" options to the remote rsync when it is starting, and
then the real args are sent over the socket.
Wayne Davison [Sun, 9 Sep 2007 07:53:12 +0000 (07:53 +0000)]
- Renamed read_line() to be read_line_old().
- Renamed read_filesfrom_line() to read_line() and added args to allow
the caller to control how it works.
- Added a new function, read_args(), that reads args from a file
descriptor (using read_line()) and expands any wildcards in them.
This function has relocated daemon code (from clientserver.c) and
is also used by the new --protect-args (-s) option. The new code
also got rid of an extra strdup() that wasn't needed.
Wayne Davison [Sun, 9 Sep 2007 07:53:08 +0000 (07:53 +0000)]
Call the renamed read_line() function (was read_filesfrom_line()).
Wayne Davison [Sun, 9 Sep 2007 07:53:05 +0000 (07:53 +0000)]
- Made start_socket_client() and start_inband_exchange() take a variable
number of remote args.
- We now exchange a "VERSION.SUBVERSION" value in the initial @RSYNCD
message. This is backward compatible with pre-protocol 30 rsyncs,
and fixes a problem where rsync daemons weren't checking if they were
speaking a compatible pre-release protocol.
- Moved the protocol-handling code (which was in two places) into a new
function: exchange_protocols().
- Protocol 30 now sends/receives the daemon args using NULLs as a separator
rather than a newline.
- Moved the arg-reading code into a new function in io.c: read_args().
Wayne Davison [Sun, 9 Sep 2007 07:53:02 +0000 (07:53 +0000)]
Call the renamed read_line_old() function (was read_line()).
Wayne Davison [Sun, 9 Sep 2007 07:52:59 +0000 (07:52 +0000)]
Used a couple "#if SUBPROTOCOL_VERSION != 0" conditionals.
Wayne Davison [Sat, 8 Sep 2007 20:16:28 +0000 (20:16 +0000)]
Tweaked the pretend-ssh script.
Wayne Davison [Sat, 8 Sep 2007 20:03:42 +0000 (20:03 +0000)]
Added a remote-shell substitute for use in testing and for certain
other esoteric needs.
Wayne Davison [Sat, 8 Sep 2007 19:42:27 +0000 (19:42 +0000)]
Improved the argv/argc variable names that are really pointers.
Wayne Davison [Tue, 4 Sep 2007 20:10:52 +0000 (20:10 +0000)]
Clarified something in the new --hard-links text.
Wayne Davison [Tue, 4 Sep 2007 07:13:01 +0000 (07:13 +0000)]
Fixed two flist->files[first_hlink_ndx] references.
Wayne Davison [Tue, 4 Sep 2007 06:58:19 +0000 (06:58 +0000)]
Improved a sentence.
Wayne Davison [Tue, 4 Sep 2007 06:57:57 +0000 (06:57 +0000)]
Added a test combining -H with -c and a hard-linked file that has only
one instance inside the copy hierarchy. (Used to fail with protocol 29
or --no-ir.)
Wayne Davison [Tue, 4 Sep 2007 06:53:47 +0000 (06:53 +0000)]
If we turn off FLAG_HLINKED, set FLAG_HLINK_DONE so that any
file-entry values affected by HLINK_BUMP() stay put.
Wayne Davison [Tue, 4 Sep 2007 06:52:52 +0000 (06:52 +0000)]
Changed HLINK_BUMP() to look for either FLAG_HLINKED or FLAG_HLINK_DONE.
Wayne Davison [Mon, 3 Sep 2007 21:51:59 +0000 (21:51 +0000)]
Disabled the debug messages relating to the e_fds vars.
Wayne Davison [Mon, 3 Sep 2007 21:32:21 +0000 (21:32 +0000)]
- Got rid of caveat about -H not working with incremental recursion.
- Talk about how inc_recurse affects -H.
- Mention --no-inc-recursive and --no-ir options.
Wayne Davison [Mon, 3 Sep 2007 21:21:24 +0000 (21:21 +0000)]
Improved the handling of the file-status events received by
the generator.
Wayne Davison [Mon, 3 Sep 2007 21:21:21 +0000 (21:21 +0000)]
We don't disable inc_recurse due to -H anymore.
Wayne Davison [Mon, 3 Sep 2007 21:21:17 +0000 (21:21 +0000)]
Changes to allow hard-linking to work in inc_recurse mode.
Wayne Davison [Mon, 3 Sep 2007 21:21:12 +0000 (21:21 +0000)]
- Changes to allow hard-linking to work in inc_recurse mode.
- Incremented SUBPROTOCOL_VERSION to 7.
Wayne Davison [Mon, 3 Sep 2007 20:43:58 +0000 (20:43 +0000)]
Changed some instances of \" in checkit calls to '.
Wayne Davison [Mon, 3 Sep 2007 19:52:35 +0000 (19:52 +0000)]
Added weeding of "sending incremental file list" line to filter_outfile().
Wayne Davison [Mon, 3 Sep 2007 04:59:15 +0000 (04:59 +0000)]
Added hashtable.o.
Wayne Davison [Mon, 3 Sep 2007 04:59:12 +0000 (04:59 +0000)]
Removed the old version of the hashtable functions and updated
the code to use the structures and functions calls.
Wayne Davison [Mon, 3 Sep 2007 04:59:09 +0000 (04:59 +0000)]
- Use the new hashtable structures and functions.
- Tweaked a {read,write}_varint30() call set that didn't need to be "30".
Wayne Davison [Mon, 3 Sep 2007 04:59:05 +0000 (04:59 +0000)]
Updated hashtable structures.
Wayne Davison [Mon, 3 Sep 2007 04:46:57 +0000 (04:46 +0000)]
The hashtable routines from hlink.c modified to have more generic names,
to support 2 sizes of key (32 and 64 bits), and to have a non-allocating
option for the find routine (returning NULL for no match).
Wayne Davison [Mon, 3 Sep 2007 04:19:11 +0000 (04:19 +0000)]
Use new0() function instead of new() followed by memset().
Wayne Davison [Mon, 3 Sep 2007 04:19:02 +0000 (04:19 +0000)]
Tweaked _new_array() to handle new use_calloc parameter.
Wayne Davison [Mon, 3 Sep 2007 04:18:58 +0000 (04:18 +0000)]
Added new0() and new_array0() to allocate and zero the memory.
Wayne Davison [Sun, 2 Sep 2007 06:25:26 +0000 (06:25 +0000)]
One more tweak to latest omit-dir-times code.
Wayne Davison [Sun, 2 Sep 2007 06:20:42 +0000 (06:20 +0000)]
Added --no-omit-dir-times and --no-O.
Wayne Davison [Sun, 2 Sep 2007 06:00:30 +0000 (06:00 +0000)]
Don't include the checksum_seed in the full-file MD5 checksum.
Wayne Davison [Sun, 2 Sep 2007 06:00:27 +0000 (06:00 +0000)]
Bump up the SUBPROTOCOL_VERSION number.
Wayne Davison [Sat, 1 Sep 2007 16:57:01 +0000 (16:57 +0000)]
Made omit_dir_times a static variable in options.c by encoding
all the time-preserving semantics into preserve_times.
Wayne Davison [Sat, 1 Sep 2007 16:38:09 +0000 (16:38 +0000)]
Document the new --append and --append-verify options.
Wayne Davison [Sat, 1 Sep 2007 16:38:04 +0000 (16:38 +0000)]
Downgrade the new --append option to --append-verify for protocols < 30.
Wayne Davison [Sat, 1 Sep 2007 16:38:00 +0000 (16:38 +0000)]
Handle the new --append and --append-verify options.
Wayne Davison [Sat, 1 Sep 2007 00:59:44 +0000 (00:59 +0000)]
Tweaked a comment.
Wayne Davison [Wed, 29 Aug 2007 23:10:16 +0000 (23:10 +0000)]
Make the verbose message about the file-list expansion clearer in
what is being expanded.
Wayne Davison [Wed, 22 Aug 2007 00:36:56 +0000 (00:36 +0000)]
Don't omit the -4/-6 options if no IPv6 support was compiled into
rsync. Just make them a no-op.
Wayne Davison [Tue, 21 Aug 2007 05:04:02 +0000 (05:04 +0000)]
In pool_free_old(), one code path was not clearing a "next" pointer,
so the code could try to free an extent twice in certain circumstances.
Wayne Davison [Tue, 21 Aug 2007 04:54:30 +0000 (04:54 +0000)]
Fix pool_create() to honor the POOL_INTERN flag.
(Thanks to Brion Vibber.)
Wayne Davison [Thu, 16 Aug 2007 01:22:46 +0000 (01:22 +0000)]
Fixed a null-pointer dereference pointed out by Olivier Thauvin.
Wayne Davison [Sat, 11 Aug 2007 16:53:31 +0000 (16:53 +0000)]
Improved the arg-checking of a daemon command.
Wayne Davison [Sat, 11 Aug 2007 16:51:48 +0000 (16:51 +0000)]
Document the RSYNC_CONNECT_PROG environment variable.
Wayne Davison [Sat, 11 Aug 2007 16:20:56 +0000 (16:20 +0000)]
Added support for a %H escape in the value of the RSYNC_CONNECT_PROG
environment variable.
Wayne Davison [Sat, 4 Aug 2007 22:19:49 +0000 (22:19 +0000)]
Get rid of the comment that --xattrs implies --perms and the
outdated text that said it was a non-standard option.
Wayne Davison [Sat, 4 Aug 2007 22:19:43 +0000 (22:19 +0000)]
Make the --xattrs option not imply --perms.
Wayne Davison [Sat, 4 Aug 2007 19:09:26 +0000 (19:09 +0000)]
Let's go with "delta transfer algorithm" (thanks, Matt).
Wayne Davison [Sat, 4 Aug 2007 19:09:21 +0000 (19:09 +0000)]
Avoid a crash if pop_local_filters() has some pointer gaps.
Wayne Davison [Sat, 4 Aug 2007 17:47:08 +0000 (17:47 +0000)]
- Call the rsync algorithm differential rather than incremental.
- Don't refer to --files-from in the talk of incremental recursion,
since it might make people think that --files-from disables
incremental recursion for any recursively scanned directories.
Wayne Davison [Sat, 4 Aug 2007 17:47:02 +0000 (17:47 +0000)]
- Use the new XMIT_NON_XFER_DIR flag.
- Make sure that non-inc-recurse mode sets FLAG_XFER_DIR on all
the non-implied directories.
- Don't set FLAG_XFER_DIR on non-directories.
Wayne Davison [Sat, 4 Aug 2007 17:46:59 +0000 (17:46 +0000)]
- Added XMIT_NON_XFER_DIR flag.
- Incremented the SUBPROTOCOL_VERSION number.
Wayne Davison [Sat, 4 Aug 2007 16:10:37 +0000 (16:10 +0000)]
Only honor XFLAGS_HLINKED on a non-directory.
Wayne Davison [Sat, 4 Aug 2007 16:08:16 +0000 (16:08 +0000)]
Changed flags variable in send_file_entry() to xflags.
Wayne Davison [Wed, 1 Aug 2007 22:47:36 +0000 (22:47 +0000)]
Files with the same size should also be skipped by --append.
Wayne Davison [Wed, 1 Aug 2007 22:35:54 +0000 (22:35 +0000)]
Don't output a negative time-remaining value if the file has grown.
Wayne Davison [Wed, 1 Aug 2007 22:25:02 +0000 (22:25 +0000)]
Fixed the port-parsing in an path; e.g., this now
works properly: rsync://backup@otherbox/module/a:123:b
Wayne Davison [Wed, 1 Aug 2007 22:18:46 +0000 (22:18 +0000)]
If readdir() gives us an empty name, reject it.
Wayne Davison [Tue, 24 Jul 2007 04:09:46 +0000 (04:09 +0000)]
If --no-ir is specified, pass it to the server.
Wayne Davison [Sun, 15 Jul 2007 06:37:17 +0000 (06:37 +0000)]
Let's try using egrep instead of grep since grep on Solaris
systems was failing to work right.
Wayne Davison [Sun, 15 Jul 2007 06:01:27 +0000 (06:01 +0000)]
Updated the --max-delete docs.
Wayne Davison [Sun, 15 Jul 2007 05:51:05 +0000 (05:51 +0000)]
Mention the improved --max-delete behavior.
Wayne Davison [Sun, 15 Jul 2007 05:43:05 +0000 (05:43 +0000)]
We don't need a compatibility check for --max-delete anymore.
Wayne Davison [Sun, 15 Jul 2007 05:42:30 +0000 (05:42 +0000)]
We now take a negative value specified to --max-delete as being
synonymous with --max-delete=0. We also pass a request for 0
deletions to the server as --max-delete=-1. This ensures that we
can send a backward-compatible option to old and new versions alike.
Wayne Davison [Sat, 14 Jul 2007 22:24:03 +0000 (22:24 +0000)]
Improve the description of --update with respect to symlinks and
special files.
Wayne Davison [Sat, 14 Jul 2007 21:58:36 +0000 (21:58 +0000)]
Make extra-verbose output of touch_up_dirs() only mention the dirs.
Wayne Davison [Sat, 14 Jul 2007 21:49:11 +0000 (21:49 +0000)]
Using --relative with --no-implied-dirs turns off incremental recursion.
(A temporary measure until some bugs can be fixed.)
Wayne Davison [Sat, 14 Jul 2007 21:25:51 +0000 (21:25 +0000)]
- When --omit-implied-dirs is specified and the creation of a directory
fails, we must make sure that the item we're skipping has a name that
is still inside the missing hierarchy by using a prefix matching func.
- We now handle the failure to remove a file to create a dir the same
way as a failed mkdir() (skipping the failed dir's contents).
Wayne Davison [Sat, 14 Jul 2007 21:21:15 +0000 (21:21 +0000)]
- Made f_name() and f_name_cmp() take const pointers.
- Added f_name_has_prefix().
Wayne Davison [Sat, 14 Jul 2007 19:36:52 +0000 (19:36 +0000)]
Make sure that any "dont compress" patterns that have wildcards in a
suffix match stay in the wildcard-matching list.
Wayne Davison [Sat, 14 Jul 2007 19:32:10 +0000 (19:32 +0000)]
The "dont compress" daemon option points to the --skip-compress option
for the default set of non-compressed file suffixes.
Wayne Davison [Sat, 14 Jul 2007 19:29:04 +0000 (19:29 +0000)]
Mention the latest changes.
Wayne Davison [Sat, 14 Jul 2007 19:24:44 +0000 (19:24 +0000)]
Document --skip-compress.
Wayne Davison [Sat, 14 Jul 2007 19:24:35 +0000 (19:24 +0000)]
- Added support for the new --skip-compress option.
- Optimized the matching of non-compressing file suffixes.
Wayne Davison [Sat, 14 Jul 2007 19:24:32 +0000 (19:24 +0000)]
Parse the --skip-compress=LIST option and sent it to the sending side.
Wayne Davison [Sat, 14 Jul 2007 19:24:27 +0000 (19:24 +0000)]
Added more suffixes to the default "dont compress" value.
Wayne Davison [Sat, 14 Jul 2007 04:47:42 +0000 (04:47 +0000)]
Make sure that --dry-run with --del doesn't output extraneous info
when the dest directory does not exist.
Wayne Davison [Sat, 14 Jul 2007 04:20:13 +0000 (04:20 +0000)]
The delete-during code needs to skip directories that don't exist
yet in --dry-run mode to avoid outputting bogus delete details.
Wayne Davison [Sat, 14 Jul 2007 04:06:33 +0000 (04:06 +0000)]
Mention license change.
Wayne Davison [Thu, 12 Jul 2007 14:43:26 +0000 (14:43 +0000)]
Made some descriptions concerning modification times clearer.
Wayne Davison [Thu, 12 Jul 2007 14:04:11 +0000 (14:04 +0000)]
Needed to use ndx_end in decrement_flist_in_progress().
Wayne Davison [Tue, 10 Jul 2007 14:49:35 +0000 (14:49 +0000)]
Mention how --ignore-existing can be useful for restarting a copy
that uses --link-dest.
Wayne Davison [Tue, 10 Jul 2007 14:21:59 +0000 (14:21 +0000)]
- Use "filename", not "file name".
- Say "regular file" instead of "file" when itemizing a list of
non-directory types.
- Try to avoid "file" in its generic sense, as it is hard to figure
out when it includes dirs and when it doesn't.
Wayne Davison [Tue, 10 Jul 2007 13:55:49 +0000 (13:55 +0000)]
Tweaking the license text a bit more.
Wayne Davison [Mon, 9 Jul 2007 01:24:01 +0000 (01:24 +0000)]
Martin gave his approval to use GPLv3 with this code.
Wayne Davison [Sun, 8 Jul 2007 20:53:42 +0000 (20:53 +0000)]
- Do directory touch-ups at the end, even in inc-recurse mode.
- Use the latest F_DIR_*() defines (whose names were tweaked).
Wayne Davison [Sun, 8 Jul 2007 20:53:38 +0000 (20:53 +0000)]
- Use the new DEV_EXTRA_CNT and DIRNODE_EXTRA_CNT defines.
- Use the latest F_DIR_*() defines (whose names were tweaked).
Wayne Davison [Sun, 8 Jul 2007 20:53:35 +0000 (20:53 +0000)]
Use the latest F_DIR_*() defines (whose names were tweaked).
Wayne Davison [Sun, 8 Jul 2007 20:53:31 +0000 (20:53 +0000)]
- Define DEV_EXTRA_CNT and DIRNODE_EXTRA_CNT.
- Define and use ACL_BUMP(), fixing a clash between -A and -x in a
directory's data.
- Tweaked the F_DIR_*() defines to have more consistent names.
- Don't make F_SUM() return a char pointer that is const.
Wayne Davison [Sun, 8 Jul 2007 06:30:28 +0000 (06:30 +0000)]
Changed the spots that referred to the filter_level as filter_flags
to make the naming consistent.
Wayne Davison [Sun, 8 Jul 2007 06:25:57 +0000 (06:25 +0000)]
Added a test for --prune-empty-dirs.
Wayne Davison [Sun, 8 Jul 2007 06:25:54 +0000 (06:25 +0000)]
Got rid of the output differences for protocol 30 since it is now
the same as earlier protocols.
Wayne Davison [Sun, 8 Jul 2007 06:25:51 +0000 (06:25 +0000)]
- Incremental recursion mode does not process the dirs while scanning a
file list's contents. Instead, it handles a parent dir prior to each
extra file list. This makes the dir-processing order the same in
protocol 30 as it is in earlier protocols.
- Moved the permission-fudging code for dirs into recv_generator() to
make the new protocol-30 dir-handling logic easier.
Wayne Davison [Sun, 8 Jul 2007 06:25:47 +0000 (06:25 +0000)]
If we get an ndx that is 1 entry prior to an incremental flist's
start, it refers to the file list's parent dir.
Wayne Davison [Sun, 8 Jul 2007 06:25:42 +0000 (06:25 +0000)]
- The sending side now sets the parent_ndx value in each file list.
- Leave a 1-entry gap between incremental file lists so that we can use
that index value to refer to the parent directory of each file list.
- Set and use the new ndx_end value in the file list. The incremental
recursion mode omits dirs in this value (except in the first list)
since the generator will be using the new "gap" ndx value to process
each parent dir.