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 [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 [Tue, 17 Jan 2006 04:26:12 +0000 (04:26 +0000)]
- Fixed the --help and --version output to avoid using embedded
newlines (which are no longer allowed in rprint()).
- Updated the Copyright info for 2006.
Wayne Davison [Sun, 15 Jan 2006 07:11:23 +0000 (07:11 +0000)]
- Improved get_local_name() using ideas from Matt McCutchen's
version: lots more comments, and a "local name" copy now
does a chdir to the parent dir of the destination file.
- Moved the setlocale() call prior to the parse_arguments() call.
Wayne Davison [Sat, 14 Jan 2006 20:26:28 +0000 (20:26 +0000)]
- We now filter all rwrite() output when it goes out to the terminal
to make sure that it contains readable characters.
- Got rid of the buf[len] = '\0' in rwrite().
- Call f_name() with revised args (which also replaces f_name_to()).
Wayne Davison [Thu, 5 Jan 2006 02:29:16 +0000 (02:29 +0000)]
+ Changed two buffers to use BIGPATHBUFLEN instead of MAXPATHLEN+512.
+ Changed a strncpy() call into a (more appropriate) memcpy() call.
+ Made the ellipsis[] string static because some older compilers may
not like the dynamic initialization of a character string.
+ Expanded some 1-line "case ... break;" statements onto separate
lines.
Wayne Davison [Mon, 2 Jan 2006 17:46:18 +0000 (17:46 +0000)]
We use the new wildmatch_array() and litmatch_array() functions to
make our include/exclude code easier to read and maintain, and to
eliminate a buffer copy when handling an absolute-path pattern
(which eliminated the full_name[] buffer). Also added handling
for the new MATCHFLG_WILD3_SUFFIX define that allows a string that
ends with "dir/***" to match the "dir" as well as its contents.
Wayne Davison [Mon, 2 Jan 2006 17:46:15 +0000 (17:46 +0000)]
Added a new function, wildmatch_array(), that lets the caller pass
the text-string as an array of strings (with a terminating NULL
pointer at the end). Also added litmatch_array(), which does a
literal match (no wildcards or special chars) against an array of
strings.
Wayne Davison [Fri, 30 Dec 2005 07:12:48 +0000 (07:12 +0000)]
- Added a new public function, iwildmatch(), which will treat all
upper-case letters in the "text" as lower-case.
- Renamed variable "ch" -> "p_ch" and "prev" -> "prev_ch".
- Added variable "t_ch" to hold the current *text value.
- Return ABORT_ALL if we reach the end of the text string with
more pattern to match.
Wayne Davison [Sun, 18 Dec 2005 19:40:50 +0000 (19:40 +0000)]
Added a comment, improved a comment, tweaked the recursive function's
name, tweaked the arg names to wildmatch(), and tweaked the style of
the "else" statements when they follow a brace.
Wayne Davison [Fri, 16 Dec 2005 17:18:29 +0000 (17:18 +0000)]
If the user specifies --backup with --delete (but without --backup-dir
and --delete-excluded), append a protect-filter rule onto the list of
filter rules. We run this on both the client and server side so that
an older client talking to a newer server still gets the protection
rule. (This rule will not cause compatibility problems with older
versions of rsync due to the graceful way that a protect rule turns
into an exclude rule if it needs to be sent to an older server.)
Wayne Davison [Fri, 16 Dec 2005 16:57:26 +0000 (16:57 +0000)]
- Added a comment about configure figuring out the default user
and group to use in daemon mode.
- Belatedly updated the version of popt that comes with rsync.
- Updated the Mac OS X info.
Wayne Davison [Thu, 15 Dec 2005 23:00:02 +0000 (23:00 +0000)]
When compare-dest/link-dest/copy-dest are in effect, we now check
if the file we're about to hard-link to the leader is present in
one of the dest dirs -- if it is, we adjust the text we output
accordingly.
Wayne Davison [Thu, 15 Dec 2005 22:59:56 +0000 (22:59 +0000)]
Improved the compare-dest/link-dest/copy-dest code to make it more
readable, to make it output properly in double-verbose mode, and
to allow the hard-linking of symlinks and devices (if supported by
the OS).
Wayne Davison [Tue, 15 Nov 2005 06:35:27 +0000 (06:35 +0000)]
Changed -h to be an alias for --human-readable (getting rid of -m).
Also added backward-compatibility code so that "rsync -h" shows the
help page on stdout like it would in older versions.
Wayne Davison [Sat, 12 Nov 2005 19:53:26 +0000 (19:53 +0000)]
Output the stats and the end-of-run verbose output using the new
human_num() and human_dnum() functions, which both honor the
new --human-readable option.