Re: Cleaning up git user-interface warts
From: Johannes Schindelin <hidden>
Date: 2016-08-11 20:41:08
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>.
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