Re: [PATCH 2/2] Be more careful when determining whether a remote was configured
- From
Jeff King <peff@peff.net>
- Date
- Jan 17, 2017, 21:47 UTC
- Message-ID
- <20170117214723.p5rni6wwggei366j@sigill.intra.peff.net>
- In-Reply-To
- <41c347f22c80e96c54db34baa739b6e37e268b61.1484687919.git.johannes.schindelin@gmx.de>
On Tue, Jan 17, 2017 at 10:19:24PM +0100, Johannes Schindelin wrote:
Show 19 quoted lines
> One of the really nice features of the ~/.gitconfig file is that users > can override defaults by their own preferred settings for all of their > repositories. > > One such default that some users like to override is whether the > "origin" remote gets auto-pruned or not. The user would simply call > > git config --global remote.origin.prune true > > and from now on all "origin" remotes would be pruned automatically when > fetching into the local repository. > > There is just one catch: now Git thinks that the "origin" remote is > configured, as it does not discern between having a remote whose > fetch (and/or push) URL and refspec is set, and merely having > preemptively-configured, global flags for specific remotes. > > Let's fix this by telling Git that a remote is not configured unless any > fetch/push URL or refspect is configured explicitly.
Hmm. Old versions of GitHub for Windows used to set fetch refspecs in the system gitconfig, for a similar purpose to what you want to do with remote.origin.prune.
I notice here that setting a refspec _does_ define a remote. Is there a reason you drew the line there, and not at, say, whether it has a URL?
-Peff