git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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.
Previous: Junio C HamanoNext: Junio C Hamano
Message 20 of 21 in “making --set-upstream have default arguments”
  1. 0/1 making --set-upstream have default argumentsAbhradeep Chakraborty, Dec 2, 2021
  2. 1/1 push: make '-u' have default argumentsAbhradeep Chakraborty, Dec 2, 2021
  3. Junio C HamanoDec 2, 2021
  4. Abhradeep ChakrabortyDec 3, 2021
  5. Junio C HamanoDec 3, 2021
  6. Abhradeep ChakrabortyDec 3, 2021
  7. Philip OakleyDec 3, 2021
  8. Abhradeep ChakrabortyDec 3, 2021
  9. Philip OakleyDec 3, 2021
  10. Abhradeep ChakrabortyDec 3, 2021
  11. 0/1 making --set-upstream have default argumentsAbhradeep Chakraborty, Dec 7, 2021
  12. 1/1 push: make '-u' have default argumentsAbhradeep Chakraborty, Dec 7, 2021
  13. Eric SunshineDec 7, 2021
  14. Abhradeep ChakrabortyDec 8, 2021
  15. 0/1 making --set-upstream have default argumentsAbhradeep Chakraborty, Dec 9, 2021
  16. 1/1 push: make '-u' have default argumentsAbhradeep Chakraborty, Dec 9, 2021
  17. 0/1 making --set-upstream have default argumentsAbhradeep Chakraborty, Jan 1, 2022
  18. 1/1 push: make 'set-upstream' have dafault argumentsAbhradeep Chakraborty, Jan 1, 2022
  19. Junio C HamanoJan 4, 2022
  20. Abhradeep ChakrabortyJan 4, 2022
  21. Junio C HamanoJan 4, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.