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@xxxxxxxxx>: >> Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> 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@xxxxxxxxx> >>> --- >>> 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@xxxxxxxxxxxx http://softwareswirl.blogspot.com/ -- 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