diff options
author | Wayne Davison <wayned@samba.org> | 2008-02-18 14:10:13 -0800 |
---|---|---|
committer | Wayne Davison <wayned@samba.org> | 2008-02-18 15:57:59 -0800 |
commit | 1ed56a05c26b6cb6f3891ce16be89aeab388a293 (patch) | |
tree | 52afcc200e3f4f3ba65b28afc95009bccfcbb885 /log.c | |
parent | 28fb6365d096cf1e7125cde322c92c1b80b4ecee (diff) | |
download | android_external_rsync-1ed56a05c26b6cb6f3891ce16be89aeab388a293.tar.gz android_external_rsync-1ed56a05c26b6cb6f3891ce16be89aeab388a293.tar.bz2 android_external_rsync-1ed56a05c26b6cb6f3891ce16be89aeab388a293.zip |
Extended the protocol-30 info-passing code at startup, and use it to
tell the client if the server can set the times on a symlink (both
the server->client byte and the client->server use of -e). Make use
of this info to allow the proper output of the 't' flag when rsync
can set the time on a symlink (and we're talking protocol >= 30).
Added output of "[no] symtimes" info in the --version message.
Fixed the itemize.test so that it works when rsync believes that it
can set the time of a symlink, but it can't really do it.
Diffstat (limited to 'log.c')
-rw-r--r-- | log.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -41,6 +41,7 @@ extern int stdout_format_has_i; extern int stdout_format_has_o_or_i; extern int logfile_format_has_i; extern int logfile_format_has_o_or_i; +extern int receiver_symlink_times; extern mode_t orig_umask; extern char *auth_user; extern char *stdout_format; @@ -638,7 +639,8 @@ static void log_formatted(enum logcode code, const char *format, const char *op, c[2] = !(iflags & ITEM_REPORT_CHECKSUM) ? '.' : 'c'; c[3] = !(iflags & ITEM_REPORT_SIZE) ? '.' : 's'; c[4] = !(iflags & ITEM_REPORT_TIME) ? '.' - : !preserve_times || S_ISLNK(file->mode) ? 'T' : 't'; + : !preserve_times || (!receiver_symlink_times && S_ISLNK(file->mode)) + ? 'T' : 't'; c[5] = !(iflags & ITEM_REPORT_PERMS) ? '.' : 'p'; c[6] = !(iflags & ITEM_REPORT_OWNER) ? '.' : 'o'; c[7] = !(iflags & ITEM_REPORT_GROUP) ? '.' : 'g'; |