repo: declare the repo command
Currently, `git rev-parse` covers a wide range of functionality not directly related to parsing revisions, as its name suggests. Over time, many features like parsing datestrings, options, paths, and others were added to it because there wasn't a more appropriate command to place them. Create a new Git command called `repo`. `git repo` will be the main command for obtaining the information about a repository (such as metadata and metrics). Also declare a subcommand for `repo` called `info`. `git repo info` will bring the functionality of retrieving repository-related information currently returned by `rev-parse`. Add the required documentation and build changes to enable usage of this subcommand. Helped-by: Phillip Wood <phillip.wood@dunelm.org.uk> Helped-by: Junio C Hamano <gitster@pobox.com> Helped-by: Justin Tobler <jltobler@gmail.com> Helped-by: Eric Sunshine <sunshine@sunshineco.com> Mentored-by: Karthik Nayak <karthik.188@gmail.com> Mentored-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Lucas Seiki Oshiro <lucasseikioshiro@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
16bd9f20a4
commit
ab94bb8000
1
.gitignore
vendored
1
.gitignore
vendored
@@ -139,6 +139,7 @@
|
|||||||
/git-repack
|
/git-repack
|
||||||
/git-replace
|
/git-replace
|
||||||
/git-replay
|
/git-replay
|
||||||
|
/git-repo
|
||||||
/git-request-pull
|
/git-request-pull
|
||||||
/git-rerere
|
/git-rerere
|
||||||
/git-reset
|
/git-reset
|
||||||
|
|||||||
32
Documentation/git-repo.adoc
Normal file
32
Documentation/git-repo.adoc
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
git-repo(1)
|
||||||
|
===========
|
||||||
|
|
||||||
|
NAME
|
||||||
|
----
|
||||||
|
git-repo - Retrieve information about the repository
|
||||||
|
|
||||||
|
SYNOPSIS
|
||||||
|
--------
|
||||||
|
[synopsis]
|
||||||
|
git repo info [<key>...]
|
||||||
|
|
||||||
|
DESCRIPTION
|
||||||
|
-----------
|
||||||
|
Retrieve information about the repository.
|
||||||
|
|
||||||
|
THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.
|
||||||
|
|
||||||
|
COMMANDS
|
||||||
|
--------
|
||||||
|
`info [<key>...]`::
|
||||||
|
Retrieve metadata-related information about the current repository. Only
|
||||||
|
the requested data will be returned based on their keys (see "INFO KEYS"
|
||||||
|
section below).
|
||||||
|
|
||||||
|
SEE ALSO
|
||||||
|
--------
|
||||||
|
linkgit:git-rev-parse[1]
|
||||||
|
|
||||||
|
GIT
|
||||||
|
---
|
||||||
|
Part of the linkgit:git[1] suite
|
||||||
@@ -116,6 +116,7 @@ manpages = {
|
|||||||
'git-repack.adoc' : 1,
|
'git-repack.adoc' : 1,
|
||||||
'git-replace.adoc' : 1,
|
'git-replace.adoc' : 1,
|
||||||
'git-replay.adoc' : 1,
|
'git-replay.adoc' : 1,
|
||||||
|
'git-repo.adoc' : 1,
|
||||||
'git-request-pull.adoc' : 1,
|
'git-request-pull.adoc' : 1,
|
||||||
'git-rerere.adoc' : 1,
|
'git-rerere.adoc' : 1,
|
||||||
'git-reset.adoc' : 1,
|
'git-reset.adoc' : 1,
|
||||||
|
|||||||
1
Makefile
1
Makefile
@@ -1308,6 +1308,7 @@ BUILTIN_OBJS += builtin/remote.o
|
|||||||
BUILTIN_OBJS += builtin/repack.o
|
BUILTIN_OBJS += builtin/repack.o
|
||||||
BUILTIN_OBJS += builtin/replace.o
|
BUILTIN_OBJS += builtin/replace.o
|
||||||
BUILTIN_OBJS += builtin/replay.o
|
BUILTIN_OBJS += builtin/replay.o
|
||||||
|
BUILTIN_OBJS += builtin/repo.o
|
||||||
BUILTIN_OBJS += builtin/rerere.o
|
BUILTIN_OBJS += builtin/rerere.o
|
||||||
BUILTIN_OBJS += builtin/reset.o
|
BUILTIN_OBJS += builtin/reset.o
|
||||||
BUILTIN_OBJS += builtin/rev-list.o
|
BUILTIN_OBJS += builtin/rev-list.o
|
||||||
|
|||||||
@@ -216,6 +216,7 @@ int cmd_remote_ext(int argc, const char **argv, const char *prefix, struct repos
|
|||||||
int cmd_remote_fd(int argc, const char **argv, const char *prefix, struct repository *repo);
|
int cmd_remote_fd(int argc, const char **argv, const char *prefix, struct repository *repo);
|
||||||
int cmd_repack(int argc, const char **argv, const char *prefix, struct repository *repo);
|
int cmd_repack(int argc, const char **argv, const char *prefix, struct repository *repo);
|
||||||
int cmd_replay(int argc, const char **argv, const char *prefix, struct repository *repo);
|
int cmd_replay(int argc, const char **argv, const char *prefix, struct repository *repo);
|
||||||
|
int cmd_repo(int argc, const char **argv, const char *prefix, struct repository *repo);
|
||||||
int cmd_rerere(int argc, const char **argv, const char *prefix, struct repository *repo);
|
int cmd_rerere(int argc, const char **argv, const char *prefix, struct repository *repo);
|
||||||
int cmd_reset(int argc, const char **argv, const char *prefix, struct repository *repo);
|
int cmd_reset(int argc, const char **argv, const char *prefix, struct repository *repo);
|
||||||
int cmd_restore(int argc, const char **argv, const char *prefix, struct repository *repo);
|
int cmd_restore(int argc, const char **argv, const char *prefix, struct repository *repo);
|
||||||
|
|||||||
27
builtin/repo.c
Normal file
27
builtin/repo.c
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
#include "builtin.h"
|
||||||
|
#include "parse-options.h"
|
||||||
|
|
||||||
|
static const char *const repo_usage[] = {
|
||||||
|
"git repo info [<key>...]",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
static int repo_info(int argc UNUSED, const char **argv UNUSED,
|
||||||
|
const char *prefix UNUSED, struct repository *repo UNUSED)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int cmd_repo(int argc, const char **argv, const char *prefix,
|
||||||
|
struct repository *repo)
|
||||||
|
{
|
||||||
|
parse_opt_subcommand_fn *fn = NULL;
|
||||||
|
struct option options[] = {
|
||||||
|
OPT_SUBCOMMAND("info", &fn, repo_info),
|
||||||
|
OPT_END()
|
||||||
|
};
|
||||||
|
|
||||||
|
argc = parse_options(argc, argv, prefix, options, repo_usage, 0);
|
||||||
|
|
||||||
|
return fn(argc, argv, prefix, repo);
|
||||||
|
}
|
||||||
@@ -164,6 +164,7 @@ git-remote ancillarymanipulators complete
|
|||||||
git-repack ancillarymanipulators complete
|
git-repack ancillarymanipulators complete
|
||||||
git-replace ancillarymanipulators complete
|
git-replace ancillarymanipulators complete
|
||||||
git-replay plumbingmanipulators
|
git-replay plumbingmanipulators
|
||||||
|
git-repo plumbinginterrogators
|
||||||
git-request-pull foreignscminterface complete
|
git-request-pull foreignscminterface complete
|
||||||
git-rerere ancillaryinterrogators
|
git-rerere ancillaryinterrogators
|
||||||
git-reset mainporcelain history
|
git-reset mainporcelain history
|
||||||
|
|||||||
1
git.c
1
git.c
@@ -611,6 +611,7 @@ static struct cmd_struct commands[] = {
|
|||||||
{ "repack", cmd_repack, RUN_SETUP },
|
{ "repack", cmd_repack, RUN_SETUP },
|
||||||
{ "replace", cmd_replace, RUN_SETUP },
|
{ "replace", cmd_replace, RUN_SETUP },
|
||||||
{ "replay", cmd_replay, RUN_SETUP },
|
{ "replay", cmd_replay, RUN_SETUP },
|
||||||
|
{ "repo", cmd_repo, RUN_SETUP },
|
||||||
{ "rerere", cmd_rerere, RUN_SETUP },
|
{ "rerere", cmd_rerere, RUN_SETUP },
|
||||||
{ "reset", cmd_reset, RUN_SETUP },
|
{ "reset", cmd_reset, RUN_SETUP },
|
||||||
{ "restore", cmd_restore, RUN_SETUP | NEED_WORK_TREE },
|
{ "restore", cmd_restore, RUN_SETUP | NEED_WORK_TREE },
|
||||||
|
|||||||
@@ -645,6 +645,7 @@ builtin_sources = [
|
|||||||
'builtin/repack.c',
|
'builtin/repack.c',
|
||||||
'builtin/replace.c',
|
'builtin/replace.c',
|
||||||
'builtin/replay.c',
|
'builtin/replay.c',
|
||||||
|
'builtin/repo.c',
|
||||||
'builtin/rerere.c',
|
'builtin/rerere.c',
|
||||||
'builtin/reset.c',
|
'builtin/reset.c',
|
||||||
'builtin/rev-list.c',
|
'builtin/rev-list.c',
|
||||||
|
|||||||
Reference in New Issue
Block a user