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}"

Reply via email to