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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Feb 16, 2008 12:10 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote:
> 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.

> 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.
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux