contrib: script to setup git to pull a vendors branches
authorRichard Earnshaw <rearnsha@arm.com>
Mon, 13 Jan 2020 16:14:32 +0000 (16:14 +0000)
committerRichard Earnshaw <rearnsha@arm.com>
Mon, 13 Jan 2020 16:14:32 +0000 (16:14 +0000)
This simple script is intended to setup a new git configuration to
pull the branches and tags for a specific vendor.  This should
simplify some of the steps needed for working with a vendor's
branches.

* git-fetch-vendor.sh: New file.

contrib/ChangeLog
contrib/git-fetch-vendor.sh [new file with mode: 0755]

index dd0c4c4d8dda9716b53ce78877eed8e53d0a8a55..0a525843a3257493435a1ff1a0bebd2bee63e67c 100644 (file)
@@ -1,3 +1,7 @@
+2010-01-13  Richard Earnshaw  <rearnsha@arm.com>
+
+       * contrib/git-fetch-vendor.sh: New file.
+
 2020-01-13  Jakub Jelinek  <jakub@redhat.com>
 
        * contrib/gcc-git-customization.sh: Add git gcc-descr and gcc-undescr
diff --git a/contrib/git-fetch-vendor.sh b/contrib/git-fetch-vendor.sh
new file mode 100755 (executable)
index 0000000..5e1b1f0
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+if [ $# != 1 ]
+then
+    echo "Usage: $0 <vendor>"
+    exit 1
+fi
+
+vendor=$1
+upstream=`git config --get "gcc-config.upstream"`
+if [ x"$upstream" = x ]
+then
+    echo "Config gcc-config.upstream not set, run contrib/gcc-git-customization"
+    exit 1
+fi
+
+echo "setting up git to fetch vendor ${vendor} to remotes/${upstream}/${vendor}"
+
+git config --replace-all "remote.${upstream}.fetch" "+refs/vendors/${vendor}/heads/*:refs/remotes/${upstream}/${vendor}/*" ":refs/remotes/${upstream}/${vendor}/"
+git config --replace-all "remote.${upstream}.fetch" "+refs/vendors/${vendor}/tags/*:refs/tags/${vendor}/*" ":refs/tags/${vendor}/"
+git config --replace-all "remote.${upstream}.push" "+refs/heads/${vendor}/*:refs/vendors/${vendor}/heads/*" "^\+refs/heads/${vendor}/"
+git fetch