Junio C Hamano <gitster@xxxxxxxxx> 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.