Revision 2075ffb58e3a2d46d9e7606010f7f943f2295376 authored by Johannes Schindelin on 23 November 2008, 11:55:54 UTC, committed by Junio C Hamano on 24 November 2008, 03:54:51 UTC
The list extra_refs contains tags and the objects referenced by them,
so that they can be handled at the end.  When a tag references a
commit, that commit is added to the list using the same name.

Also, the function handle_tags_and_duplicates() relies on the order
the items were added to extra_refs, so clearly we do not want to
use a sorted list here.

Noticed by Miklos Vajna.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Tested-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 283b953
Raw File
patch-ids.h
#ifndef PATCH_IDS_H
#define PATCH_IDS_H

struct patch_id {
	unsigned char patch_id[20];
	char seen;
};

struct patch_ids {
	struct diff_options diffopts;
	int nr, alloc;
	struct patch_id **table;
	struct patch_id_bucket *patches;
};

int init_patch_ids(struct patch_ids *);
int free_patch_ids(struct patch_ids *);
struct patch_id *add_commit_patch_id(struct commit *, struct patch_ids *);
struct patch_id *has_commit_patch_id(struct commit *, struct patch_ids *);

#endif /* PATCH_IDS_H */
back to top