[PATCH 4/4] builtin-fast-export.c: handle nested tags
- From
Erik Faye-Lund <kusmabite@gmail.com>
- Date
- Mar 22, 2009, 21:50 UTC
- Message-ID
- <1237758620-6116-4-git-send-email-kusmabite@gmail.com>
- In-Reply-To
- <1237758620-6116-3-git-send-email-kusmabite@gmail.com>
When tags that points to tags are passed to fast-export, an error saying "Tag [TAGNAME] points nowhere?". This fix calls parse_object() on the object before referencing it's tag, to ensure the tag-info is fully initialized. In addition, it inserts a comment to point out where nested tags are handled. This is consistent with the comment for signed tags.
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> --- builtin-fast-export.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/builtin-fast-export.c b/builtin-fast-export.c index c3ce320..8083c5f 100644 --- a/builtin-fast-export.c +++ b/builtin-fast-export.c @@ -362,7 +362,10 @@ static void get_tags_and_duplicates(struct object_array *pending, break; case OBJ_TAG: tag = (struct tag *)e->item; + + /* handle nested tags */ while (tag && tag->object.type == OBJ_TAG) { + parse_object(tag->object.sha1); string_list_append(full_name, extra_refs)->util = tag; tag = (struct tag *)tag->tagged; }
-- 1.6.2.1.226.gcb2dd