Subject: Re: [PATCH v2 0/5] remote: announce removal of "branches/" and "remotes/"

From: Junio C Hamano <[email-masked]>
Date: Mon, 06 Jan 2025 07:42:25 -0800

Patrick Steinhardt <[email-masked]> writes:

> back when Git was in its infancy, remotes were configured via separate
> files in "branches/" (back in 2005). This mechanism was replaced later
> that year with the "remotes/" directory. These mechanism have evenutally
> been replaced by config-based remotes,...

Just a historical note, as I am not sure how much of it still
matters.  In all of the above "replaced" is an incorrect verb to
use.  "A more-powerful-but-different mechanism to do the same and
more was introduced later" is a fair statement, though.

Specifically the ".git/branches/name" mechanism was never removed as
it had one distinct advantage over all other mechanisms for users
who have to juggle tons of remotes that change either their URLs or
branch names or both not so infrequently.  Instead of having to edit
files in .git/remotes/*, being able to say

	$ ls .git/branches/*partialname*
	$ echo "$URL#$branch" >.git/branches/foo
	$ rm .git/brnaches/foo

was powerful.  Offhand I do not know if "git remote" command
improved the usability aspect of newer mechanisms good enough
to allow us to start using the verb "replace" here.