提交 9d2c9701 编写于 作者: N Nguyễn Thái Ngọc Duy 提交者: Junio C Hamano

commit.h: delete 'util' field in struct commit

If you have come this far, you probably have seen that this 'util'
pointer is used for many different purposes. Some are not even
contained in a command code, but buried deep in common code with no
clue who will use it and how.

The move to using commit-slab gives us a much better picture of how
some piece of data is associated with a commit and what for. Since
nobody uses 'util' pointer anymore, we can retire so that nobody will
abuse it again. commit-slab will be the way forward for associating
data to a commit.

As a side benefit, this shrinks struct commit by 8 bytes (on 64-bit
architecture) which should help reduce memory usage for reachability
test a bit. This is also what commit-slab is invented for [1].

[1] 96c4f4a3 (commit: allow associating auxiliary info on-demand -
2013-04-09)
Signed-off-by: NJunio C Hamano <gitster@pobox.com>
上级 e2e5ac23
......@@ -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;
unsigned int index;
timestamp_t date;
struct commit_list *parents;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册