pull, fetch: add --set-upstream option
Add the --set-upstream option to git pull/fetch
which lets the user set the upstream configuration
(branch.<current-branch-name>.merge and
branch.<current-branch-name>.remote) for the current branch.
A typical use-case is:
git clone http://example.com/my-public-fork
git remote add main http://example.com/project-main-repo
git pull --set-upstream main master
or, instead of the last line:
git fetch --set-upstream main master
git merge # or git rebase
This is mostly equivalent to cloning project-main-repo (which sets
upsteam) and then "git remote add" my-public-fork, but may feel more
natural for people using a hosting system which allows forking from
the web UI.
This functionality is analog to "git push --set-upstream".
Signed-off-by: Corentin BOMPARD <corentin.bompard@etu.univ-lyon1.fr>
Signed-off-by: Nathan BERBEZIER <nathan.berbezier@etu.univ-lyon1.fr>
Signed-off-by: Pablo CHABANNE <pablo.chabanne@etu.univ-lyon1.fr>
Signed-off-by: Matthieu Moy <git@matthieu-moy.fr>
Patch-edited-by: Matthieu Moy <git@matthieu-moy.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
ff66981f45
commit
24bc1a1292
@ -129,6 +129,7 @@ static char *opt_refmap;
|
||||
static char *opt_ipv4;
|
||||
static char *opt_ipv6;
|
||||
static int opt_show_forced_updates = -1;
|
||||
static char *set_upstream;
|
||||
|
||||
static struct option pull_options[] = {
|
||||
/* Shared options */
|
||||
@ -243,6 +244,9 @@ static struct option pull_options[] = {
|
||||
PARSE_OPT_NOARG),
|
||||
OPT_BOOL(0, "show-forced-updates", &opt_show_forced_updates,
|
||||
N_("check for forced-updates on all updated branches")),
|
||||
OPT_PASSTHRU(0, "set-upstream", &set_upstream, NULL,
|
||||
N_("set upstream for git pull/fetch"),
|
||||
PARSE_OPT_NOARG),
|
||||
|
||||
OPT_END()
|
||||
};
|
||||
@ -556,6 +560,8 @@ static int run_fetch(const char *repo, const char **refspecs)
|
||||
argv_array_push(&args, "--show-forced-updates");
|
||||
else if (opt_show_forced_updates == 0)
|
||||
argv_array_push(&args, "--no-show-forced-updates");
|
||||
if (set_upstream)
|
||||
argv_array_push(&args, set_upstream);
|
||||
|
||||
if (repo) {
|
||||
argv_array_push(&args, repo);
|
||||
|
||||
Reference in New Issue
Block a user