Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package git-remote-gcrypt for openSUSE:Factory checked in at 2021-01-22 21:52:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/git-remote-gcrypt (Old) and /work/SRC/openSUSE:Factory/.git-remote-gcrypt.new.28504 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "git-remote-gcrypt" Fri Jan 22 21:52:34 2021 rev:3 rq:865877 version:1.4 Changes: -------- --- /work/SRC/openSUSE:Factory/git-remote-gcrypt/git-remote-gcrypt.changes 2020-02-18 10:39:48.832872090 +0100 +++ /work/SRC/openSUSE:Factory/.git-remote-gcrypt.new.28504/git-remote-gcrypt.changes 2021-01-22 21:52:52.737896303 +0100 @@ -1,0 +2,7 @@ +Fri Jan 22 09:17:33 UTC 2021 - Michael Vetter <mvet...@suse.com> + +- Update to 1.4: + * Add gcrypt.require-explicit-force-push configuration key. + * Support rsync URIs like "rsync://user@host/path" (Closes: #980397). + +------------------------------------------------------------------- Old: ---- 1.3.tar.gz New: ---- 1.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ git-remote-gcrypt.spec ++++++ --- /var/tmp/diff_new_pack.eYjKqL/_old 2021-01-22 21:52:53.317897126 +0100 +++ /var/tmp/diff_new_pack.eYjKqL/_new 2021-01-22 21:52:53.317897126 +0100 @@ -1,7 +1,7 @@ # # spec file for package git-remote-gcrypt # -# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: git-remote-gcrypt -Version: 1.3 +Version: 1.4 Release: 0 Summary: Encrypted git repositories License: GPL-2.0-or-later ++++++ 1.3.tar.gz -> 1.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-remote-gcrypt-1.3/.github/PULL_REQUEST_TEMPLATE.md new/git-remote-gcrypt-1.4/.github/PULL_REQUEST_TEMPLATE.md --- old/git-remote-gcrypt-1.3/.github/PULL_REQUEST_TEMPLATE.md 2020-02-09 07:01:25.000000000 +0100 +++ new/git-remote-gcrypt-1.4/.github/PULL_REQUEST_TEMPLATE.md 2021-01-22 02:46:47.000000000 +0100 @@ -3,11 +3,4 @@ Please **do not** submit a pull request on GitHub. This repository is an automated mirror, and I don't develop using GitHub's platform. -Instead, either - -- publish a branch somewhere (a GitHub fork is fine), and e-mail - <spwhit...@spwhitton.name> asking me to merge your branch, possibly - using git-request-pull(1) - -- prepare patches with git-format-patch(1), and send them to - <spwhit...@spwhitton.name>, possibly using git-send-email(1) +Instead, please see CONTRIBUTING.md for patch submission info. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-remote-gcrypt-1.3/CONTRIBUTING.rst new/git-remote-gcrypt-1.4/CONTRIBUTING.rst --- old/git-remote-gcrypt-1.3/CONTRIBUTING.rst 2020-02-09 07:01:25.000000000 +0100 +++ new/git-remote-gcrypt-1.4/CONTRIBUTING.rst 2021-01-22 02:46:47.000000000 +0100 @@ -7,14 +7,50 @@ there is an automated mirror, and I don't develop using GitHub's platform. -Instead, either +Project mailing lists +===================== -- publish a branch somewhere (a GitHub fork is fine), and e-mail - <spwhit...@spwhitton.name> asking me to merge your branch, possibly - using git-request-pull(1) +There are two low-volume project mailing lists, shared with some other +small free software projects: -- prepare patches with git-format-patch(1), and send them to - <spwhit...@spwhitton.name>, possibly using git-send-email(1) +- sgo-software-announce -- + <https://www.chiark.greenend.org.uk/mailman/listinfo/sgo-software-announce> + + For release announcements. + +- sgo-software-discuss -- + <https://www.chiark.greenend.org.uk/mailman/listinfo/sgo-software-discuss> + + For bug reports, posting patches, user questions and discussion. + +Please prepend ``[git-remote-gcrypt]`` to the subject line of your e-mail, +and for patches, pass ``--subject-prefix="PATCH git-remote-gcrypt"`` to +git-send-email(1). + +Posting to sgo-software-discuss +------------------------------- + +If you're not subscribed to the list, your posting will be held for +moderation; please be patient. + +Whether or not you're subscribed, chiark.greenend.org.uk has +aggressive antispam. If your messages aren't getting through, we can +easily add a bypass on chiark; please contact <spwhit...@spwhitton.name>. + +If you don't want to deal with the mailing list and just want to send +patches, you should feel free to pass ``--to=spwhit...@spwhitton.name`` +to git-send-email(1). + +Alternatively, publish a git branch somewhere publically accessible (a +GitHub fork is fine) and write to me asking me to merge it. I may +convert your branch back into patches when sending you feedback :) + +Reporting bugs +============== + +Please read "How to Report Bugs Effectively" to ensure your bug report +constitutes a useful contribution to the project: +<https://www.chiark.greenend.org.uk/~sgtatham/bugs.html> Signing off your commits ======================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-remote-gcrypt-1.3/README.rst new/git-remote-gcrypt-1.4/README.rst --- old/git-remote-gcrypt-1.3/README.rst 2020-02-09 07:01:25.000000000 +0100 +++ new/git-remote-gcrypt-1.4/README.rst 2021-01-22 02:46:47.000000000 +0100 @@ -30,7 +30,8 @@ Installation ............ -* ``apt-get install git-remote-gcrypt`` on Debian and Ubuntu systems +* use your GNU/Linux distribution's package manager -- Debian, Ubuntu, + Fedora, Arch and some smaller distros are known to have packages * run the supplied ``install.sh`` script on other systems @@ -39,7 +40,7 @@ Create an encrypted remote by pushing to it:: - git remote add cryptremote gcrypt::rsync://example.com:repo + git remote add cryptremote gcrypt::rsync://example.com/repo git push cryptremote master > gcrypt: Setting up new repository > gcrypt: Remote ID is :id:7VigUnLVYVtZx8oir34R @@ -96,6 +97,14 @@ ``rsync://`` backend. If the flags are set to a specific remote, the global flags, if also set, will not be applied for that remote. +``remote.<name>.gcrypt-require-explicit-force-push`` + .. +``gcrypt.require-explicit-force-push`` + A longstanding bug is that every git push effectively has a ``--force``. + + If this flag is set to ``true``, git-remote-gcrypt will refuse to push, + unless ``--force`` is passed, or refspecs are prefixed with ``+``. + Environment variables ===================== @@ -107,7 +116,7 @@ How to set up a remote for two participants:: - git remote add cryptremote gcrypt::rsync://example.com:repo + git remote add cryptremote gcrypt::rsync://example.com/repo git config remote.cryptremote.gcrypt-participants "KEY1 KEY2" git push cryptremote master @@ -154,10 +163,12 @@ repository hosting service like Gitolite, GitHub or GitLab. rsync URIs - Note that the URI format for the rsync backend is, regretably, - non-standard. git-remote-gcrypt uses ``rsync://user@host:path`` - whereas plain rsync uses either ``user@host:path`` or - ``rsync://user@host/path``. + The URI format for the rsync backend is ``rsync://user@host/path``, + which translates to the rsync location ``user@host:/path``, + accessed over ssh. Note that the path is absolute, not relative to the + home directory. An earlier non-standard URI format is also supported: + ``rsync://user@host:path``, which translates to the rsync location + ``user@host:path`` rclone backend In addition to adding the rclone backend as a remote with URI like diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-remote-gcrypt-1.3/debian/changelog new/git-remote-gcrypt-1.4/debian/changelog --- old/git-remote-gcrypt-1.3/debian/changelog 2020-02-09 07:01:25.000000000 +0100 +++ new/git-remote-gcrypt-1.4/debian/changelog 2021-01-22 02:46:47.000000000 +0100 @@ -1,3 +1,18 @@ +git-remote-gcrypt (1.4-1) unstable; urgency=medium + + Upstream: + * Add gcrypt.require-explicit-force-push configuration key. + Thanks to Jay Colson for the idea and a patch. + * Support rsync URIs like "rsync://user@host/path" (Closes: #980397). + Thanks to Joey Hess for the patch. + * CONTRIBUTING.rst: + - Add mailing list information. + - Add link to "How to Report Bugs Effectively". + * PULL_REQUEST_TEMPLATE.md: replace patch submission instructions with + reference to CONTRIBUTING.md. + + -- Sean Whitton <spwhit...@spwhitton.name> Thu, 21 Jan 2021 18:46:38 -0700 + git-remote-gcrypt (1.3-1) unstable; urgency=medium Upstream: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-remote-gcrypt-1.3/git-remote-gcrypt new/git-remote-gcrypt-1.4/git-remote-gcrypt --- old/git-remote-gcrypt-1.3/git-remote-gcrypt 2020-02-09 07:01:25.000000000 +0100 +++ new/git-remote-gcrypt-1.4/git-remote-gcrypt 2021-01-22 02:46:47.000000000 +0100 @@ -149,6 +149,12 @@ xecho "$#" } +# Convert URI in standard or nonstandard form to rsync's user@host:path +rsynclocation () +{ + echo "${1#rsync://}" | sed 's/\(^[^:/]*\)\//\1:\//' +} + ## gitception part # Fetch giturl $1, file $2 @@ -229,7 +235,7 @@ (exec 0>&-; curl -s -S -k "$1/$2") > "$3" elif isurl rsync "$1" then - (exec 0>&-; rsync -I -W "${1#rsync://}"/"$2" "$3" >&2) + (exec 0>&-; rsync -I -W "$(rsynclocation "$1")"/"$2" "$3" >&2) elif isurl rclone "$1" then (exec 0>&-; rclone copyto "${1#rclone://}"/"$2" "$3" >&2) @@ -249,7 +255,7 @@ curl -s -S -k --ftp-create-dirs -T "$3" "$1/$2" elif isurl rsync "$1" then - rsync $Conf_rsync_put_flags -I -W "$3" "${1#rsync://}"/"$2" >&2 + rsync $Conf_rsync_put_flags -I -W "$3" "$(rsynclocation "$1")"/"$2" >&2 elif isurl rclone "$1" then rclone copyto "$3" "${1#rclone://}"/"$2" >&2 @@ -281,7 +287,7 @@ elif isurl rsync "$1" then rsync $Conf_rsync_put_flags -q -r --exclude='*' \ - "$Localdir/" "${1#rsync://}" >&2 + "$Localdir/" "$(rsynclocation "$1")" >&2 elif isurl rclone "$1" then rclone mkdir "${1#rclone://}" >&2 @@ -304,7 +310,7 @@ elif isurl rsync "$1" then xfeed "$2" rsync -I -W -v -r --delete --include-from=- \ - --exclude='*' "$Localdir"/ "${1#rsync://}/" >&2 + --exclude='*' "$Localdir"/ "$(rsynclocation "$1")/" >&2 elif isurl rclone "$1" then xfeed "$2" rclone delete -v --include-from=/dev/stdin "${1#rclone://}/" >&2 @@ -426,12 +432,14 @@ Conf_signkey=$(git config --get "remote.$NAME.gcrypt-signingkey" '.+' || git config --path user.signingkey || :) conf_part=$(git config --get "remote.$NAME.gcrypt-participants" '.+' || - git config --get gcrypt.participants '.+' || :) + git config --get gcrypt.participants '.+' || :) Conf_pubish_participants=$(git config --get --bool "remote.$NAME.gcrypt-publish-participants" '.+' || git config --get --bool gcrypt.publish-participants || :) Conf_gpg_args=$(git config --get gcrypt.gpg-args '.+' || :) Conf_rsync_put_flags=$(git config --get "remote.$NAME.gcrypt-rsync-put-flags" '.+' || git config --get "gcrypt.rsync-put-flags" '.+' || :) + Conf_force_required=$(git config --get --bool "remote.$NAME.gcrypt-require-explicit-force-push" '.+' || + git config --get --bool gcrypt.require-explicit-force-push '.+' || :) # Figure out which keys we should encrypt to or accept signatures from if isnull "$conf_part" || iseq "$conf_part" simple @@ -730,7 +738,8 @@ # file's hash. The manifest is updated with the pack id. # The manifest is encrypted. local r_revlist= pack_id= key_= obj_= src_= dst_= \ - r_pack_delete= tmp_encrypted= tmp_objlist= tmp_manifest= + r_pack_delete= tmp_encrypted= tmp_objlist= tmp_manifest= \ + force_passed= ensure_connected @@ -748,6 +757,11 @@ while IFS=: read -r src_ dst_ # << +src:dst do + if [ $(echo "$src_" | cut -c1) != + ] + then + force_passed=false + fi + src_=${src_#+} filter_to ! @Refslist "$Hex40 $dst_" "$Refslist" @@ -761,6 +775,18 @@ $1 EOF + if [ "$force_passed" = false ] + then + if [ "$Conf_force_required" = true ] + then + echo_die "Implicit force push disallowed by gcrypt configuration." + else + echo_info "Due to a longstanding bug, this push implicitly has --force." + echo_info "Consider explicitly passing --force, and setting" + echo_info "gcrypt's require-explicit-force-push git config key." + fi + fi + tmp_encrypted="$Tempdir/packP" tmp_objlist="$Tempdir/objlP"