From: Marc Branchaud Date: Mon, 18 Mar 2013 15:55:56 GMT Subject: Re: [PATCH 0/4] Support triangular workflows Message-ID: <5147390C.9060907@xiplink.com> In-Reply-To: <20130318142526.GA23075@sigill.intra.peff.net> On 13-03-18 10:25 AM, Jeff King wrote: > On Mon, Mar 18, 2013 at 06:46:11PM +0530, Ramkumar Ramachandra wrote: > >> I've put off implementing remote.default corresponding to >> remote.pushdefault, as Jeff suggested in [1], because it's currently >> not an itch; apart from the obvious symmetry, I don't know what >> purpose it serves: why would anyone want to fetch from a remote other >> than origin by default? Why wouldn't they simply swap that remote's >> name with "origin"? However, it's a nice thing to have for symmetry, >> and it should be trivial to implement: any interested person is >> welcome to pick it up. > > Yeah, I agree that it does not have much point, aside from people who > have an unreasonable aversion to using the word "origin". There was a > series posted last summer to add remote.default: > > http://article.gmane.org/gmane.comp.version-control.git/201065 > > It ended up stalled and never got merged. I think the main impetus was > that "git clone -o foo" should leave "foo" in remote.default (of course, > that still leaves unanswered why anyone would really want to use "-o > foo" in the first place). I'm the guy who dropped the ball on that series. I still intend to pick it up (honest!) but I just haven't had the time. The impetus was originally getting relative submodule paths to work on detached HEADs [1]. My patch for that doesn't work when someone does "clone -o", because various parts of git assume there's a remote named "origin". The discussion led to the idea of using the remote name specified during the initial clone, and implementing that as a remote.default config value. As for why "clone -o" exists, it was added in v1.1.0: commit e6c310fd0d7384973efc6b1d5999a5e8a5b2f3bd Author: Johannes Schindelin Date: Thu Dec 22 23:37:24 2005 +0100 git-clone: Support changing the origin branch with -o Earlier, git-clone stored upstream's master in the branch named 'origin', possibly overwriting an existing such branch. Now you can change it by calling git-clone with '-o '. [jc: added ref format check, subdirectory safety, documentation and usage string.] Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano It sounds like the original need for the -o option is no longer pertinent. OTOH, for folks who deal with several remotes it's nice to name them, and "origin" isn't necessarily a useful or intuitive name. M. [1] http://thread.gmane.org/gmane.comp.version-control.git/200145