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

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

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 8, 2007, 18:41 UTC
Message-ID
<7vzm2620wp.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<Pine.LNX.4.64.0707081336020.4248@racer.site>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 14 quoted lines
> 	> Eh?  I did not want this to get applied for my local branches.
>
> 	That is certainly unexpected and unwelcomed.  Alas, I think it is 
> 	one of the consequences of rarely executed (and thus, tested) 
> 	code.
> ...
> +test_expect_success 'autosetupmerge = all' '
> +	git config branch.autosetupmerge true &&
> +	git branch all1 master &&
> +	test -z "$(git config branch.all1.merge)" &&
> +	git config branch.autosetupmerge all &&
> +	git branch all2 master &&
> +	test $(git config branch.all2.merge) = refs/heads/master
> +'
Thanks.

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.

diff --git a/Documentation/config.txt b/Documentation/config.txt
index 4b67f0a..aeece84 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -309,7 +309,10 @@ branch.autosetupmerge::
 	so that gitlink:git-pull[1] will appropriately merge from that
 	remote branch.  Note that even if this option is not set,
 	this behavior can be chosen per-branch using the `--track`
-	and `--no-track` options.  This option defaults to false.
+	and `--no-track` options.  This option can have values
+	'false' (never touch the configuration), 'all' (do this
+	for all branches), or 'true' (do this only when
+	branching from a remote tracking branch), and defaults to 'true'.
 
 branch.<name>.remote::
 	When in branch <name>, it tells `git fetch` which remote to fetch.
diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt
index 818b720..8292952 100644
--- a/Documentation/git-checkout.txt
+++ b/Documentation/git-checkout.txt
@@ -52,8 +52,9 @@ OPTIONS
 	set up configuration so that git-pull will automatically
 	retrieve data from the remote branch.  Set the
 	branch.autosetupmerge configuration variable to true if you
-	want git-checkout and git-branch to always behave as if
-	'--track' were given.
+	want git-checkout and git-branch to behave as if
+	'--track' were given when you branch from a remote
+	tracking branch.
 
 --no-track::
 	When -b is given and a branch is created off a remote branch,
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 4 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.