Wayne Davison [Sun, 23 Sep 2007 21:05:15 +0000 (21:05 +0000)]
Added a stub function for make_bak_dir().
Wayne Davison [Sun, 23 Sep 2007 21:03:46 +0000 (21:03 +0000)]
Added an option to copy_file() that tells it to try to make a
backup directory if the open of the dest file fails.
Wayne Davison [Sun, 23 Sep 2007 21:03:41 +0000 (21:03 +0000)]
The --inplace code now properly handles creating a backup when
the --whole-file and/or --read-batch options are specified.
Wayne Davison [Sun, 23 Sep 2007 21:03:38 +0000 (21:03 +0000)]
Changed make_bak_dir() to take a const char *.
Wayne Davison [Sun, 23 Sep 2007 19:45:22 +0000 (19:45 +0000)]
Use make_bak_dir() if we get ENOENT while trying to open an
inplace backup file.
Wayne Davison [Sun, 23 Sep 2007 19:45:19 +0000 (19:45 +0000)]
Made make_bak_dir() global.
Wayne Davison [Sun, 23 Sep 2007 19:45:00 +0000 (19:45 +0000)]
Made clean_flist() only duplicate *_DIR_* flags on a dropped dir
when the kept entry is also a dir.
Wayne Davison [Sun, 23 Sep 2007 19:10:10 +0000 (19:10 +0000)]
Avoid a checker warning about unfreed memory.
Wayne Davison [Sun, 23 Sep 2007 16:02:33 +0000 (16:02 +0000)]
Fix a glitch in the handling of the last path element in a -R path
with a trailing slash.
Wayne Davison [Sun, 23 Sep 2007 15:46:11 +0000 (15:46 +0000)]
- Don't allow -x to drop implied directories.
- Improved the code that tries to avoid scanning the same dir
twice in a row to not drop any relnamecache entries.
Wayne Davison [Sun, 23 Sep 2007 14:35:12 +0000 (14:35 +0000)]
Added the relnamecache structure and improved some variable names.
Wayne Davison [Sun, 23 Sep 2007 02:18:57 +0000 (02:18 +0000)]
Make sure that the dirs we are merging have the same timestamps.
Wayne Davison [Sun, 23 Sep 2007 02:03:20 +0000 (02:03 +0000)]
Got rid of some unneeded externs.
Wayne Davison [Sun, 23 Sep 2007 02:00:53 +0000 (02:00 +0000)]
Moved list-only output from flist.c to generator.c so that it works
properly even in inc_recurse mode. Got rid of double output, weird
output order, and outputting of implied dirs w/--no-implied-dirs.
Wayne Davison [Sun, 23 Sep 2007 01:18:03 +0000 (01:18 +0000)]
Added a missing "void" to the arg-spec of setup_iconv().
Wayne Davison [Sun, 23 Sep 2007 00:30:40 +0000 (00:30 +0000)]
Added a test to make sure that merging relative items continues to
work right.
Wayne Davison [Sat, 22 Sep 2007 22:57:50 +0000 (22:57 +0000)]
Document the change to how --releative works.
Wayne Davison [Sat, 22 Sep 2007 22:37:52 +0000 (22:37 +0000)]
Always send implied dirs as dirs.
Wayne Davison [Sat, 22 Sep 2007 21:51:08 +0000 (21:51 +0000)]
Fixed a just-introduced glitch in directory creation with --no-implied-dirs.
Wayne Davison [Sat, 22 Sep 2007 21:43:19 +0000 (21:43 +0000)]
We now forward the --no-implied-dirs option to the receiving side,
just in case we end up talking protocol 30 in inc_recurse mode.
Wayne Davison [Sat, 22 Sep 2007 21:43:15 +0000 (21:43 +0000)]
The latest --relative --no-implied-dirs code in inc_recurse mode
sends us a normal sequence of dirs, and we just skip the implied
ones.
Wayne Davison [Sat, 22 Sep 2007 21:43:11 +0000 (21:43 +0000)]
Using relative with incremental recursion now results in a normal
sequence of directories in the hierarchy, and works properly when
merging things from multiple sources.
Wayne Davison [Sat, 22 Sep 2007 21:43:08 +0000 (21:43 +0000)]
Fixed name of PTR_EXTRA_CNT (was PTR_EXTRA_LEN).
Wayne Davison [Sat, 22 Sep 2007 21:43:05 +0000 (21:43 +0000)]
- Incremented the SUBPROTOCOL_VERSION to 9.
- Fixed name of PTR_EXTRA_CNT (was PTR_EXTRA_LEN).
- Added F_DIR_RELS_P() to support --relative in inc_recurse mode.
Wayne Davison [Sat, 22 Sep 2007 18:07:44 +0000 (18:07 +0000)]
Added ifuncs.h.
Wayne Davison [Sat, 22 Sep 2007 18:07:17 +0000 (18:07 +0000)]
Tweaked opening comments.
Wayne Davison [Sat, 22 Sep 2007 16:52:58 +0000 (16:52 +0000)]
Moved inline functions from rsync.h into ifuncs.h.
Wayne Davison [Sat, 22 Sep 2007 16:46:49 +0000 (16:46 +0000)]
Moving inline functions into its own .h file.
Wayne Davison [Sat, 22 Sep 2007 14:18:32 +0000 (14:18 +0000)]
Added some stub functions for compilers not smart enough to get rid
of static inline functions that are not called.
Wayne Davison [Sat, 22 Sep 2007 14:16:48 +0000 (14:16 +0000)]
Avoid affecting the proto.h file.
Wayne Davison [Tue, 18 Sep 2007 19:53:50 +0000 (19:53 +0000)]
Added some stub functions for compilers not smart enough to get rid
of static inline functions that are not called.
Wayne Davison [Tue, 18 Sep 2007 18:46:03 +0000 (18:46 +0000)]
Added missing "#ifdef ICONV_OPTION" conditionals.
Wayne Davison [Tue, 18 Sep 2007 18:45:59 +0000 (18:45 +0000)]
If iconv_t isn't needed, define it as an "int" so that our
proto.h file can be parsed.
Wayne Davison [Tue, 18 Sep 2007 14:18:45 +0000 (14:18 +0000)]
Mention that a negative max-connections value disables the module.
Wayne Davison [Tue, 18 Sep 2007 14:14:22 +0000 (14:14 +0000)]
If max-connections is < 0, disable the module.
Wayne Davison [Tue, 18 Sep 2007 14:11:25 +0000 (14:11 +0000)]
One final tweak.
Wayne Davison [Tue, 18 Sep 2007 14:09:38 +0000 (14:09 +0000)]
Some minor improvements in claim_connection().
Wayne Davison [Tue, 18 Sep 2007 14:04:46 +0000 (14:04 +0000)]
Switching to --no-i-r from --no-ir.
Wayne Davison [Tue, 18 Sep 2007 14:03:41 +0000 (14:03 +0000)]
Document the changed name of --no-i-r.
Wayne Davison [Tue, 18 Sep 2007 01:29:36 +0000 (01:29 +0000)]
Mention the --protect-args (-s) option and how it interacts with
--iconv and --files-from.
Wayne Davison [Tue, 18 Sep 2007 01:14:33 +0000 (01:14 +0000)]
Relocated the setting of ic_ndx.
Wayne Davison [Tue, 18 Sep 2007 01:11:57 +0000 (01:11 +0000)]
- Added new iconvbufs() conversion function that is now used for
our --iconv support.
- Moved the setup of the ic_ndx value to compat.c.
Wayne Davison [Tue, 18 Sep 2007 01:11:54 +0000 (01:11 +0000)]
- Improved -s support.
- Handle setup_iconv() call in parse_arguments() so it gets set early.
Wayne Davison [Tue, 18 Sep 2007 01:11:49 +0000 (01:11 +0000)]
- Make use of new iconvbufs() function.
- Convert protected args when -s and --iconv are active.
- Simplified the splitting of args between normal and protected.
- Relocated setup_iconv() call so that it takes effect earlier.
Wayne Davison [Tue, 18 Sep 2007 01:11:45 +0000 (01:11 +0000)]
- Make use of new iconvbufs() function.
- Convert remote --files-from filenames when -s and --iconv are
active.
Wayne Davison [Tue, 18 Sep 2007 01:11:42 +0000 (01:11 +0000)]
Make use of new iconvbufs() function.
Wayne Davison [Tue, 18 Sep 2007 01:11:35 +0000 (01:11 +0000)]
- Setup the ic_ndx value here with the other FOO_ndx values.
- Don't disable inc_recurse due to --no-implied-dirs.
- Set filesfrom_convert bool.
Wayne Davison [Tue, 18 Sep 2007 01:11:32 +0000 (01:11 +0000)]
- Added an xbuf type for use in the --iconv and --files-from code.
- Incremented the SUBPROTOCOL_VERSION.
Wayne Davison [Mon, 17 Sep 2007 06:02:09 +0000 (06:02 +0000)]
Improved -s and support cvs's -e30.8 version idiom.
Wayne Davison [Mon, 17 Sep 2007 01:45:44 +0000 (01:45 +0000)]
Make sure that the hashed hard-link numbers from different file
lists can't overlap in inc_recurse mode.
Wayne Davison [Sun, 16 Sep 2007 21:41:42 +0000 (21:41 +0000)]
Changed print_child_argv() to take its prefix message as an arg.
Wayne Davison [Sun, 16 Sep 2007 02:42:55 +0000 (02:42 +0000)]
Disable -s by default.
Wayne Davison [Sat, 15 Sep 2007 21:10:35 +0000 (21:10 +0000)]
Adding knowledge of some new options.
Wayne Davison [Sat, 15 Sep 2007 21:10:18 +0000 (21:10 +0000)]
That should have been -s.
Wayne Davison [Sat, 15 Sep 2007 21:08:08 +0000 (21:08 +0000)]
Force knowledge the -p option, since it gets passed specially.
Wayne Davison [Sat, 15 Sep 2007 20:54:31 +0000 (20:54 +0000)]
- Fixed a bug in the passing of the --max-delete option.
- Added --no-i-d as a shorter no-implied-dirs.
- Changing to --no-i-r instead of --no-ir.
Wayne Davison [Sat, 15 Sep 2007 19:58:15 +0000 (19:58 +0000)]
Handle inheritance of SGID bit on dirs marked with FLAG_DIR_CREATED.
Wayne Davison [Sat, 15 Sep 2007 19:58:12 +0000 (19:58 +0000)]
We set FLAG_DIR_CREATED on a dot dir that got created by
get_local_name() rather than using the (now removed)
new_root_dir global.
Wayne Davison [Sat, 15 Sep 2007 19:58:09 +0000 (19:58 +0000)]
- Fixed an inc_recurse problem with implied dirs not getting created
with the right attributes and getting omitted from the output.
- Got rid of the directory touch-up pass in inc_recurse mode again.
This requires us to create any missing directories early, but we
still report on what happened in the normal course of the transfer
sequence.
- Use the FLAG_DIR_CREATED flag instead of (the removed)
new_root_dir global.
Wayne Davison [Sat, 15 Sep 2007 18:43:36 +0000 (18:43 +0000)]
Changed FLAG_DIR_CHANGED to FLAG_DIR_CREATED.
Wayne Davison [Sat, 15 Sep 2007 17:29:25 +0000 (17:29 +0000)]
- If two duplicate directories have identical outside-the-transfer
paths, we only scan one of them in inc_recurse mode.
- When unduplicating directories in inc_recurse mode, dump the
ealier directory if it is implied.
Wayne Davison [Sat, 15 Sep 2007 17:00:41 +0000 (17:00 +0000)]
Reverting last change for a re-think.
Wayne Davison [Sat, 15 Sep 2007 16:32:38 +0000 (16:32 +0000)]
Fixed a problem with duplicate dirs being unduplicated in the list:
in inc_recurse mode, we must keep the last dir of the duplicates.
Wayne Davison [Sat, 15 Sep 2007 15:50:59 +0000 (15:50 +0000)]
Added more local-network IPs to the "hosts allow" rsyncd config
so that the FreeBSD machine in the compile farm can test.
Wayne Davison [Sat, 15 Sep 2007 15:40:57 +0000 (15:40 +0000)]
- Parse hard-link info as soon as we get it in inc_recurse mode.
- Improve the chances of the generator finding a match for a
hard-link file in inc_recurse mode.
Wayne Davison [Sat, 15 Sep 2007 15:36:04 +0000 (15:36 +0000)]
The server should not wait around for an extra end-of-run message.
Wayne Davison [Sat, 15 Sep 2007 15:30:45 +0000 (15:30 +0000)]
Prevent a server from outputting an end-of-run message about its
error-code that cannot be sent successfully.
Wayne Davison [Sat, 15 Sep 2007 15:27:56 +0000 (15:27 +0000)]
Got rid of duplicate error when push_pathname() fails.
Wayne Davison [Mon, 10 Sep 2007 06:15:28 +0000 (06:15 +0000)]
Added an "ndx" arg to all the finish_hard_link() calls.
Wayne Davison [Mon, 10 Sep 2007 06:15:25 +0000 (06:15 +0000)]
- Simplified the flist-spanning gnum logic in match_gnums().
- Don't use hlink_flist in hard_link_check().
- Made the prev_name logic in hard_link_check() better.
- Added an "ndx" arg to the finish_hard_link() call. Also, set the
prev value of any prior entries to the first finished item (which
ensures that any item that follows a re-shuffled item (which was
waiting for a transferred file to finish) can find the FIRST+DONE
item.
Wayne Davison [Sun, 9 Sep 2007 07:58:19 +0000 (07:58 +0000)]
Added --no-protect-args and --no-s.
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.