[SCM] The rsync repository. - branch master updated

Rsync CVS commit messages rsync-cvs at lists.samba.org
Wed Sep 9 05:31:52 UTC 2020


The branch, master has been updated
       via  a79d9b22 Update the NEWS.
       via  2613c9d9 Handle a --mkpath failure
       via  27aff880 Use new xxhash lib in cygwin build. [buildall]
       via  7b53e67d Try using the Windows version of curl. [buildall]
       via  da956469 Another cygwin build attempt. [buildall]
       via  9c59632d Improve a sentence about --stderr=all.
       via  d1f458d3 Try cygwin build again. [buildall]
      from  a35a900a Add git-version.h to "gen" target.

https://git.samba.org/?p=rsync.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit a79d9b22b1ccfafc7c98d02a9d5c1fb6f89645ef
Author: Wayne Davison <wayne at opencoder.net>
Date:   Tue Sep 8 22:18:32 2020 -0700

    Update the NEWS.

commit 2613c9d98aaef363e4cb1b8683f51af503264fde
Author: Wayne Davison <wayne at opencoder.net>
Date:   Tue Sep 8 10:53:29 2020 -0700

    Handle a --mkpath failure
    
    Fixes bug #96 where --mkpath makes rsync complain when a dest path
    exists but the path contains an alt-dest name for the single file.

commit 27aff880a9e0d177e6bee9c2fd38c4234b57428e
Author: Wayne Davison <wayne at opencoder.net>
Date:   Mon Sep 7 19:42:08 2020 -0700

    Use new xxhash lib in cygwin build. [buildall]

commit 7b53e67d64123692d69cc97d315029daac13dc52
Author: Wayne Davison <wayne at opencoder.net>
Date:   Mon Sep 7 15:11:32 2020 -0700

    Try using the Windows version of curl. [buildall]

commit da956469a11602f5f7fc5837aeb47a87d18056d2
Author: Wayne Davison <wayne at opencoder.net>
Date:   Mon Sep 7 14:39:27 2020 -0700

    Another cygwin build attempt. [buildall]

commit 9c59632d8b92a3bcc50482899e91f0bd065f1588
Author: Wayne Davison <wayne at opencoder.net>
Date:   Mon Sep 7 14:31:53 2020 -0700

    Improve a sentence about --stderr=all.

commit d1f458d383a15f1ed44bb513cf5e4b40c6b22a6f
Author: Wayne Davison <wayne at opencoder.net>
Date:   Mon Sep 7 14:23:39 2020 -0700

    Try cygwin build again. [buildall]

-----------------------------------------------------------------------

Summary of changes:
 .github/workflows/build.yml |  6 +++---
 NEWS.md                     | 21 +++++++++++++++++++--
 main.c                      |  7 +++++--
 rsync.1.md                  |  4 ++--
 testsuite/mkpath.test       |  4 ++++
 5 files changed, 33 insertions(+), 9 deletions(-)


Changeset truncated at 500 lines:

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index f15f737b..84f7afe8 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -91,11 +91,11 @@ jobs:
         args: install -y --no-progress cygwin cyg-get
     - name: prep
       run: |
-        cyg-get make autoconf automake gcc-core attr libattr-devel python3 python36-commonmark libzstd-devel liblz4-devel libssl-devel wget
-        wget https://download.samba.org/pub/rsync/generated-files/git-version.h
+        cyg-get make autoconf automake gcc-core attr libattr-devel python3 python36-commonmark libzstd-devel liblz4-devel libssl-devel libxxhash0 libxxhash-devel
+        curl.exe -o git-version.h https://download.samba.org/pub/rsync/generated-files/git-version.h
         echo "::add-path::C:/tools/cygwin/bin"
     - name: configure
-      run: bash -c './configure --disable-xxhash'
+      run: bash -c './configure'
     - name: make
       run: bash -c 'make'
     - name: install
