提交 b344e161 编写于 作者: F Finn Arne Gangstad 提交者: Junio C Hamano

git remote update: Fallback to remote if group does not exist

Previously, git remote update <remote> would fail unless there was
a remote group configured with the same name as the remote.
git remote update will now fall back to using the remote if no matching
group can be found.

This enables "git remote update -p <remote>..." to fetch and prune one
or more remotes, for example.
Signed-off-by: NFinn Arne Gangstad <finnag@pvv.org>
Signed-off-by: NJunio C Hamano <gitster@pobox.com>
上级 9a23ba33
......@@ -16,7 +16,7 @@ SYNOPSIS
'git remote set-head' <name> [-a | -d | <branch>]
'git remote show' [-n] <name>
'git remote prune' [-n | --dry-run] <name>
'git remote update' [-p | --prune] [group]
'git remote update' [-p | --prune] [group | remote]...
DESCRIPTION
-----------
......
......@@ -1232,8 +1232,14 @@ static int update(int argc, const char **argv)
int groups_found = 0;
remote_group.name = argv[i];
result = git_config(get_remote_group, &groups_found);
if (!groups_found && (i != 1 || strcmp(argv[1], "default")))
die("No such remote group: '%s'", argv[i]);
if (!groups_found && (i != 1 || strcmp(argv[1], "default"))) {
struct remote *remote;
if (!remote_is_configured(argv[i]))
die("No such remote or remote group: %s",
argv[i]);
remote = remote_get(argv[i]);
string_list_append(remote->name, remote_group.list);
}
}
if (!result && !list.nr && argc == 2 && !strcmp(argv[1], "default"))
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册