[RFC] Triangular Workflow UI improvement

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>> 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



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]