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

Re: [RFC PATCH 1/2] git-branch: allow --track to work w/local branches

From
Jay Soffian <jaysoffian@gmail.com>
Date
Feb 16, 2008, 07:07 UTC
Message-ID
<76718490802152307h37796d32tfccb7571d48a3221@mail.gmail.com>
In-Reply-To
<7v7ih5fpve.fsf@gitster.siamese.dyndns.org>
On Feb 16, 2008 12:10 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 15 quoted lines
> Although I am not so familiar with this area, the patch somehow
> did not feel right, so I ended up doing a bit of digging.
>
> After the context of the patch, we have this:
>
>         if (tracking.matches == 1) {
>                 sprintf(key, "branch.%s.remote", new_ref);
>                 git_config_set(key, tracking.remote ?  tracking.remote : ".");
>                 sprintf(key, "branch.%s.merge", new_ref);
>                 git_config_set(key, tracking.src);
>
> So it looks to me that the code already has intention to set the
> "branch.*.remote" variable to "." when certain condition is met.
> And the condition is "when tracking.remote is NULL, or it is
> already a dot".

I was confused by the use of the ternary operator. I couldn't figure out how tracking.remote could be NULL. I chalked it up to bit-rot but them forget to mention that in my email. I'm glad you took another look, but I still don't understand how tracking.remote can be NULL and tracking.matches == 1.

Show 13 quoted lines
> So if there is a remote whose name is "." (or NULL, but I do not
> know when that can happen --- remote.c::make_remote() does not
> allow creating such a remote as far as I can tell), that would
> be found without the added extra code, wouldn't it?
>
> I did a bit of experiment and with this in .git/config:
>
>         [remote "."]
>                 fetch = refs/*:refs/*
>
> it turns out that you do not have to patch the code at all.  The
> above manual configuration feels somewhat like an ugly hack but
> perhaps we should make the above two lines implied?

Hmm, that just causes tracking.remote to be set to ".", not to NULL? Right?

j.
Previous: Junio C HamanoNext: Johannes Schindelin
Message 4 of 6 in “git-branch: allow --track to work w/local branches”
  1. 1/2 git-branch: allow --track to work w/local branchesJay Soffian, Feb 16, 2008
  2. 2/2 new --rebase option to set branch.*.rebase for new branchesJay Soffian, Feb 16, 2008
  3. Junio C HamanoFeb 16, 2008
  4. Jay SoffianFeb 16, 2008
  5. Johannes SchindelinFeb 16, 2008
  6. Jay SoffianFeb 17, 2008

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.