blob: e669c3e497a95bdeb08c4b45dec37a7d80b52ac4 [file] [log] [blame]
Daniel Barkalow2636f612005-04-28 07:46:33 -07001#ifndef TAG_H
2#define TAG_H
3
4#include "object.h"
5
6extern const char *tag_type;
7
8struct tag {
9 struct object object;
10 struct object *tagged;
11 char *tag;
Johannes Schindelindddbad72017-04-26 21:29:31 +020012 timestamp_t date;
Daniel Barkalow2636f612005-04-28 07:46:33 -070013};
Stefan Beller8bde69b2018-06-28 18:22:11 -070014extern struct tag *lookup_tag(struct repository *r, const struct object_id *oid);
Stefan Beller84f80cd2018-06-28 18:22:12 -070015extern int parse_tag_buffer(struct repository *r, struct tag *item, const void *data, unsigned long size);
Linus Torvaldsd5e27682005-04-28 07:50:39 -070016extern int parse_tag(struct tag *item);
Stefan Beller14ba97f2018-05-15 14:48:42 -070017extern void release_tag_memory(struct tag *t);
Stefan Beller286d2582018-06-28 18:22:20 -070018extern struct object *deref_tag(struct repository *r, struct object *, const char *, int);
Jeff King90108a22012-01-06 14:18:01 -050019extern struct object *deref_tag_noverify(struct object *);
Stefan Beller84571762017-07-12 17:44:15 -070020extern int gpg_verify_tag(const struct object_id *oid,
Santiago Torres45a227e2016-04-22 10:52:04 -040021 const char *name_to_report, unsigned flags);
Linus Torvaldsd5e27682005-04-28 07:50:39 -070022
Daniel Barkalow2636f612005-04-28 07:46:33 -070023#endif /* TAG_H */