Re: [RFC PATCH] git push: Push nothing if no refspecs are given or configured

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

 



2009/3/6 Finn Arne Gangstad <finnag@xxxxxxx>:
> On Fri, Mar 06, 2009 at 02:32:53AM -0800, Junio C Hamano wrote:
>> Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes:
>>
>> > On Thu, 5 Mar 2009, Sverre Rabbelier wrote:
>> >
>> >> On Thu, Mar 5, 2009 at 23:25, Markus Heidelberg
>> >> <markus.heidelberg@xxxxxx> wrote:
>> >> > Oh, I confused "config option" with "command line argument"...
>> >>
>> >> Right, I'd like to be able to do:
>> >> $ git config push.iamnotretarded true
>> >> $ git push
>> >
>> > LOL!  Sverre, you have a way to crack me up...
>>
>> I found it amusing, too.
>>
>> It may have some correlation with how well organized your work habit is,
>> but I do not think it has much correlation with being retarded.  It is
>> more about "'matching refs' is the perfect default for _my_ use pattern,
>> don't mess with it, please".
>
> So here is my current WIP suggestion for a new "push.default"
> variable, I am not sure if a single entry can express all useful
> choices, or if it is a good idea to introduce more default choices
> other than "nothing" (with the goal of making it the default in a
> later release).
>
> I think all the values here make sense as a --option to git push
> though (except --nothing...)
>
> Suggested new entry in config.txt:
>
> push.default::
>        Defines the action git push should take if no refspec is given
>        on the command line, no refspec is configured in the branch, and
>        no refspec is implied by any of the options given on the command
>        line.
> +
>        The term `current remote` means the remote configured for the current
>        branch, or `origin` if no remote is set. `origin` is also used if
>        you are not on a branch at all.
> +
> * `nothing` do not push anything
> * `matching` push all matching branches to the current remote.
>  All branches having the same name in both ends are considered to be
>  matching. This is the default value.
> * `same-remote` push all matching branches that are configured to use
>  the current remote. Branches with no remote configuration are not pushed.
> * `tracked` push all branches that are tracking a branch on the current
>  remote to their counterpart.

How about 'current', to simply push the current the branch.  It could
even prompt if it's not tracked yet.

Most (all?) other revision control systems have this 'current'
behaviour by default.

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

  Powered by Linux