Re: [PATCH v4 1/1] push: make 'set-upstream' have dafault arguments
- From
Abhradeep Chakraborty <chakrabortyabhradeep79@gmail.com>
- Date
- Jan 4, 2022, 13:28 UTC
- Message-ID
- <20220104132839.1209-1-chakrabortyabhradeep79@gmail.com>
- In-Reply-To
- <xmqqy23wduxp.fsf@gitster.g>
Junio C Hamano <gitster@pobox.com> wrote:
> That means if the user says push.default==nothing, we should error > out "git push -u" as before, but that is not what the change to > setup_default_push_refspecs() function does, is it?
Yeah. You're right. The current change does not throw error for push.default=nothing. Because I thought that for all values of `push.default` (except matching), 'git push -u' should create a new branch with the same name as the current local branch. Now, It seems that I was wrong.
> So, I am not sure if many of the above changes are sensible. The > first one certainly does not sound like sensible.
Actually, I didn't think deeply while commiting the changes. Today, I think about it deeply and I realized the following points.
* if push.default='simple' or unspecified then it should not create a new branch on the remote. So, my proposed change of 'git push -u' for push.default='simple' is badly affecting the reason why push.default='simple' was built for.
* if push.default='nothing', It should throw error if no <refspec> is provided. Again, my proposed change is hurting it.
* For push.default=upstream, If an upstream is already defined then 'git push -u' should only set that branch as the upstream of the local branch. This already works in git. But if an upstream is not provied, it should throw error. So, I am not sure whether 'git push -u' (with no upstream information) should create a new branch with the same name or not. What do you think about that?
* For push.default=matching, 'git push -u' should set all the existing matching branches as upstream of their respective matching local branches. It also already works. Same for 'push.default'=current also.
So, to put all in a nutshell, I think that the current behaviour of 'git push -u' is okay. It also seems that he/she who built the setup_default_push_refspecs() was aware of this.
Sorry for the patch request and thanks for reviewing.
> Doesn't $i show in the output as-is here? Quote the test title in > double-quotes, while using single-qoutes around the test body.
Yeah. I observed this while testing. But had no idea why this happend ( as I am very beginner in shell scripting). I was waiting for the review comment for it.
Thanks again for reviewing my patch request.