X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/3f0211b63a6cdc4a2cecfd2a0dffeba172c86a47..d3d07a5e860f1cde0e234ec7a1aff7111a2c514f:/log.c diff --git a/log.c b/log.c index fc4b5833..f4808384 100644 --- a/log.c +++ b/log.c @@ -3,7 +3,7 @@ * * Copyright (C) 1998-2001 Andrew Tridgell * Copyright (C) 2000-2001 Martin Pool - * Copyright (C) 2003-2007 Wayne Davison + * Copyright (C) 2003-2008 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -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; @@ -86,6 +87,7 @@ struct { { RERR_PARTIAL , "some files could not be transferred" }, { RERR_VANISHED , "some files vanished before they could be transferred" }, { RERR_TIMEOUT , "timeout in data send/receive" }, + { RERR_CONTIMEOUT , "timeout waiting for daemon connection" }, { RERR_CMD_FAILED , "remote shell failed" }, { RERR_CMD_KILLED , "remote shell killed" }, { RERR_CMD_RUN , "remote command could not be run" }, @@ -306,7 +308,7 @@ void rwrite(enum logcode code, const char *buf, int len, int is_utf8) switch (code) { case FERROR_XFER: got_xfer_error = 1; - /* CONTINUE */ + /* FALL THROUGH */ case FERROR: case FWARNING: f = stderr; @@ -622,7 +624,7 @@ static void log_formatted(enum logcode code, const char *format, const char *op, break; case 'i': if (iflags & ITEM_DELETED) { - n = "*deleting"; + n = "*deleting "; break; } n = c = buf2 + MAXPATHLEN - 32; @@ -637,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';