Merge branch 'nd/commit-util-to-slab'
The in-core "commit" object had an all-purpose "void *util" field, which was tricky to use especially in library-ish part of the code. All of the existing uses of the field has been migrated to a more dedicated "commit-slab" mechanism and the field is eliminated. * nd/commit-util-to-slab: commit.h: delete 'util' field in struct commit merge: use commit-slab in merge remote desc instead of commit->util log: use commit-slab in prepare_bases() instead of commit->util show-branch: note about its object flags usage show-branch: use commit-slab for commit-name instead of commit->util name-rev: use commit-slab for rev-name instead of commit->util bisect.c: use commit-slab for commit weight instead of commit->util revision.c: use commit-slab for show_source sequencer.c: use commit-slab to associate todo items to commits sequencer.c: use commit-slab to mark seen commits shallow.c: use commit-slab for commit depth instead of commit->util describe: use commit-slab for commit names instead of commit->util blame: use commit-slab for blame suspects instead of commit->util commit-slab: support shared commit-slab commit-slab.h: code split
This commit is contained in:
8
commit.h
8
commit.h
@ -16,9 +16,13 @@ struct commit_list {
|
||||
struct commit_list *next;
|
||||
};
|
||||
|
||||
/*
|
||||
* The size of this struct matters in full repo walk operations like
|
||||
* 'git clone' or 'git gc'. Consider using commit-slab to attach data
|
||||
* to a commit instead of adding new fields here.
|
||||
*/
|
||||
struct commit {
|
||||
struct object object;
|
||||
void *util;
|
||||
timestamp_t date;
|
||||
struct commit_list *parents;
|
||||
|
||||
@ -312,7 +316,7 @@ struct merge_remote_desc {
|
||||
struct object *obj; /* the named object, could be a tag */
|
||||
char name[FLEX_ARRAY];
|
||||
};
|
||||
#define merge_remote_util(commit) ((struct merge_remote_desc *)((commit)->util))
|
||||
extern struct merge_remote_desc *merge_remote_util(struct commit *);
|
||||
extern void set_merge_remote_desc(struct commit *commit,
|
||||
const char *name, struct object *obj);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user