From 6e6daf5ac6a4c5a5652dc61c9159143096faca22 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Sat, 15 Sep 2007 16:32:38 +0000 Subject: [PATCH] Fixed a problem with duplicate dirs being unduplicated in the list: in inc_recurse mode, we must keep the last dir of the duplicates. --- flist.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/flist.c b/flist.c index de5f2929..6963b464 100644 --- a/flist.c +++ b/flist.c @@ -2298,14 +2298,11 @@ static void clean_flist(struct file_list *flist, int strip_root) int keep, drop; /* If one is a dir and the other is not, we want to * keep the dir because it might have contents in the - * list. */ - if (S_ISDIR(file->mode)) { - struct file_struct *fp = flist->sorted[j]; - if (!S_ISDIR(fp->mode)) - keep = i, drop = j; - else - keep = j, drop = i; - } else + * list. If both are dirs, keep the last one. + * Otherwise keep the first one. */ + if (S_ISDIR(file->mode)) + keep = i, drop = j; + else keep = j, drop = i; if (am_sender) -- 2.34.1