Mark Levedahl <mlevedahl@xxxxxxxxx> writes: > This introduces a new configuration variable, remotes.default, that > defines the name of the default remote to be used. Does this mean "default" is now a new reserved word that cannot be used as "git remote update default"? > ... Traditionally, this > is "origin", and could be overridden for a given branch. This change > introduces a way to redefine the default as desired and have that honored > regardless of the currently checked out head (e.g., remotes.default is > used when on a detached head or any other non-tracking branch). I'd 100% agree that being able to use anything not just hardcoded 'origin' is much better than not being able to. I do not have much against that goal. However, it is a bit hard to judge how much of inconvenience it really is in your real life that the current behaviour does not allow you to. In your cover letter, you said: >> As my project is distributed across multiple domains with >> many firewalls and airgaps such that no single server is >> available to all, we really need to use nicknames to refer >> to different servers,... If you need to access different repositories on different machines from your submodules, you would of course need to access different domains from your submodule repositories. But that does not mean each of them cannot be named 'origin'. That name is local to each of the submodule (and the toplevel) and can point at different domains over different transfer channels. > diff --git a/git-parse-remote.sh b/git-parse-remote.sh > index 695a409..1b235e0 100755 > --- a/git-parse-remote.sh > +++ b/git-parse-remote.sh > @@ -56,8 +56,9 @@ get_remote_url () { > > get_default_remote () { > curr_branch=$(git symbolic-ref -q HEAD | sed -e 's|^refs/heads/||') > - origin=$(git config --get "branch.$curr_branch.remote") > - echo ${origin:-origin} > + git config --get "branch.$curr_branch.remote" || > + git config --get "remotes.default" || > + echo origin This sequence cascaded with || is much nicer than the original, even if it did not change the behaviour. > @@ -300,6 +305,10 @@ static void read_config(void) > make_branch(head_ref + strlen("refs/heads/"), 0); > } > git_config(handle_config); > + if (!default_remote_name) { > + default_remote_name = remotes_default_name ? > + remotes_default_name : xstrdup("origin"); > + } Is this a bit too deep indentation? - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html