commit-graph: create git-commit-graph builtin
Teach git the 'commit-graph' builtin that will be used for writing and reading packed graph files. The current implementation is mostly empty, except for an '--object-dir' option. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
ae30d7b115
commit
4ce58ee38d
1
.gitignore
vendored
1
.gitignore
vendored
@ -34,6 +34,7 @@
|
|||||||
/git-clone
|
/git-clone
|
||||||
/git-column
|
/git-column
|
||||||
/git-commit
|
/git-commit
|
||||||
|
/git-commit-graph
|
||||||
/git-commit-tree
|
/git-commit-tree
|
||||||
/git-config
|
/git-config
|
||||||
/git-count-objects
|
/git-count-objects
|
||||||
|
10
Documentation/git-commit-graph.txt
Normal file
10
Documentation/git-commit-graph.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
git-commit-graph(1)
|
||||||
|
===================
|
||||||
|
|
||||||
|
NAME
|
||||||
|
----
|
||||||
|
git-commit-graph - Write and verify Git commit graph files
|
||||||
|
|
||||||
|
GIT
|
||||||
|
---
|
||||||
|
Part of the linkgit:git[1] suite
|
1
Makefile
1
Makefile
@ -946,6 +946,7 @@ BUILTIN_OBJS += builtin/clone.o
|
|||||||
BUILTIN_OBJS += builtin/column.o
|
BUILTIN_OBJS += builtin/column.o
|
||||||
BUILTIN_OBJS += builtin/commit-tree.o
|
BUILTIN_OBJS += builtin/commit-tree.o
|
||||||
BUILTIN_OBJS += builtin/commit.o
|
BUILTIN_OBJS += builtin/commit.o
|
||||||
|
BUILTIN_OBJS += builtin/commit-graph.o
|
||||||
BUILTIN_OBJS += builtin/config.o
|
BUILTIN_OBJS += builtin/config.o
|
||||||
BUILTIN_OBJS += builtin/count-objects.o
|
BUILTIN_OBJS += builtin/count-objects.o
|
||||||
BUILTIN_OBJS += builtin/credential.o
|
BUILTIN_OBJS += builtin/credential.o
|
||||||
|
@ -149,6 +149,7 @@ extern int cmd_clone(int argc, const char **argv, const char *prefix);
|
|||||||
extern int cmd_clean(int argc, const char **argv, const char *prefix);
|
extern int cmd_clean(int argc, const char **argv, const char *prefix);
|
||||||
extern int cmd_column(int argc, const char **argv, const char *prefix);
|
extern int cmd_column(int argc, const char **argv, const char *prefix);
|
||||||
extern int cmd_commit(int argc, const char **argv, const char *prefix);
|
extern int cmd_commit(int argc, const char **argv, const char *prefix);
|
||||||
|
extern int cmd_commit_graph(int argc, const char **argv, const char *prefix);
|
||||||
extern int cmd_commit_tree(int argc, const char **argv, const char *prefix);
|
extern int cmd_commit_tree(int argc, const char **argv, const char *prefix);
|
||||||
extern int cmd_config(int argc, const char **argv, const char *prefix);
|
extern int cmd_config(int argc, const char **argv, const char *prefix);
|
||||||
extern int cmd_count_objects(int argc, const char **argv, const char *prefix);
|
extern int cmd_count_objects(int argc, const char **argv, const char *prefix);
|
||||||
|
36
builtin/commit-graph.c
Normal file
36
builtin/commit-graph.c
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
#include "builtin.h"
|
||||||
|
#include "config.h"
|
||||||
|
#include "parse-options.h"
|
||||||
|
|
||||||
|
static char const * const builtin_commit_graph_usage[] = {
|
||||||
|
N_("git commit-graph [--object-dir <objdir>]"),
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct opts_commit_graph {
|
||||||
|
const char *obj_dir;
|
||||||
|
} opts;
|
||||||
|
|
||||||
|
|
||||||
|
int cmd_commit_graph(int argc, const char **argv, const char *prefix)
|
||||||
|
{
|
||||||
|
static struct option builtin_commit_graph_options[] = {
|
||||||
|
OPT_STRING(0, "object-dir", &opts.obj_dir,
|
||||||
|
N_("dir"),
|
||||||
|
N_("The object directory to store the graph")),
|
||||||
|
OPT_END(),
|
||||||
|
};
|
||||||
|
|
||||||
|
if (argc == 2 && !strcmp(argv[1], "-h"))
|
||||||
|
usage_with_options(builtin_commit_graph_usage,
|
||||||
|
builtin_commit_graph_options);
|
||||||
|
|
||||||
|
git_config(git_default_config, NULL);
|
||||||
|
argc = parse_options(argc, argv, prefix,
|
||||||
|
builtin_commit_graph_options,
|
||||||
|
builtin_commit_graph_usage,
|
||||||
|
PARSE_OPT_STOP_AT_NON_OPTION);
|
||||||
|
|
||||||
|
usage_with_options(builtin_commit_graph_usage,
|
||||||
|
builtin_commit_graph_options);
|
||||||
|
}
|
@ -34,6 +34,7 @@ git-clean mainporcelain
|
|||||||
git-clone mainporcelain init
|
git-clone mainporcelain init
|
||||||
git-column purehelpers
|
git-column purehelpers
|
||||||
git-commit mainporcelain history
|
git-commit mainporcelain history
|
||||||
|
git-commit-graph plumbingmanipulators
|
||||||
git-commit-tree plumbingmanipulators
|
git-commit-tree plumbingmanipulators
|
||||||
git-config ancillarymanipulators
|
git-config ancillarymanipulators
|
||||||
git-count-objects ancillaryinterrogators
|
git-count-objects ancillaryinterrogators
|
||||||
|
@ -841,6 +841,7 @@ __git_list_porcelain_commands ()
|
|||||||
check-ref-format) : plumbing;;
|
check-ref-format) : plumbing;;
|
||||||
checkout-index) : plumbing;;
|
checkout-index) : plumbing;;
|
||||||
column) : internal helper;;
|
column) : internal helper;;
|
||||||
|
commit-graph) : plumbing;;
|
||||||
commit-tree) : plumbing;;
|
commit-tree) : plumbing;;
|
||||||
count-objects) : infrequent;;
|
count-objects) : infrequent;;
|
||||||
credential) : credentials;;
|
credential) : credentials;;
|
||||||
@ -2419,6 +2420,7 @@ _git_config ()
|
|||||||
core.bigFileThreshold
|
core.bigFileThreshold
|
||||||
core.checkStat
|
core.checkStat
|
||||||
core.commentChar
|
core.commentChar
|
||||||
|
core.commitGraph
|
||||||
core.compression
|
core.compression
|
||||||
core.createObject
|
core.createObject
|
||||||
core.deltaBaseCacheLimit
|
core.deltaBaseCacheLimit
|
||||||
|
1
git.c
1
git.c
@ -388,6 +388,7 @@ static struct cmd_struct commands[] = {
|
|||||||
{ "clone", cmd_clone },
|
{ "clone", cmd_clone },
|
||||||
{ "column", cmd_column, RUN_SETUP_GENTLY },
|
{ "column", cmd_column, RUN_SETUP_GENTLY },
|
||||||
{ "commit", cmd_commit, RUN_SETUP | NEED_WORK_TREE },
|
{ "commit", cmd_commit, RUN_SETUP | NEED_WORK_TREE },
|
||||||
|
{ "commit-graph", cmd_commit_graph, RUN_SETUP },
|
||||||
{ "commit-tree", cmd_commit_tree, RUN_SETUP },
|
{ "commit-tree", cmd_commit_tree, RUN_SETUP },
|
||||||
{ "config", cmd_config, RUN_SETUP_GENTLY },
|
{ "config", cmd_config, RUN_SETUP_GENTLY },
|
||||||
{ "count-objects", cmd_count_objects, RUN_SETUP },
|
{ "count-objects", cmd_count_objects, RUN_SETUP },
|
||||||
|
Loading…
Reference in New Issue
Block a user