1
0
mirror of https://github.com/git/git.git synced 2024-09-24 06:41:47 +02:00

scalar: implement 'scalar list'

The produced list simply consists of those repositories registered under
the multi-valued `scalar.repo` config setting in the user's Git config.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Derrick Stolee 2021-12-03 13:34:22 +00:00 committed by Junio C Hamano
parent f5f0842d0b
commit 2b7104573c
2 changed files with 21 additions and 1 deletions

View File

@ -251,6 +251,16 @@ static int unregister_dir(void)
return res;
}
static int cmd_list(int argc, const char **argv)
{
if (argc != 1)
die(_("`scalar list` does not take arguments"));
if (run_git("config", "--global", "--get-all", "scalar.repo", NULL) < 0)
return -1;
return 0;
}
static int cmd_register(int argc, const char **argv)
{
struct option options[] = {
@ -337,6 +347,7 @@ static struct {
const char *name;
int (*fn)(int, const char **);
} builtins[] = {
{ "list", cmd_list },
{ "register", cmd_register },
{ "unregister", cmd_unregister },
{ NULL, NULL},

View File

@ -8,6 +8,7 @@ scalar - an opinionated repository management tool
SYNOPSIS
--------
[verse]
scalar list
scalar register [<enlistment>]
scalar unregister [<enlistment>]
@ -28,11 +29,19 @@ an existing Git worktree with Scalar whose name is not `src`, the enlistment
will be identical to the worktree.
The `scalar` command implements various subcommands, and different options
depending on the subcommand.
depending on the subcommand. With the exception of `list`, all subcommands
expect to be run in an enlistment.
COMMANDS
--------
List
~~~~
list::
List enlistments that are currently registered by Scalar. This
subcommand does not need to be run inside an enlistment.
Register
~~~~~~~~