diff --git a/NEWS.md b/NEWS.md
index 3aabcff1..0d65d2e5 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -6,10 +6,27 @@
 
 ### BUG FIXES:
 
+ - Fix a bug with `--mkpath` if a single-file copy specifies an existing
+   destination dir with a non-existing destination filename.
+
+ - Avoid a weird failure if you run a local copy with a (useless) `--rsh`
+   option that contains a `V`.
+
+### ENHANCEMENTS:
+
  - Use openssl's `-verify_hostname` option in the rsync-ssl script.
 
- - Avoid a weird failure if you run a local copy with an `--rsh` option that
-   contained a `V`.
+### PACKAGING RELATED:
+
+ - When creating a package from a non-release version (w/o a git checkout), the
+   packager can elect to create git-version.h and define RSYNC_GITVER to the
+   string they want `--version` to output.  (The file is still auto-generated
+   using the output of `git describe` when building inside a non-shallow git
+   checkout, though.)
+
+ - Fixed configure to not fail at the SIMD check when cross-compiling.
+
+ - Added a SECURITY.md file.
 
 ------------------------------------------------------------------------------
 <a name="3.2.3"></a>
diff --git a/main.c b/main.c
index 46b97b58..66e5f780 100644
--- a/main.c
+++ b/main.c
@@ -721,18 +721,21 @@ static char *get_local_name(struct file_list *flist, char *dest_path)
 	trailing_slash = cp && !cp[1];
 
 	if (mkpath_dest_arg && statret < 0 && (cp || file_total > 1)) {
+		int save_errno = errno;
 		int ret = make_path(dest_path, file_total > 1 && !trailing_slash ? 0 : MKP_DROP_NAME);
 		if (ret < 0)
 			goto mkdir_error;
-		if (INFO_GTE(NAME, 1)) {
+		if (ret && INFO_GTE(NAME, 1)) {
 			if (file_total == 1 || trailing_slash)
 				*cp = '\0';
 			rprintf(FINFO, "created %d director%s for %s\n", ret, ret == 1 ? "y" : "ies", dest_path);
 			if (file_total == 1 || trailing_slash)
 				*cp = '/';
 		}
-		if (file_total > 1 || trailing_slash)
+		if (ret)
 			statret = do_stat(dest_path, &st);
+		else
+			errno = save_errno;
 	}
 
 	if (statret == 0) {
diff --git a/rsync.1.md b/rsync.1.md
index b1ef84e1..62b810e2 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -613,8 +613,8 @@ your home directory (remove the '=' for that).
       divide up the info and error messages by file handle.  For those doing
       debugging or using several levels of verbosity, this option can help to
       avoid clogging up the transfer stream (which should prevent any chance of
-      a deadlock bug hanging things up).  It also enables the outputting of some
-      I/O related debug messages.
+      a deadlock bug hanging things up).  It also allows `--debug` to enable
+      some extra I/O related messages.
 
     - `client` - causes all rsync messages to be sent to the client side
       via the protocol stream.  One client process outputs all messages, with
diff --git a/testsuite/mkpath.test b/testsuite/mkpath.test
index 6efb2105..80463454 100755
--- a/testsuite/mkpath.test
+++ b/testsuite/mkpath.test
@@ -25,6 +25,10 @@ rm $deep_dir/text
 mkdir $deep_dir/new
 $RSYNC -aiv --mkpath from/text $deep_dir/new
 test -f $deep_dir/new/text || test_fail "'text' file not found in $deep_dir/new dir"
+
+# ... and an existing path when an alternate dest filename is specified
+$RSYNC -aiv --mkpath from/text $deep_dir/new/text2
+test -f $deep_dir/new/text2 || test_fail "'text2' file not found in $deep_dir/new dir"
 rm -rf to/foo
 
 # Try the tests again with multiple source args


-- 
The rsync repository.



More information about the rsync-cvs mailing list