>> 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html