[tor-commits] [tor/master] scripts/git: Pass all unrecognised arguments to git-push-all.sh

dgoulet at torproject.org dgoulet at torproject.org
Wed Oct 23 13:12:39 UTC 2019


commit 9a3b768faebd5b4c55fe0626f8219b228e98bf0e
Author: teor <teor at torproject.org>
Date:   Wed Oct 23 12:58:15 2019 +1000

    scripts/git: Pass all unrecognised arguments to git-push-all.sh
    
    This makes the behaviour of git-push-all.sh -n identical to the other
    git scripts.
    
    Part of 32216.
---
 scripts/git/git-push-all.sh | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/scripts/git/git-push-all.sh b/scripts/git/git-push-all.sh
index 7e67f4c96..1b20a50b7 100755
--- a/scripts/git/git-push-all.sh
+++ b/scripts/git/git-push-all.sh
@@ -29,6 +29,8 @@ function usage()
   echo "       CI environment failures, using code that previously passed CI."
   echo "       (default: skip; current: $CURRENT_PUSH_SAME matching branches)"
   echo "   --: pass further arguments to git push."
+  echo "       All unrecognised arguments are passed to git push, but complex"
+  echo "       arguments before -- may be mangled by getopt."
   echo "       (default: git push --atomic, current: $GIT_PUSH)"
   echo
   echo " env vars:"
@@ -127,9 +129,11 @@ while getopts ":hr:st:" opt; do
        OPTIND=$((OPTIND - 2))
        ;;
     *)
-       # Assume we're done with script arguments,
-       # and git push will handle the option
-       break
+       # Make git push handle the option
+       # This might mangle options with spaces, use -- for complex options
+       GIT_PUSH="$GIT_PUSH $1"
+       shift
+       OPTIND=$((OPTIND - 1))
        ;;
   esac
 done





More information about the tor-commits mailing list