contrib: Add in the default push rule which was overridden
authorRichard Earnshaw <rearnsha@arm.com>
Mon, 13 Jan 2020 18:20:13 +0000 (18:20 +0000)
committerRichard Earnshaw <rearnsha@arm.com>
Mon, 13 Jan 2020 18:26:18 +0000 (18:26 +0000)
When we add a push rule, the default rule gets removed, so add that in
explicitly.  This needs to come last since otherwise it would match
the custom redirecting rules we have for personal and vendor
sub-spaces.

I also noticed that the push rule for the vendor subspace still had
a force push default.  We don't want that so remove it.

* gcc-git-customization.sh: Add back the default rule that
is lost by adding a custom push rule.
* git-fetch-vendor.sh: Likewise, also remove '+' from push specs.

contrib/ChangeLog
contrib/gcc-git-customization.sh
contrib/git-fetch-vendor.sh

index 0a525843a3257493435a1ff1a0bebd2bee63e67c..32ed283e08e162e774d5d44495b8537882f3416c 100644 (file)
@@ -1,3 +1,9 @@
+2010-01-13  Richard Earnshaw  <rearnsha@arm.com>
+
+       * gcc-git-customization.sh: Add back the default rule that
+       is lost by adding a custom push rule.
+       * git-fetch-vendor.sh: Likewise, also remove '+' from push specs.
+
 2010-01-13  Richard Earnshaw  <rearnsha@arm.com>
 
        * contrib/git-fetch-vendor.sh: New file.
index 3b9d79d3d38e29475b340e1b94a057f306f33712..6665bddeb48c24069b1e4f615fdc64ee24b2e130 100755 (executable)
@@ -68,7 +68,11 @@ echo "(local branches starting <prefix>/ can be pushed directly to your"
 ask "personal area on the gcc server)" $old_pfx new_pfx
 git config "gcc-config.userpfx" "$new_pfx"
 
+# This entry needs to come last, so unset it now, then reset it after the updates.
+git config --unset "remote.${upstream}.push" "refs/heads/\\*:refs/heads/\\*"
 echo "Setting up tracking for personal namespace $remote_id in remotes/$upstream/${new_pfx}"
 git config --replace-all "remote.${upstream}.fetch" "+refs/users/${remote_id}/heads/*:refs/remotes/${upstream}/${new_pfx}/*" ":refs/remotes/${upstream}/${old_pfx}/"
 git config --replace-all "remote.${upstream}.fetch" "+refs/users/${remote_id}/tags/*:refs/tags/${new_pfx}/*" ":refs/tags/${old_pfx}/"
 git config --replace-all "remote.${upstream}.push" "refs/heads/${new_pfx}/*:refs/users/${remote_id}/heads/*" "^\+?refs/heads/${old_pfx}/"
+# Re-add the line deleted above.
+git config --add "remote.${upstream}.push" "refs/heads/*:refs/heads/*"
index 5e1b1f0a8540365a63c4245cddfc7cd76d93191b..abb844dbc6a56b27f15c60c4bc101ffa626fa8b6 100755 (executable)
@@ -14,9 +14,13 @@ then
     exit 1
 fi
 
-echo "setting up git to fetch vendor ${vendor} to remotes/${upstream}/${vendor}"
+# This entry needs to come last, so unset it now, then reset it after the updates.
+git config --unset "remote.${upstream}.push" "refs/heads/\\*:refs/heads/\\*"
 
-git config --replace-all "remote.${upstream}.fetch" "+refs/vendors/${vendor}/heads/*:refs/remotes/${upstream}/${vendor}/*" ":refs/remotes/${upstream}/${vendor}/"
+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 config --replace-all "remote.${upstream}.push" "refs/heads/${vendor}/*:refs/vendors/${vendor}/heads/*" "^\+?refs/heads/${vendor}/"
+# Re-add the line deleted above.
+git config --add "remote.${upstream}.push" "refs/heads/*:refs/heads/*"
 git fetch