From: Patrick Steinhardt <ps@pks.im>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>,
Kristoffer Haugsbakk <kristofferhaugsbakk@fastmail.com>,
Matthieu Moy <git@matthieu-moy.fr>,
Eric Sunshine <sunshine@sunshineco.com>,
Todd Zullinger <tmz@pobox.com>, Elijah Newren <newren@gmail.com>
Subject: [PATCH v3 01/11] contrib: remove "remotes2config.sh"
Date: Mon, 12 May 2025 11:19:51 +0200 [thread overview]
Message-ID: <20250512-pks-contrib-spring-cleanup-v3-1-32e151b0bfb0@pks.im> (raw)
In-Reply-To: <20250512-pks-contrib-spring-cleanup-v3-0-32e151b0bfb0@pks.im>
Remotes can be configured either via a repository's config or by using
the ".git/branches/" or ".git/remotes/" directories. Back when the new
config-based mechanism has been introduced we also introduced a helper
script that migrates from the old-style remote configuration to the new
config-based mechanism.
With the recent removal announcement for the two directories we also
started to instruct users to migrate repositories that still use these
mechanism to use config-based remotes. Notably though, the migration
path doesn't even use the migration script. Instead, git-remote(1)
itself knows how to migrate any such remote via `git remote rename`.
In fact, a full migration _cannot_ use the script as it only knows to
migrate remotes from ".git/remotes/", but not ".git/branches/". As such,
the migration path via `git remote rename` is the only feasible way to
fully migrate repositories over to the new format.
Last but not least, the script doesn't even work as-is as it sources
"git-sh-setup". For this to work it would need to be invoked either via
Git so that this script is in our PATH, users would have to manually
call it with an adjusted PATH, or distributions need to install the
script into "$prefix/libexec/git-core" with a "git-" prefix. All of
these steps are unlikely enough to underpin the claim that this script
is not used at all.
So given that:
- The script cannot perform a full migration of all deprecated remote
types.
- We don't advertise it anywhere.
- It has been basically untouched since 2007.
- It doesn't even work unless users do manual steps.
It should be safe enough to just remove it. Do so.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
---
contrib/remotes2config.sh | 33 ---------------------------------
1 file changed, 33 deletions(-)
diff --git a/contrib/remotes2config.sh b/contrib/remotes2config.sh
deleted file mode 100755
index 1cda19f66af..00000000000
--- a/contrib/remotes2config.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/sh
-
-# Use this tool to rewrite your .git/remotes/ files into the config.
-
-. git-sh-setup
-
-if [ -d "$GIT_DIR"/remotes ]; then
- echo "Rewriting $GIT_DIR/remotes" >&2
- error=0
- # rewrite into config
- {
- cd "$GIT_DIR"/remotes
- ls | while read f; do
- name=$(printf "$f" | tr -c "A-Za-z0-9-" ".")
- sed -n \
- -e "s/^URL:[ ]*\(.*\)$/remote.$name.url \1 ./p" \
- -e "s/^Pull:[ ]*\(.*\)$/remote.$name.fetch \1 ^$ /p" \
- -e "s/^Push:[ ]*\(.*\)$/remote.$name.push \1 ^$ /p" \
- < "$f"
- done
- echo done
- } | while read key value regex; do
- case $key in
- done)
- if [ $error = 0 ]; then
- mv "$GIT_DIR"/remotes "$GIT_DIR"/remotes.old
- fi ;;
- *)
- echo "git config $key "$value" $regex"
- git config $key "$value" $regex || error=1 ;;
- esac
- done
-fi
--
2.49.0.1101.gccaa498523.dirty
next prev parent reply other threads:[~2025-05-12 9:20 UTC|newest]
Thread overview: 87+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-06 14:12 [PATCH 00/10] Spring cleanup of "contrib/" Patrick Steinhardt
2025-05-06 14:12 ` [PATCH 01/10] contrib: remove "remotes2config.sh" Patrick Steinhardt
2025-05-06 19:52 ` Junio C Hamano
2025-05-07 6:27 ` Patrick Steinhardt
2025-05-07 17:21 ` Junio C Hamano
2025-05-06 14:12 ` [PATCH 02/10] contrib: remove "examples" directory Patrick Steinhardt
2025-05-06 14:12 ` [PATCH 03/10] contrib: remove remote-helper stubs Patrick Steinhardt
2025-05-06 14:12 ` [PATCH 04/10] contrib: remove "thunderbird-patch-inline" Patrick Steinhardt
2025-05-06 14:12 ` [PATCH 05/10] contrib: remove "hooks" directory Patrick Steinhardt
2025-05-06 14:12 ` [PATCH 06/10] contrib: remove "mw-to-git" Patrick Steinhardt
2025-05-06 20:34 ` Junio C Hamano
2025-05-07 9:11 ` Matthieu Moy
2025-05-06 14:12 ` [PATCH 07/10] contrib: remove "persistent-https" remote helper Patrick Steinhardt
2025-05-06 20:25 ` Junio C Hamano
2025-05-06 14:12 ` [PATCH 08/10] contrib: remove "git-resurrect.sh" Patrick Steinhardt
2025-05-06 20:11 ` Junio C Hamano
2025-05-07 6:58 ` Patrick Steinhardt
2025-05-07 17:48 ` Junio C Hamano
2025-05-07 18:36 ` Kristoffer Haugsbakk
2025-05-06 14:12 ` [PATCH 09/10] contrib: remove "emacs" directory Patrick Steinhardt
2025-05-06 19:59 ` Junio C Hamano
2025-05-06 14:12 ` [PATCH 10/10] contrib: remove "git-new-workdir" Patrick Steinhardt
2025-05-06 19:57 ` Junio C Hamano
2025-05-07 6:27 ` Patrick Steinhardt
2025-05-07 17:25 ` Junio C Hamano
2025-05-09 7:53 ` Patrick Steinhardt
2025-05-06 20:43 ` [PATCH 00/10] Spring cleanup of "contrib/" Junio C Hamano
2025-05-06 22:51 ` Eric Sunshine
2025-05-07 1:32 ` Todd Zullinger
2025-05-07 3:55 ` Eric Sunshine
2025-05-07 6:27 ` Patrick Steinhardt
2025-05-10 20:07 ` D. Ben Knoble
2025-05-12 13:10 ` Phillip Wood
2025-05-09 9:17 ` [PATCH v2 00/11] " Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 01/11] contrib: remove "remotes2config.sh" Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 02/11] contrib: remove "examples" directory Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 03/11] contrib: remove remote-helper stubs Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 04/11] contrib: remove "thunderbird-patch-inline" Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 05/11] contrib: remove "hooks" directory Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 06/11] contrib: remove "mw-to-git" Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 07/11] contrib: remove "persistent-https" remote helper Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 08/11] contrib: remove "git-resurrect.sh" Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 09/11] contrib: remove "emacs" directory Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 10/11] contrib: remove "git-new-workdir" Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 11/11] contrib: remove "stats" directory Patrick Steinhardt
2025-05-09 23:31 ` Elijah Newren
2025-05-09 23:53 ` [PATCH v2 00/11] Spring cleanup of "contrib/" Elijah Newren
2025-05-10 0:00 ` Junio C Hamano
2025-05-12 9:39 ` Patrick Steinhardt
2025-05-12 4:05 ` [PATCH v2 04/11] contrib: remove "thunderbird-patch-inline" Collin Funk
2025-05-12 13:02 ` Phillip Wood
2025-05-12 14:45 ` Patrick Steinhardt
2025-05-12 16:22 ` Junio C Hamano
2025-05-14 15:19 ` Phillip Wood
2025-05-16 13:53 ` [PATCH v2] contrib: update thunderbird-patch-inline Phillip Wood
2025-05-16 14:05 ` Kristoffer Haugsbakk
2025-05-19 5:38 ` Patrick Steinhardt
2025-05-19 5:50 ` Collin Funk
2025-05-19 14:21 ` Phillip Wood
2025-06-03 22:12 ` Junio C Hamano
2025-05-19 15:48 ` Junio C Hamano
2025-05-10 12:30 ` [PATCH 00/10] Spring cleanup of "contrib/" Peter Krefting
2025-05-12 9:19 ` [PATCH v3 00/11] " Patrick Steinhardt
2025-05-12 9:19 ` Patrick Steinhardt [this message]
2025-05-12 9:19 ` [PATCH v3 02/11] contrib: remove "examples" directory Patrick Steinhardt
2025-05-12 9:19 ` [PATCH v3 03/11] contrib: remove remote-helper stubs Patrick Steinhardt
2025-05-12 9:19 ` [PATCH v3 04/11] contrib: remove "thunderbird-patch-inline" Patrick Steinhardt
2025-05-16 22:49 ` Junio C Hamano
2025-05-26 8:47 ` Toon Claes
2025-06-04 14:45 ` Junio C Hamano
2025-05-12 9:19 ` [PATCH v3 05/11] contrib: remove "hooks" directory Patrick Steinhardt
2025-05-12 9:19 ` [PATCH v3 06/11] contrib: remove "mw-to-git" Patrick Steinhardt
2025-05-12 9:19 ` [PATCH v3 07/11] contrib: remove "persistent-https" remote helper Patrick Steinhardt
2025-05-12 9:19 ` [PATCH v3 08/11] contrib: remove "git-resurrect.sh" Patrick Steinhardt
2025-05-12 9:19 ` [PATCH v3 09/11] contrib: remove "emacs" directory Patrick Steinhardt
2025-05-12 9:20 ` [PATCH v3 10/11] contrib: remove "git-new-workdir" Patrick Steinhardt
2025-09-08 9:28 ` Gabriel Scherer
2025-09-08 9:58 ` Kristoffer Haugsbakk
2025-09-08 15:22 ` Gabriel Scherer
2025-09-12 18:14 ` D. Ben Knoble
2025-09-12 18:55 ` Gabriel Scherer
2025-09-12 22:21 ` Junio C Hamano
2025-09-12 20:05 ` Phillip Wood
2025-09-12 22:19 ` Junio C Hamano
2025-09-08 18:43 ` Junio C Hamano
2025-05-12 9:20 ` [PATCH v3 11/11] contrib: remove some scripts in "stats" directory Patrick Steinhardt
2025-05-13 2:53 ` [PATCH v3 00/11] Spring cleanup of "contrib/" Elijah Newren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250512-pks-contrib-spring-cleanup-v3-1-32e151b0bfb0@pks.im \
--to=ps@pks.im \
--cc=git@matthieu-moy.fr \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=kristofferhaugsbakk@fastmail.com \
--cc=newren@gmail.com \
--cc=sunshine@sunshineco.com \
--cc=tmz@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).