attr: use hashmap for attribute dictionary

The current implementation of the attribute dictionary uses a custom
hashtable.  This modernizes the dictionary by converting it to the builtin
'hashmap' structure.

Also, in order to enable a threaded API in the future add an
accompanying mutex which must be acquired prior to accessing the
dictionary of interned attributes.

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Brandon Williams
2017-01-27 18:02:01 -08:00
committed by Junio C Hamano
parent 428103c7f1
commit 1a600b7555
3 changed files with 134 additions and 46 deletions

2
attr.h
View File

@ -67,4 +67,6 @@ enum git_attr_direction {
};
void git_attr_set_direction(enum git_attr_direction, struct index_state *);
extern void attr_start(void);
#endif /* ATTR_H */