Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
log: use commit-slab in prepare_bases() instead of commit->util
author
Nguyễn Thái Ngọc Duy
<pclouds@gmail.com>
Sat, 19 May 2018 05:28:29 +0000
(07:28 +0200)
committer
Junio C Hamano
<gitster@pobox.com>
Mon, 21 May 2018 05:07:20 +0000
(14:07 +0900)
It's done so that commit->util can be removed. See more explanation in
the commit that removes commit->util.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/log.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
44cecbf
)
diff --git
a/builtin/log.c
b/builtin/log.c
index d017e5747544f0c66630e56faf4b72e853820ed8..967fbc5caaecd3a2271bd566e2dc145a74119185 100644
(file)
--- a/
builtin/log.c
+++ b/
builtin/log.c
@@
-28,6
+28,7
@@
#include "mailmap.h"
#include "gpg-interface.h"
#include "progress.h"
#include "mailmap.h"
#include "gpg-interface.h"
#include "progress.h"
+#include "commit-slab.h"
#define MAIL_DEFAULT_WRAP 72
#define MAIL_DEFAULT_WRAP 72
@@
-1340,6
+1341,8
@@
static struct commit *get_base_commit(const char *base_commit,
return base;
}
return base;
}
+define_commit_slab(commit_base, int);
+
static void prepare_bases(struct base_tree_info *bases,
struct commit *base,
struct commit **list,
static void prepare_bases(struct base_tree_info *bases,
struct commit *base,
struct commit **list,
@@
-1348,11
+1351,13
@@
static void prepare_bases(struct base_tree_info *bases,
struct commit *commit;
struct rev_info revs;
struct diff_options diffopt;
struct commit *commit;
struct rev_info revs;
struct diff_options diffopt;
+ struct commit_base commit_base;
int i;
if (!base)
return;
int i;
if (!base)
return;
+ init_commit_base(&commit_base);
diff_setup(&diffopt);
diffopt.flags.recursive = 1;
diff_setup_done(&diffopt);
diff_setup(&diffopt);
diffopt.flags.recursive = 1;
diff_setup_done(&diffopt);
@@
-1365,7
+1370,7
@@
static void prepare_bases(struct base_tree_info *bases,
for (i = 0; i < total; i++) {
list[i]->object.flags &= ~UNINTERESTING;
add_pending_object(&revs, &list[i]->object, "rev_list");
for (i = 0; i < total; i++) {
list[i]->object.flags &= ~UNINTERESTING;
add_pending_object(&revs, &list[i]->object, "rev_list");
-
list[i]->util = (void *)
1;
+
*commit_base_at(&commit_base, list[i]) =
1;
}
base->object.flags |= UNINTERESTING;
add_pending_object(&revs, &base->object, "base");
}
base->object.flags |= UNINTERESTING;
add_pending_object(&revs, &base->object, "base");
@@
-1379,7
+1384,7
@@
static void prepare_bases(struct base_tree_info *bases,
while ((commit = get_revision(&revs)) != NULL) {
struct object_id oid;
struct object_id *patch_id;
while ((commit = get_revision(&revs)) != NULL) {
struct object_id oid;
struct object_id *patch_id;
- if (
commit->util
)
+ if (
*commit_base_at(&commit_base, commit)
)
continue;
if (commit_patch_id(commit, &diffopt, &oid, 0))
die(_("cannot get patch id"));
continue;
if (commit_patch_id(commit, &diffopt, &oid, 0))
die(_("cannot get patch id"));
@@
-1388,6
+1393,7
@@
static void prepare_bases(struct base_tree_info *bases,
oidcpy(patch_id, &oid);
bases->nr_patch_id++;
}
oidcpy(patch_id, &oid);
bases->nr_patch_id++;
}
+ clear_commit_base(&commit_base);
}
static void print_bases(struct base_tree_info *bases, FILE *file)
}
static void print_bases(struct base_tree_info *bases, FILE *file)