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

Re: [PATCH] branch.autosetupmerge: allow boolean values, or "all"

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jul 9, 2007, 11:28 UTC
Message-ID
<Pine.LNX.4.64.0707091025250.4248@racer.site>
In-Reply-To
<46919692.5020708@gnu.org>
Hi,
On Sun, 8 Jul 2007, Paolo Bonzini wrote:
Show 9 quoted lines
> [Paolo tried to hide the fact that it was Junio who wrote this:]
>
> > Having prepared the patch below, I do not think if the original patch 
> > even wanted to have 'all' semantics.  The surrounding text only talks 
> > about "off a remote branch" and I strongly suspect that nobody wanted 
> > to do this for a local branch case at all.
> 
> If I remember correctly, the problem was that you are not sure that 
> remote branches are in refs/remotes.
Then you code is incorrect.
Basically, you use a confusing set of four functions to do the following:
- read the config, and
- write the branch.<name>.{remote,merge} variables

Two functions would have been sufficient, and easier to read. And as I fully expect with non-simple code, a bug was lurking. This time in set_branch_defaults():

you check if neither config_repo nor config_remote (which is a misnomer, as it does not contain a "remote", but a "remote branch") is set. But that happens when there was no information in the config, too!

Also you miss the case that there is ambiguous information:
[remote "hello"]
	url = git://blub/x.git
	fetch = refs/heads/master:refs/heads/origin
[remote "bello"]
	url = git://yaddayadda/x.git
	fetch = refs/heads/master:refs/heads/origin
See? Your code just uses "bello".
Will send out a fix shortly.

Ciao, Dscho

Previous: Johannes Schindelin
Message 23 of 23 in “git-branch: default to --track”
  1. git-branch: default to --trackJohannes Schindelin, Jul 6, 2007
  2. Junio C HamanoJul 8, 2007
  3. branch.autosetupmerge: allow boolean values, or "all"Johannes Schindelin, Jul 8, 2007
  4. Junio C HamanoJul 8, 2007
  5. Johannes SchindelinJul 8, 2007
  6. Paolo BonziniJul 9, 2007
  7. Junio C HamanoJul 9, 2007
  8. branch --track: code cleanup and saner handling of local branchesJohannes Schindelin, Jul 9, 2007
  9. Junio C HamanoJul 9, 2007
  10. Johannes SchindelinJul 9, 2007
  11. Junio C HamanoJul 9, 2007
  12. 1/2 Add for_each_remote() function, and extend remote_find_tracking()Johannes Schindelin, Jul 10, 2007
  13. Daniel BarkalowJul 10, 2007
  14. Johannes SchindelinJul 10, 2007
  15. Junio C HamanoJul 10, 2007
  16. Daniel BarkalowJul 10, 2007
  17. 1/2 Add for_each_remote() function, and extend remote_find_tracking()Johannes Schindelin, Jul 10, 2007
  18. Junio C HamanoJul 10, 2007
  19. Johannes SchindelinJul 10, 2007
  20. Daniel BarkalowJul 10, 2007
  21. 2/2 branch --track: code cleanup and saner handling of local branchesJohannes Schindelin, Jul 10, 2007
  22. 2/2 branch --track: code cleanup and saner handling of local branchesJohannes Schindelin, Jul 10, 2007
  23. Johannes SchindelinJul 9, 2007

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.