Re: Cleaning up git user-interface warts
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Nov 17, 2006, 10:11 UTC
- Message-ID
- <Pine.LNX.4.63.0611171103150.13772@wbgn013.biozentrum.uni-wuerzburg.de>
- In-Reply-To
- <87ejs2qvmb.wl%cworth@cworth.org>
Hi,
On Fri, 17 Nov 2006, Carl Worth wrote:
> 1. Making clone do the --use-separate-remotes behavior by default
Fully agree.
> 2. Taking advantage of that consistently for all branches instead of a > special master:origin mapping in clone
Fully agree, too.
> 3. Enhancing git-fetch (or other) to modify .git/remotes, (or was > there a desire for some other branch-specific section in the config > file?)
I introduced the remote.<nick>.{url,fetch,push} entries into the config with the goal to enhance -fetch to remember the current command line with a setting. I was the only one to find that useful.
BTW I still would argue that it is better to write the remote information into the config, because you have a saner way to manipulate that from scripts than .git/remotes/<nick>.
> 4. Making git-fetch handle the disappearance of a remote branch > gracefully
I think a message like "This remote branch no longer exists. Maybe you want to use 'git branch -d <branch>' to remove it locally?" should suffice.
> 5. Adding something like git-fetch --all to allow it to pick up all new > branches
IIRC this idea was rejected, but I would find it useful. Especially with what Han-Wen said: you can store the branches you fetch with "git fetch --all <nick>" under .git/refs/remotes/<nick>/<branchname>.
Show 11 quoted lines
> 6. Adding a "git update" that does a fetch for all appropriately > marked remotes. > > On this last point, maybe we do something like: > > update=no|yes|all > > in .git/remotes. Then git-clone would set this up with update=all for > origin so git-update would do a "fetch --all" on the origin > repository. Then step 3 above would have to provide for setting this > update option as appropriate.
First thought was: it is only useful if you want to track multiple repositories. But next thought: if you mark the correct remotes in every of your local repositories, you don't have to remember which nick your upstream has. Yeah, I like it. But maybe do it as "git fetch --update" to avoid more cluttering of the bindir?
Ciao, Dscho