threads / patch / 47860

patchsubtree: hide GPG signatures in calls to log

Subject: [PATCH] subtree: hide GPG signatures in calls to log

## tl;dr

2 messages between Feb 16, 2018 and Feb 22, 2018. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Stephen R Guglielmo· Feb 16, 2018, 03:34 UTC · lore
This fixes `add` and `pull` for GPG signed objects.
Signed-off-by: Stephen R Guglielmo <srg@guglielmo.us>
---
 contrib/subtree/git-subtree.sh | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
Show changes to contrib/subtree/git-subtree.sh +6 −7
diff --git a/contrib/subtree/git-subtree.sh b/contrib/subtree/git-subtree.sh
index dec085a23..9594ca4b5 100755
--- a/contrib/subtree/git-subtree.sh
+++ b/contrib/subtree/git-subtree.sh
@@ -297,7 +297,7 @@ find_latest_squash () {
     main=
     sub=
     git log --grep="^git-subtree-dir: $dir/*\$" \
-        --pretty=format:'START %H%n%s%n%n%b%nEND%n' HEAD |
+        --no-show-signature --pretty=format:'START %H%n%s%n%n%b%nEND%n' HEAD |
     while read a b junk
     do
         debug "$a $b $junk"
@@ -341,7 +341,7 @@ find_existing_splits () {
     main=
     sub=
     git log --grep="^git-subtree-dir: $dir/*\$" \
-        --pretty=format:'START %H%n%s%n%n%b%nEND%n' $revs |
+        --no-show-signature --pretty=format:'START %H%n%s%n%n%b%nEND%n' $revs |
     while read a b junk
     do
         case "$a" in
@@ -382,7 +382,7 @@ copy_commit () {
     # We're going to set some environment vars here, so
     # do it in a subshell to get rid of them safely later
     debug copy_commit "{$1}" "{$2}" "{$3}"
-    git log -1 --pretty=format:'%an%n%ae%n%aD%n%cn%n%ce%n%cD%n%B' "$1" |
+    git log --no-show-signature -1
--pretty=format:'%an%n%ae%n%aD%n%cn%n%ce%n%cD%n%B' "$1" |
     (
         read GIT_AUTHOR_NAME
         read GIT_AUTHOR_EMAIL
@@ -462,8 +462,8 @@ squash_msg () {
         oldsub_short=$(git rev-parse --short "$oldsub")
         echo "Squashed '$dir/' changes from $oldsub_short..$newsub_short"
         echo
-        git log --pretty=tformat:'%h %s' "$oldsub..$newsub"
-        git log --pretty=tformat:'REVERT: %h %s' "$newsub..$oldsub"
+        git log --no-show-signature --pretty=tformat:'%h %s' "$oldsub..$newsub"
+        git log --no-show-signature --pretty=tformat:'REVERT: %h %s'
"$newsub..$oldsub"
     else
         echo "Squashed '$dir/' content from commit $newsub_short"
     fi
@@ -475,7 +475,7 @@ squash_msg () {

 toptree_for_commit () {
     commit="$1"
-    git log -1 --pretty=format:'%T' "$commit" -- || exit $?
+    git rev-parse --verify "$commit^{tree}" || exit $?
 }

 subtree_for_commit () {
-- 
2.16.1
Stefan Beller· Feb 22, 2018, 18:52 UTC · lore

Re: [PATCH] subtree: hide GPG signatures in calls to log

On Thu, Feb 22, 2018 at 5:37 AM, Stephen R Guglielmo <srguglielmo@gmail.com> wrote:

Show 6 quoted lines
> On Feb 15, 2018 10:34 PM, "Stephen R Guglielmo" <srguglielmo@gmail.com>
> wrote:
>
> This fixes `add` and `pull` for GPG signed objects.
>
> Signed-off-by: Stephen R Guglielmo <srg@guglielmo.us>

Yay! Thanks for a patch! I had to go back to the discussion https://public-inbox.org/git/CADfK3RV1qo_jP=WD6ZF2U9bH2Xf+GJWbC9T4a3YK+C08O0O50Q@mail.gmail.com/ to really understand what is happening here. Can you give a summary and explanation in the commit message? (What is the current bug, how is it triggered, and why this is the best way to fix it? That would be essentially repeating https://public-inbox.org/git/CADfK3RWAcb0m+m_U51JLA9tNyru_7XEsfy55i5EUsKh98jGFtA@mail.gmail.com/)

Now that I read the discussion, I think the code is fine.
Reviewed-by: Stefan Beller <sbeller@google.com>
Show 69 quoted lines
> ---
>  contrib/subtree/git-subtree.sh | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/contrib/subtree/git-subtree.sh b/contrib/subtree/git-subtree.sh
> index dec085a23..9594ca4b5 100755
> --- a/contrib/subtree/git-subtree.sh
> +++ b/contrib/subtree/git-subtree.sh
> @@ -297,7 +297,7 @@ find_latest_squash () {
>      main=
>      sub=
>      git log --grep="^git-subtree-dir: $dir/*\$" \
> -        --pretty=format:'START %H%n%s%n%n%b%nEND%n' HEAD |
> +        --no-show-signature --pretty=format:'START %H%n%s%n%n%b%nEND%n'
> HEAD |
>      while read a b junk
>      do
>          debug "$a $b $junk"
> @@ -341,7 +341,7 @@ find_existing_splits () {
>      main=
>      sub=
>      git log --grep="^git-subtree-dir: $dir/*\$" \
> -        --pretty=format:'START %H%n%s%n%n%b%nEND%n' $revs |
> +        --no-show-signature --pretty=format:'START %H%n%s%n%n%b%nEND%n'
> $revs |
>      while read a b junk
>      do
>          case "$a" in
> @@ -382,7 +382,7 @@ copy_commit () {
>      # We're going to set some environment vars here, so
>      # do it in a subshell to get rid of them safely later
>      debug copy_commit "{$1}" "{$2}" "{$3}"
> -    git log -1 --pretty=format:'%an%n%ae%n%aD%n%cn%n%ce%n%cD%n%B' "$1" |
> +    git log --no-show-signature -1
> --pretty=format:'%an%n%ae%n%aD%n%cn%n%ce%n%cD%n%B' "$1" |
>      (
>          read GIT_AUTHOR_NAME
>          read GIT_AUTHOR_EMAIL
> @@ -462,8 +462,8 @@ squash_msg () {
>          oldsub_short=$(git rev-parse --short "$oldsub")
>          echo "Squashed '$dir/' changes from $oldsub_short..$newsub_short"
>          echo
> -        git log --pretty=tformat:'%h %s' "$oldsub..$newsub"
> -        git log --pretty=tformat:'REVERT: %h %s' "$newsub..$oldsub"
> +        git log --no-show-signature --pretty=tformat:'%h %s'
> "$oldsub..$newsub"
> +        git log --no-show-signature --pretty=tformat:'REVERT: %h %s'
> "$newsub..$oldsub"
>      else
>          echo "Squashed '$dir/' content from commit $newsub_short"
>      fi
> @@ -475,7 +475,7 @@ squash_msg () {
>
>  toptree_for_commit () {
>      commit="$1"
> -    git log -1 --pretty=format:'%T' "$commit" -- || exit $?
> +    git rev-parse --verify "$commit^{tree}" || exit $?
>  }
>
>  subtree_for_commit () {
> --
> 2.16.1
>
>
>
> Hi all, just following up on this as I haven't heard any feedback.
>
> Thanks,
> Steve

← back to recent threads