[SCM] The rsync repository. - branch master updated
Rsync CVS commit messages
rsync-cvs at lists.samba.org
Tue Jul 21 19:38:09 UTC 2020
The branch, master has been updated
via 96be713f Update NEWS.
via 13d8fc95 Avoid some extraneous parent-dir warnings
via f74473b1 Don't create a path for a file marked as missing.
via 5eda68f1 Tweak include syntax.
via f6352073 Save the build into an artifact.
via 64f7e893 Ignore *.exe files (for Cygwin builds).
via 31556ec7 Use just $(...) instead of a mix of that and ${...}.
via 9ad3f438 Make the daily build happen a few hours later.
from e9899dbd Add strict (no-skipping) checks and use them.
https://git.samba.org/?p=rsync.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 96be713fd23bb1c39a66a031596bfee04be7995b
Author: Wayne Davison <wayne at opencoder.net>
Date: Tue Jul 21 12:35:45 2020 -0700
Update NEWS.
commit 13d8fc9542a1441dd93bc2c4ca1348b1b2b1a9e8
Author: Wayne Davison <wayne at opencoder.net>
Date: Tue Jul 21 11:42:32 2020 -0700
Avoid some extraneous parent-dir warnings
Don't complain about an absent parent dir if the current file is marked
as missing and there is a marked-as-missing entry for the parent dir.
commit f74473b15141416be399018b019340c82d3657ea
Author: Wayne Davison <wayne at opencoder.net>
Date: Tue Jul 21 11:22:24 2020 -0700
Don't create a path for a file marked as missing.
commit 5eda68f11bf6efe782cca60a2415191f4532c3b5
Author: Wayne Davison <wayne at opencoder.net>
Date: Mon Jul 20 18:44:37 2020 -0700
Tweak include syntax.
commit f63520734708d98573aa9269808985d206684e6e
Author: Wayne Davison <wayne at opencoder.net>
Date: Mon Jul 20 14:43:28 2020 -0700
Save the build into an artifact.
commit 64f7e893f3b133b2c340b21e1a32f6fec2b06a1f
Author: Wayne Davison <wayne at opencoder.net>
Date: Mon Jul 20 14:43:06 2020 -0700
Ignore *.exe files (for Cygwin builds).
commit 31556ec7a8f7dd781f8ac29ffe5f517af09778e0
Author: Wayne Davison <wayne at opencoder.net>
Date: Mon Jul 20 14:42:13 2020 -0700
Use just $(...) instead of a mix of that and ${...}.
commit 9ad3f4385f055e2a9abbde0058a92eef169c6699
Author: Wayne Davison <wayne at opencoder.net>
Date: Sat Jul 18 23:17:25 2020 -0700
Make the daily build happen a few hours later.
-----------------------------------------------------------------------
Summary of changes:
.github/workflows/build.yml | 34 ++++++++++++++++++++++++++++++++--
.gitignore | 1 +
Makefile.in | 22 +++++++++++-----------
NEWS.md | 6 +++++-
checksum.c | 2 +-
generator.c | 15 ++++++++++-----
6 files changed, 60 insertions(+), 20 deletions(-)
Changeset truncated at 500 lines:
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 182fa6c9..812171dc 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -6,11 +6,11 @@ on:
pull_request:
branches: [ master ]
schedule:
- - cron: '42 5 * * *'
+ - cron: '42 8 * * *'
jobs:
- linux-build:
+ ubuntu-build:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout at v2
@@ -34,6 +34,16 @@ jobs:
run: sudo make strict_check29
- name: ssl file list
run: rsync-ssl --no-motd download.samba.org::rsyncftp/ || true
+ - name: save artifact
+ uses: actions/upload-artifact at v2
+ with:
+ name: ubuntu-bin
+ path: |
+ rsync
+ rsync-ssl
+ rsync.1
+ rsync-ssl.1
+ rsyncd.conf.5
macos-build:
runs-on: macos-latest
@@ -56,6 +66,16 @@ jobs:
run: sudo make check
- name: ssl file list
run: rsync-ssl --no-motd download.samba.org::rsyncftp/ || true
+ - name: save artifact
+ uses: actions/upload-artifact at v2
+ with:
+ name: macos-bin
+ path: |
+ rsync
+ rsync-ssl
+ rsync.1
+ rsync-ssl.1
+ rsyncd.conf.5
cygwin-build:
runs-on: windows-latest
@@ -81,3 +101,13 @@ jobs:
run: bash -c 'make check'
- name: ssl file list
run: bash -c 'PATH="/usr/local/bin:$PATH" rsync-ssl --no-motd download.samba.org::rsyncftp/ || true'
+ - name: save artifact
+ uses: actions/upload-artifact at v2
+ with:
+ name: cygwin-bin
+ path: |
+ rsync.exe
+ rsync-ssl.exe
+ rsync.1
+ rsync-ssl.1
+ rsyncd.conf.5
diff --git a/.gitignore b/.gitignore
index b8e90ca4..6fb512ee 100644
--- a/.gitignore
+++ b/.gitignore
@@ -53,3 +53,4 @@ aclocal.m4
/build
/auto-build-save
.deps
+/*.exe
diff --git a/Makefile.in b/Makefile.in
index 07479ca2..513b2f8c 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -72,23 +72,23 @@ all: Makefile rsync$(EXEEXT) stunnel-rsyncd.conf @MAKE_MAN@
.PHONY: install
install: all
- -${MKDIR_P} ${DESTDIR}${bindir}
- ${INSTALLCMD} ${INSTALL_STRIP} -m 755 rsync$(EXEEXT) ${DESTDIR}${bindir}
- ${INSTALLCMD} -m 755 $(srcdir)/rsync-ssl ${DESTDIR}${bindir}
- -${MKDIR_P} ${DESTDIR}${mandir}/man1
- -${MKDIR_P} ${DESTDIR}${mandir}/man5
- if test -f rsync.1; then ${INSTALLMAN} -m 644 rsync.1 ${DESTDIR}${mandir}/man1; fi
- if test -f rsync-ssl.1; then ${INSTALLMAN} -m 644 rsync-ssl.1 ${DESTDIR}${mandir}/man1; fi
- if test -f rsyncd.conf.5; then ${INSTALLMAN} -m 644 rsyncd.conf.5 ${DESTDIR}${mandir}/man5; fi
+ -$(MKDIR_P) $(DESTDIR)$(bindir)
+ $(INSTALLCMD) $(INSTALL_STRIP) -m 755 rsync$(EXEEXT) $(DESTDIR)$(bindir)
+ $(INSTALLCMD) -m 755 $(srcdir)/rsync-ssl $(DESTDIR)$(bindir)
+ -$(MKDIR_P) $(DESTDIR)$(mandir)/man1
+ -$(MKDIR_P) $(DESTDIR)$(mandir)/man5
+ if test -f rsync.1; then $(INSTALLMAN) -m 644 rsync.1 $(DESTDIR)$(mandir)/man1; fi
+ if test -f rsync-ssl.1; then $(INSTALLMAN) -m 644 rsync-ssl.1 $(DESTDIR)$(mandir)/man1; fi
+ if test -f rsyncd.conf.5; then $(INSTALLMAN) -m 644 rsyncd.conf.5 $(DESTDIR)$(mandir)/man5; fi
install-ssl-daemon: stunnel-rsyncd.conf
- -${MKDIR_P} ${DESTDIR}/etc/stunnel
- ${INSTALLCMD} -m 644 stunnel-rsyncd.conf ${DESTDIR}/etc/stunnel/rsyncd.conf
+ -$(MKDIR_P) $(DESTDIR)/etc/stunnel
+ $(INSTALLCMD) -m 644 stunnel-rsyncd.conf $(DESTDIR)/etc/stunnel/rsyncd.conf
@if ! ls /etc/rsync-ssl/certs/server.* >/dev/null 2>/dev/null; then \
echo "Note that you'll need to install the certificate used by /etc/stunnel/rsyncd.conf"; \
fi
-install-all: install install-ssl-client install-ssl-daemon
+install-all: install install-ssl-daemon
install-strip:
$(MAKE) INSTALL_STRIP='-s' install
diff --git a/NEWS.md b/NEWS.md
index 6ab53861..3ae5f74c 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -15,6 +15,10 @@
- Restored the ability to use --bwlimit=0 to specify no bandwidth limit. (It
was accidentally broken in 3.2.2.)
+ - Fix a bug when combining `--delete-missing-args` with `--no-implied-dirs` &
+ `-R` where rsync might create the destination path of a missing arg. The
+ code also avoids some superfluous warnings for nested paths of removed args.
+
### ENHANCEMENTS:
- Allow `--max-alloc=0` to specify no limit to the alloc sanity check.
@@ -33,7 +37,7 @@
user & group names inside a chrooted daemon module. This is based on the
nameconverter patch with some improvements, including a tweak to the request
protocol (so if you used this patch in the past, be sure to update your
- converter script).
+ converter script to use newlines instead of null chars).
- Added the ability to specify "@netgroup" names to the `hosts allow` and
`hosts deny` daemon parameters. This is a finalized version of the
diff --git a/checksum.c b/checksum.c
index 6dabfb08..1ed76828 100644
--- a/checksum.c
+++ b/checksum.c
@@ -29,7 +29,7 @@
#include "rsync.h"
#ifdef SUPPORT_XXHASH
-#include "xxhash.h"
+#include <xxhash.h>
# if XXH_VERSION_NUMBER >= 800
# define SUPPORT_XXH3 1
# endif
diff --git a/generator.c b/generator.c
index adb3307c..1648db1c 100644
--- a/generator.c
+++ b/generator.c
@@ -1277,20 +1277,25 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
* this function was asked to process in the file list. */
if (!inc_recurse
&& (*dn != '.' || dn[1]) /* Avoid an issue with --relative and the "." dir. */
- && (!prior_dir_file || strcmp(dn, f_name(prior_dir_file, NULL)) != 0)
- && flist_find_name(cur_flist, dn, 1) < 0) {
+ && (!prior_dir_file || strcmp(dn, f_name(prior_dir_file, NULL)) != 0)) {
+ int ok = 0, j = flist_find_name(cur_flist, dn, -1);
+ if (j >= 0) {
+ struct file_struct *f = cur_flist->sorted[j];
+ if (S_ISDIR(f->mode) || (missing_args == 2 && !file->mode && !f->mode))
+ ok = 1;
+ }
/* The --delete-missing-args option can actually put invalid entries into
* the file list, so if that option was specified, we'll just complain about
* it and allow it. */
- if (missing_args == 2 && file->mode == 0)
+ if (!ok && missing_args == 2 && file->mode == 0 && j < 0)
rprintf(FERROR, "WARNING: parent dir is absent in the file list: %s\n", dn);
- else {
+ else if (!ok) {
rprintf(FERROR, "ABORTING due to invalid path from sender: %s/%s\n",
dn, file->basename);
exit_cleanup(RERR_PROTOCOL);
}
}
- if (relative_paths && !implied_dirs
+ if (relative_paths && !implied_dirs && file->mode != 0
&& do_stat(dn, &sx.st) < 0) {
if (dry_run)
goto parent_is_dry_missing;
--
The rsync repository.
More information about the rsync-cvs
mailing list