Die commit->util, die!
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v3 Latest15 patches 1 replyIn review
- v214 patches 17 repliesSuperseded
- v112 patches 20 repliesSuperseded
Patches in v3 No applies recorded yet
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.
Cover letter [PATCH v3 00/15] Die commit->util, die!
v3 fixes Junio's comments on v2:
builtin/fast-export.c +1 -1
@@ -592,7 +592,7 @@ static void handle_commit(struct commit *commit, struct rev_info *rev,if (!S_ISGITLINK (diff_queued_diff.queue[i]->two->mode))export_blob (&diff_queued_diff.queue[i]->two->oid); - refname = *revision_sources_peek (&revision_sources, commit); + refname = *revision_sources_at (&revision_sources, commit);if (anonymize) { refname =anonymize_refname (refname);anonymize_ident_line (&committer, &committer_end);
builtin/show-branch.c +5 -0
@@ -22,6 +22,11 @@ static int showbranch_use_color = -1;static struct argv_array default_args =ARGV_ARRAY_INIT ; +/* +* TODO: convert this use of commit->object.flags to commit-slab +* instead to store a pointer to ref name directly. Then use the same +* UNINTERESTING definition from revision.h here. +*/ #define UNINTERESTING 01#define REV_SHIFT 2
commit-slab-decl.h renamed from commit-slab-hdr.h +0 -0
commit-slab-impl.h +1 -1
@@ -87,7 +87,7 @@ struct slabname* to allow a terminating semicolon, which makes instantiations look * like function declarations. I.e., the expansion of * -* implement_commit_slab(indegree, int); +* implement_commit_slab(indegree, int, static); * * ends in 'struct indegree;'. This would otherwise * be a syntax error according (at least) to ISO C. It's hard to
commit-slab.h +1 -1
@@ -1,7 +1,7 @@#ifndef COMMIT_SLAB_H #define COMMIT_SLAB_H -#include "commit-slab-hdr.h" +#include "commit-slab-decl.h" #include "commit-slab-impl.h" /*
commit.c +1 -1
@@ -1575,7 +1575,7 @@ int commit_tree_extended(const char *msg, size_t msg_len, } define_commit_slab(merge_desc_slab, struct merge_remote_desc *); -struct merge_desc_slab merge_desc_slab =COMMIT_SLAB_INIT (1 , merge_desc_slab); +static struct merge_desc_slab merge_desc_slab =COMMIT_SLAB_INIT (1 , merge_desc_slab);struct merge_remote_desc *merge_remote_util (struct commit *commit) {
commit.h +5 -5
@@ -16,6 +16,11 @@ 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;unsigned int index;
@@ -23,11 +28,6 @@ struct commit {struct commit_list *parents;struct tree *tree;uint32_t graph_pos; -/* -* Do not add more fields here unless it's _very_ often -* used. Use commit-slab to associate more data with a commit -* instead. -*/ };extern int save_commit_buffer;
object.h +1 -0
@@ -43,6 +43,7 @@ struct object_array {* builtin/index-pack.c: 2021 * builtin/pack-objects.c: 20 * builtin/reflog.c: 10--12 +* builtin/show-branch.c: 0-------------------------------------------26 * builtin/unpack-objects.c: 2021 */ #define FLAG_BITS 27
revision.h +1 -1
@@ -6,7 +6,7 @@#include "notes.h" #include "pretty.h" #include "diff.h" -#include "commit-slab-hdr.h" +#include "commit-slab-decl.h" /* Remember to update object flag allocation in object.h */ #define SEEN (1u<<0)
sequencer.c +1 -1
@@ -3161,7 +3161,7 @@ static enum check_level get_missing_commit_check_level(void)return CHECK_IGNORE ; } -define_commit_slab (commit_seen, uint8_t); +define_commit_slab(commit_seen, unsigned char);/* * Check if the user dropped some commits by mistake * Behaviour determined by rebase.missingCommitsCheck.
shallow.c +2 -3
@@ -110,7 +110,7 @@ struct commit_list *get_shallow_commits(struct object_array *heads, int depth, }else { commit = (struct commit *)object_array_pop (&stack); - cur_depth = **commit_depth_peek (&depths, commit); + cur_depth = **commit_depth_at (&depths, commit); } }parse_commit_or_die (commit);
@@ -140,8 +140,7 @@ struct commit_list *get_shallow_commits(struct object_array *heads, int depth, NULL, &stack); else { commit = p->item; - depth_slot =commit_depth_peek (&depths, commit); - cur_depth = **depth_slot; + cur_depth = **commit_depth_at (&depths, commit); } } }
Nguyễn Thái Ngọc Duy (15):
commit-slab.h: code split
commit-slab: support shared commit-slab
blame: use commit-slab for blame suspects instead of commit->util
describe: use commit-slab for commit names instead of commit->util shallow.c: use commit-slab for commit depth instead of commit->util sequencer.c: use commit-slab to mark seen commits sequencer.c: use commit-slab to associate todo items to commits revision.c: use commit-slab for show_source
bisect.c: use commit-slab for commit weight instead of commit->util
name-rev: use commit-slab for rev-name instead of commit->util
show-branch: use commit-slab for commit-name instead of commit->util
show-branch: note about its object flags usage
log: use commit-slab in prepare_bases() instead of commit->util
merge: use commit-slab in merge remote desc instead of commit->util commit.h: delete 'util' field in struct commit
bisect.c | 12 +++-- blame.c | 42 +++++++++++---- blame.h | 2 + builtin/blame.c | 2 +- builtin/describe.c | 16 ++++-- builtin/fast-export.c | 14 +++-- builtin/log.c | 17 +++++-- builtin/merge.c | 25 ++++----- builtin/name-rev.c | 23 +++++++-- builtin/show-branch.c | 44 +++++++++++----- commit-slab-decl.h | 43 ++++++++++++++++ commit-slab-impl.h | 97 +++++++++++++++++++++++++++++++++++ commit-slab.h | 115 +++--------------------------------------- commit.c | 12 ++++- commit.h | 8 ++- log-tree.c | 8 ++- merge-recursive.c | 8 +-- object.h | 1 + revision.c | 19 +++++-- revision.h | 5 +- sequencer.c | 24 ++++++--- shallow.c | 40 ++++++++++----- 22 files changed, 382 insertions(+), 195 deletions(-) create mode 100644 commit-slab-decl.h create mode 100644 commit-slab-impl.h
Signature · 1 line
2.17.0.705.g3525833791