>> We are working on full implementation of triangular workflow feature.
>> For now, the main options available are: 
>>       - branch.<name>.pushRemote
>>       - remote.pushDefault
>> And only setable by hands. 
> 
> And once it is set, you do not have to worry about it.  I am not
> sure per-branch thing is all that useful, unless you are always
> working on a single branch like 'master', but the latter would be
> just set once and forget about it.

We got the example of our fork of git(e.g. GitHub). 
We want : 
 - some branches that only fetch from git/git and push to our/git
 - the others branches fetch from and push to our/git. 
For now, we have to change branch.<name>.remote and 
branch.<name>.pushRemote(or remote.pushDefault). 
With branch.<name>.fetchRemote, we only have to set this one. 
fetchRemote is more explicit than remote for that case. 

Another point is that many commands can erase the old 
value of branch.<name>.remote. 

>> Context:
>>      - One main remote repository, e.g. git/git.
>>      - A remote fork (e.g. a GitHub fork) of git/git, e.g. me/git.
>>      - A local clone of me/git on the machine
>> Purposes:
>>      - the local branch master has to fetch to git/git by default
>>      - the local branch master has to push to me/git by default
> 
> Wouldn't remote.pushDefault be the single thing you need to set just
> once and forget about it?  Why would your users even want to do
> these things …

remote.pushDefault overrides branch.<name>.remote for all branches. 
The goal is to give an easily understandable config for 
complex configuration. 
Having all the configuration in the same part (e.g [branch « master »]) 
is easier to understand and edit. 

> 
>>      c. add `git fetch --set-default` in order to set remote.fetchDefault
>>      d. add `git fetch --set-remote` in order to set 
>> branch.<name>.fetchRemote
>>      e. add `git pull --set-default` in order to set remote.fetchDefault
>>      f. add `git pull --set-remote` in order to set branch.<name>.fetchRemote
>>      a. add `git push --set-default` in order to set remote.pushDefault
>>      b. add `git push --set-remote` in order to set branch.<name>.pushRemote
> 
> ... just to configure many variables every time they work on a new
> branch?

branch.<name>.pushRemote and all these options are optional.
Options in commands may not be added. It just gives user 
friendly interaction with these options.  



To conclude: 
This feature is more about configuration clarity than possibility itself. 

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to