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 <wa...@opencoder.net> Date: Tue Sep 8 22:18:32 2020 -0700 Update the NEWS. commit 2613c9d98aaef363e4cb1b8683f51af503264fde Author: Wayne Davison <wa...@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 <wa...@opencoder.net> Date: Mon Sep 7 19:42:08 2020 -0700 Use new xxhash lib in cygwin build. [buildall] commit 7b53e67d64123692d69cc97d315029daac13dc52 Author: Wayne Davison <wa...@opencoder.net> Date: Mon Sep 7 15:11:32 2020 -0700 Try using the Windows version of curl. [buildall] commit da956469a11602f5f7fc5837aeb47a87d18056d2 Author: Wayne Davison <wa...@opencoder.net> Date: Mon Sep 7 14:39:27 2020 -0700 Another cygwin build attempt. [buildall] commit 9c59632d8b92a3bcc50482899e91f0bd065f1588 Author: Wayne Davison <wa...@opencoder.net> Date: Mon Sep 7 14:31:53 2020 -0700 Improve a sentence about --stderr=all. commit d1f458d383a15f1ed44bb513cf5e4b40c6b22a6f Author: Wayne Davison <wa...@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. _______________________________________________ rsync-cvs mailing list rsync-cvs@lists.samba.org https://lists.samba.org/mailman/listinfo/rsync-cvs