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"
 

Reply via email to