multi-pack-index: add builtin
This new 'git multi-pack-index' builtin will be the plumbing access for writing, reading, and checking multi-pack-index files. The initial implementation is a no-op. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
e0d1bcf825
commit
6a257f03ba
3
.gitignore
vendored
3
.gitignore
vendored
@ -99,8 +99,9 @@
|
||||
/git-mergetool--lib
|
||||
/git-mktag
|
||||
/git-mktree
|
||||
/git-name-rev
|
||||
/git-multi-pack-index
|
||||
/git-mv
|
||||
/git-name-rev
|
||||
/git-notes
|
||||
/git-p4
|
||||
/git-pack-redundant
|
||||
|
36
Documentation/git-multi-pack-index.txt
Normal file
36
Documentation/git-multi-pack-index.txt
Normal file
@ -0,0 +1,36 @@
|
||||
git-multi-pack-index(1)
|
||||
=======================
|
||||
|
||||
NAME
|
||||
----
|
||||
git-multi-pack-index - Write and verify multi-pack-indexes
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git multi-pack-index' [--object-dir=<dir>]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Write or verify a multi-pack-index (MIDX) file.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
|
||||
--object-dir=<dir>::
|
||||
Use given directory for the location of Git objects. We check
|
||||
`<dir>/packs/multi-pack-index` for the current MIDX file, and
|
||||
`<dir>/packs` for the pack-files to index.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
See link:technical/multi-pack-index.html[The Multi-Pack-Index Design
|
||||
Document] and link:technical/pack-format.html[The Multi-Pack-Index
|
||||
Format] for more information on the multi-pack-index feature.
|
||||
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
1
Makefile
1
Makefile
@ -1047,6 +1047,7 @@ BUILTIN_OBJS += builtin/merge-recursive.o
|
||||
BUILTIN_OBJS += builtin/merge-tree.o
|
||||
BUILTIN_OBJS += builtin/mktag.o
|
||||
BUILTIN_OBJS += builtin/mktree.o
|
||||
BUILTIN_OBJS += builtin/multi-pack-index.o
|
||||
BUILTIN_OBJS += builtin/mv.o
|
||||
BUILTIN_OBJS += builtin/name-rev.o
|
||||
BUILTIN_OBJS += builtin/notes.o
|
||||
|
@ -191,6 +191,7 @@ extern int cmd_merge_recursive(int argc, const char **argv, const char *prefix);
|
||||
extern int cmd_merge_tree(int argc, const char **argv, const char *prefix);
|
||||
extern int cmd_mktag(int argc, const char **argv, const char *prefix);
|
||||
extern int cmd_mktree(int argc, const char **argv, const char *prefix);
|
||||
extern int cmd_multi_pack_index(int argc, const char **argv, const char *prefix);
|
||||
extern int cmd_mv(int argc, const char **argv, const char *prefix);
|
||||
extern int cmd_name_rev(int argc, const char **argv, const char *prefix);
|
||||
extern int cmd_notes(int argc, const char **argv, const char *prefix);
|
||||
|
34
builtin/multi-pack-index.c
Normal file
34
builtin/multi-pack-index.c
Normal file
@ -0,0 +1,34 @@
|
||||
#include "builtin.h"
|
||||
#include "cache.h"
|
||||
#include "config.h"
|
||||
#include "parse-options.h"
|
||||
|
||||
static char const * const builtin_multi_pack_index_usage[] = {
|
||||
N_("git multi-pack-index [--object-dir=<dir>]"),
|
||||
NULL
|
||||
};
|
||||
|
||||
static struct opts_multi_pack_index {
|
||||
const char *object_dir;
|
||||
} opts;
|
||||
|
||||
int cmd_multi_pack_index(int argc, const char **argv,
|
||||
const char *prefix)
|
||||
{
|
||||
static struct option builtin_multi_pack_index_options[] = {
|
||||
OPT_FILENAME(0, "object-dir", &opts.object_dir,
|
||||
N_("object directory containing set of packfile and pack-index pairs")),
|
||||
OPT_END(),
|
||||
};
|
||||
|
||||
git_config(git_default_config, NULL);
|
||||
|
||||
argc = parse_options(argc, argv, prefix,
|
||||
builtin_multi_pack_index_options,
|
||||
builtin_multi_pack_index_usage, 0);
|
||||
|
||||
if (!opts.object_dir)
|
||||
opts.object_dir = get_object_directory();
|
||||
|
||||
return 0;
|
||||
}
|
@ -123,6 +123,7 @@ git-merge-index plumbingmanipulators
|
||||
git-merge-one-file purehelpers
|
||||
git-mergetool ancillarymanipulators complete
|
||||
git-merge-tree ancillaryinterrogators
|
||||
git-multi-pack-index plumbingmanipulators
|
||||
git-mktag plumbingmanipulators
|
||||
git-mktree plumbingmanipulators
|
||||
git-mv mainporcelain worktree
|
||||
|
1
git.c
1
git.c
@ -505,6 +505,7 @@ static struct cmd_struct commands[] = {
|
||||
{ "merge-tree", cmd_merge_tree, RUN_SETUP | NO_PARSEOPT },
|
||||
{ "mktag", cmd_mktag, RUN_SETUP | NO_PARSEOPT },
|
||||
{ "mktree", cmd_mktree, RUN_SETUP },
|
||||
{ "multi-pack-index", cmd_multi_pack_index, RUN_SETUP_GENTLY },
|
||||
{ "mv", cmd_mv, RUN_SETUP | NEED_WORK_TREE },
|
||||
{ "name-rev", cmd_name_rev, RUN_SETUP },
|
||||
{ "notes", cmd_notes, RUN_SETUP },
|
||||
|
Loading…
Reference in New Issue
Block a user