Re: [PATCH 0/4] Support triangular workflows
- From
- Marc Branchaud <mbranchaud@xiplink.com>
- Date
- Mar 18, 2013, 15:55 UTC
- 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:
Show 21 quoted lines
> 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 <Johannes.Schindelin@gmx.de>
Date: Thu Dec 22 23:37:24 2005 +0100git-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 <other_name>'.
[jc: added ref format check, subdirectory safety, documentation
and usage string.] Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>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