summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorDerrick Stolee <dstolee@microsoft.com>2018-03-14 15:27:36 -0400
committerJunio C Hamano <gitster@pobox.com>2018-03-14 14:01:36 -0700
commit626d3d33cb1a0ff93f14f473be8b7a1d7d4eb5ee (patch)
tree7ae7cc69ee60be68b18219c1875ce52b4bfb0482 /builtin
parent7ac808d9bd5f49a06e745cfe3bdc3c7b0be4d5eb (diff)
downloadgit-626d3d33cb1a0ff93f14f473be8b7a1d7d4eb5ee.tar.gz
commit-graph: implement "--additive" option
Teach git-commit-graph to add all commits from the existing commit-graph file to the file about to be written. This should be used when adding new commits without performing garbage collection. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r--builtin/commit-graph.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/builtin/commit-graph.c b/builtin/commit-graph.c
index 57a5728a33..62ac26e444 100644
--- a/builtin/commit-graph.c
+++ b/builtin/commit-graph.c
@@ -8,7 +8,7 @@
static char const * const builtin_commit_graph_usage[] = {
N_("git commit-graph [--object-dir <objdir>]"),
N_("git commit-graph read [--object-dir <objdir>]"),
- N_("git commit-graph write [--object-dir <objdir>] [--stdin-packs|--stdin-commits]"),
+ N_("git commit-graph write [--object-dir <objdir>] [--additive] [--stdin-packs|--stdin-commits]"),
NULL
};
@@ -18,7 +18,7 @@ static const char * const builtin_commit_graph_read_usage[] = {
};
static const char * const builtin_commit_graph_write_usage[] = {
- N_("git commit-graph write [--object-dir <objdir>] [--stdin-packs|--stdin-commits]"),
+ N_("git commit-graph write [--object-dir <objdir>] [--additive] [--stdin-packs|--stdin-commits]"),
NULL
};
@@ -26,6 +26,7 @@ static struct opts_commit_graph {
const char *obj_dir;
int stdin_packs;
int stdin_commits;
+ int additive;
} opts;
static int graph_read(int argc, const char **argv)
@@ -94,6 +95,8 @@ static int graph_write(int argc, const char **argv)
N_("scan packfiles listed by stdin for commits")),
OPT_BOOL(0, "stdin-commits", &opts.stdin_commits,
N_("start walk at commits listed by stdin")),
+ OPT_BOOL(0, "additive", &opts.additive,
+ N_("include all commits already in the commit-graph file")),
OPT_END(),
};
@@ -131,7 +134,8 @@ static int graph_write(int argc, const char **argv)
pack_indexes,
packs_nr,
commit_hex,
- commits_nr);
+ commits_nr,
+ opts.additive);
return 0;
}