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>maint
parent
e0d1bcf825
commit
6a257f03ba
|
@ -99,8 +99,9 @@
|
||||||
/git-mergetool--lib
|
/git-mergetool--lib
|
||||||
/git-mktag
|
/git-mktag
|
||||||
/git-mktree
|
/git-mktree
|
||||||
/git-name-rev
|
/git-multi-pack-index
|
||||||
/git-mv
|
/git-mv
|
||||||
|
/git-name-rev
|
||||||
/git-notes
|
/git-notes
|
||||||
/git-p4
|
/git-p4
|
||||||
/git-pack-redundant
|
/git-pack-redundant
|
||||||
|
|
|
@ -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/merge-tree.o
|
||||||
BUILTIN_OBJS += builtin/mktag.o
|
BUILTIN_OBJS += builtin/mktag.o
|
||||||
BUILTIN_OBJS += builtin/mktree.o
|
BUILTIN_OBJS += builtin/mktree.o
|
||||||
|
BUILTIN_OBJS += builtin/multi-pack-index.o
|
||||||
BUILTIN_OBJS += builtin/mv.o
|
BUILTIN_OBJS += builtin/mv.o
|
||||||
BUILTIN_OBJS += builtin/name-rev.o
|
BUILTIN_OBJS += builtin/name-rev.o
|
||||||
BUILTIN_OBJS += builtin/notes.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_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_mktag(int argc, const char **argv, const char *prefix);
|
||||||
extern int cmd_mktree(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_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_name_rev(int argc, const char **argv, const char *prefix);
|
||||||
extern int cmd_notes(int argc, const char **argv, const char *prefix);
|
extern int cmd_notes(int argc, const char **argv, const char *prefix);
|
||||||
|
|
|
@ -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-merge-one-file purehelpers
|
||||||
git-mergetool ancillarymanipulators complete
|
git-mergetool ancillarymanipulators complete
|
||||||
git-merge-tree ancillaryinterrogators
|
git-merge-tree ancillaryinterrogators
|
||||||
|
git-multi-pack-index plumbingmanipulators
|
||||||
git-mktag plumbingmanipulators
|
git-mktag plumbingmanipulators
|
||||||
git-mktree plumbingmanipulators
|
git-mktree plumbingmanipulators
|
||||||
git-mv mainporcelain worktree
|
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 },
|
{ "merge-tree", cmd_merge_tree, RUN_SETUP | NO_PARSEOPT },
|
||||||
{ "mktag", cmd_mktag, RUN_SETUP | NO_PARSEOPT },
|
{ "mktag", cmd_mktag, RUN_SETUP | NO_PARSEOPT },
|
||||||
{ "mktree", cmd_mktree, RUN_SETUP },
|
{ "mktree", cmd_mktree, RUN_SETUP },
|
||||||
|
{ "multi-pack-index", cmd_multi_pack_index, RUN_SETUP_GENTLY },
|
||||||
{ "mv", cmd_mv, RUN_SETUP | NEED_WORK_TREE },
|
{ "mv", cmd_mv, RUN_SETUP | NEED_WORK_TREE },
|
||||||
{ "name-rev", cmd_name_rev, RUN_SETUP },
|
{ "name-rev", cmd_name_rev, RUN_SETUP },
|
||||||
{ "notes", cmd_notes, RUN_SETUP },
|
{ "notes", cmd_notes, RUN_SETUP },
|
||||||
|
|
Loading…
Reference in New Issue