--- hlink.c 23 Apr 2005 17:48:34 -0000 1.52 +++ hlink.c 9 Jun 2005 15:22:23 -0000 @@ -23,6 +23,7 @@ extern int dry_run; extern int verbose; extern int make_backups; +extern int log_format_has_i; extern struct file_list *the_file_list; #ifdef SUPPORT_HARD_LINKS @@ -180,7 +181,7 @@ int hard_link_check(struct file_struct * head = hlink_list[file->F_HLINDEX]; if (ndx != head) { struct file_struct *head_file = FPTR(head); - if (verbose > 2) { + if (!log_format_has_i && verbose > 1) { rprintf(FINFO, "\"%s\" is a hard link\n", safe_fname(f_name(file))); } --- log.c 14 Apr 2005 16:08:10 -0000 1.113 +++ log.c 9 Jun 2005 15:22:23 -0000 @@ -512,7 +512,7 @@ static void log_formatted(enum logcode c int i; for (i = 2; n[i]; i++) n[i] = ch; - } else if (!(iflags & (ITEM_TRANSFER|ITEM_LOCAL_CHANGE))) { + } else if (n[0] == '.' || n[0] == 'h') { int i; for (i = 2; n[i]; i++) { if (n[i] != '.') @@ -602,12 +602,15 @@ void log_item(struct file_struct *file, void maybe_log_item(struct file_struct *file, int iflags, int itemizing, char *buf) { - int see_item = itemizing && (iflags || verbose > 1); + int significant_flags = iflags & SIGNIFICANT_ITEM_FLAGS; + int see_item = itemizing && (significant_flags || *buf || verbose > 1); + int local_change = iflags & ITEM_LOCAL_CHANGE + && (!(iflags & ITEM_XNAME_FOLLOWS) || significant_flags || *buf); if (am_server) { if (am_daemon && !dry_run && see_item) log_item(file, &stats, iflags, buf); - } else if (see_item || iflags & ITEM_LOCAL_CHANGE || *buf - || (S_ISDIR(file->mode) && iflags & SIGNIFICANT_ITEM_FLAGS)) + } else if (see_item || local_change || *buf + || (S_ISDIR(file->mode) && significant_flags)) log_item(file, &stats, iflags, buf); }