On 07/03/2025 21:12, Jonathan Wakely wrote:
> It's very unlikely that anybody is still using the old remotes/$user Git
> repo setup and still needs this script to be able to migrate it to the
> remotes/users/$user structure. Simplify the script by removing those
> parts.
>
> This fixes an error that gets displayed in some circumstances:
> fatal: no such section: remote.me
>
> contrib/ChangeLog:
>
> * gcc-git-customization.sh: Delete outdated commands for
> migrating from very old git setups.
> ---
>
> Tested in a fresh clone, run multiple times to check it's idempotent.
>
> OK for trunk?
LGTM.
R.
>
> contrib/gcc-git-customization.sh | 46 --------------------------------
> 1 file changed, 46 deletions(-)
>
> diff --git a/contrib/gcc-git-customization.sh
> b/contrib/gcc-git-customization.sh
> index 54bd35ea1aa..e58220fb342 100755
> --- a/contrib/gcc-git-customization.sh
> +++ b/contrib/gcc-git-customization.sh
> @@ -156,45 +156,7 @@ if [ "x$dohook" = xyes ]; then
> fi
> fi
>
> -# Scan the existing settings to see if there are any we need to rewrite.
> -vendors=$(git config --get-all "remote.${upstream}.fetch" "refs/vendors/" |
> sed 's:.*refs/vendors/\([^/][^/]*\)/.*:\1:' | sort | uniq)
> url=$(git config --get "remote.${upstream}.url")
> -pushurl=$(git config --get "remote.${upstream}.pushurl")
> -for v in $vendors
> -do
> - echo "Migrating vendor \"$v\" to new remote \"vendors/$v\""
> - git config --unset-all "remote.${upstream}.fetch" "refs/vendors/$v/"
> - git config --unset-all "remote.${upstream}.push" "refs/vendors/$v/"
> - git config "remote.vendors/${v}.url" "${url}"
> - if [ "x$pushurl" != "x" ]
> - then
> - git config "remote.vendors/${v}.pushurl" "${pushurl}"
> - fi
> - git config --add "remote.vendors/${v}.fetch"
> "+refs/vendors/$v/heads/*:refs/remotes/vendors/${v}/*"
> - git config --add "remote.vendors/${v}.fetch"
> "+refs/vendors/$v/tags/*:refs/tags/vendors/${v}/*"
> -done
> -
> -# Convert the remote 'pfx' to users/pfx to avoid problems with ambiguous refs
> -# on user branches
> -old_remote=$(git config --get "remote.${old_pfx}.url")
> -if [ -n "${old_remote}" ]
> -then
> - echo "Migrating remote \"${old_pfx}\" to new remote \"users/${new_pfx}\""
> - # Create a dummy fetch rule that will cause the subsequent prune to
> remove the old remote refs.
> - git config --replace-all "remote.${old_pfx}.fetch"
> "+refs/empty/*:refs/remotes/${old_pfx}/*"
> - # Remove any remotes
> - git remote prune ${old_pfx}
> - git config --remove-section "remote.${old_pfx}"
> - for br in $(git branch --list "${old_pfx}/*")
> - do
> - old_remote=$(git config --get "branch.${br}.remote")
> - if [ "${old_remote}" = "${old_pfx}" ]
> - then
> - git config "branch.${br}.remote" "users/${new_pfx}"
> - fi
> - done
> -fi
> -
> echo "Setting up tracking for personal namespace $remote_id in
> remotes/users/${new_pfx}"
> git config "remote.users/${new_pfx}.url" "${url}"
> if [ "x$pushurl" != "x" ]
> @@ -205,12 +167,4 @@ git config --replace-all "remote.users/${new_pfx}.fetch"
> "+refs/users/${remote_i
> git config --replace-all "remote.users/${new_pfx}.fetch"
> "+refs/users/${remote_id}/tags/*:refs/tags/users/${new_pfx}/*"
> "refs/users/${remote_id}/tags/"
> git config --replace-all "remote.users/${new_pfx}.push"
> "refs/heads/${new_pfx}/*:refs/users/${remote_id}/heads/*"
> "refs/users/${remote_id}"
>
> -if [ "$old_pfx" != "$new_pfx" -a "$old_pfx" != "${upstream}" ]
> -then
> - git config --remove-section "remote.${old_pfx}"
> -fi
> -
> -git config --unset-all "remote.${upstream}.fetch" "refs/users/${remote_id}/"
> -git config --unset-all "remote.${upstream}.push" "refs/users/${remote_id}/"
> -
> git fetch "users/${new_pfx}"