From: Michael Haggerty <mhagger@alum.mit.edu>
To: Nguyen Thai Ngoc Duy <pclouds@gmail.com>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH] Fix incorrect ref namespace check
Date: Wed, 11 Jan 2012 05:49:51 +0100 [thread overview]
Message-ID: <4F0D14EF.4000908@alum.mit.edu> (raw)
In-Reply-To: <CACsJy8Af=PjXE4sHqSk1v8qoraivOnT2w495W1c1dVQBW1s-cQ@mail.gmail.com>
On 01/11/2012 02:54 AM, Nguyen Thai Ngoc Duy wrote:
> Any comments Mike?
Looks fine to me.
Theoretically, we could add an API for iterating over references
*excluding* a particular namespace, which (after hierarchical refs is
accepted) could be implemented a bit more efficiently than iterating
over all references and then excluding those in the unwanted namespace.
But I think it would be far more trouble than it's worth.
Michael
> 2012/1/5 Junio C Hamano <gitster@pobox.com>:
>> Nguyễn Thái Ngọc Duy <pclouds@gmail.com> writes:
>>
>>> The reason why the trailing slash is needed is obvious. refs/stash and
>>> HEAD are not namespace, but complete refs. Do full string compare on them.
>>>
>>> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
>>> ---
>>> I missed prefixcmp(..., "HEAD") right below prefixcmp(..., "refs/stash")
>>
>> As Michael has been actively showing interest in cleaning up the area, he
>> should have been CC'ed, I would think.
>>
>>>
>>> builtin/fetch.c | 2 +-
>>> builtin/remote.c | 2 +-
>>> log-tree.c | 4 ++--
>>> 3 files changed, 4 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/builtin/fetch.c b/builtin/fetch.c
>>> index 33ad3aa..daa68d2 100644
>>> --- a/builtin/fetch.c
>>> +++ b/builtin/fetch.c
>>> @@ -573,7 +573,7 @@ static void find_non_local_tags(struct transport *transport,
>>>
>>> for_each_ref(add_existing, &existing_refs);
>>> for (ref = transport_get_remote_refs(transport); ref; ref = ref->next) {
>>> - if (prefixcmp(ref->name, "refs/tags"))
>>> + if (prefixcmp(ref->name, "refs/tags/"))
>>> continue;
>>>
>>> /*
>>> diff --git a/builtin/remote.c b/builtin/remote.c
>>> index 583eec9..f54a89a 100644
>>> --- a/builtin/remote.c
>>> +++ b/builtin/remote.c
>>> @@ -534,7 +534,7 @@ static int add_branch_for_removal(const char *refname,
>>> }
>>>
>>> /* don't delete non-remote-tracking refs */
>>> - if (prefixcmp(refname, "refs/remotes")) {
>>> + if (prefixcmp(refname, "refs/remotes/")) {
>>> /* advise user how to delete local branches */
>>> if (!prefixcmp(refname, "refs/heads/"))
>>> string_list_append(branches->skipped,
>>> diff --git a/log-tree.c b/log-tree.c
>>> index 319bd31..535b905 100644
>>> --- a/log-tree.c
>>> +++ b/log-tree.c
>>> @@ -119,9 +119,9 @@ static int add_ref_decoration(const char *refname, const unsigned char *sha1, in
>>> type = DECORATION_REF_REMOTE;
>>> else if (!prefixcmp(refname, "refs/tags/"))
>>> type = DECORATION_REF_TAG;
>>> - else if (!prefixcmp(refname, "refs/stash"))
>>> + else if (!strcmp(refname, "refs/stash"))
>>> type = DECORATION_REF_STASH;
>>> - else if (!prefixcmp(refname, "HEAD"))
>>> + else if (!strcmp(refname, "HEAD"))
>>> type = DECORATION_REF_HEAD;
>>>
>>> if (!cb_data || *(int *)cb_data == DECORATE_SHORT_REFS)
>
>
>
--
Michael Haggerty
mhagger@alum.mit.edu
http://softwareswirl.blogspot.com/
prev parent reply other threads:[~2012-01-11 4:50 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-05 12:35 [PATCH] Fix incorrect ref namespace check Nguyễn Thái Ngọc Duy
2012-01-05 12:39 ` Nguyễn Thái Ngọc Duy
2012-01-05 16:23 ` Junio C Hamano
2012-01-11 1:54 ` Nguyen Thai Ngoc Duy
2012-01-11 4:49 ` Michael Haggerty [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F0D14EF.4000908@alum.mit.edu \
--to=mhagger@alum.mit.edu \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=pclouds@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).