]> git.ipfire.org Git - thirdparty/git.git/commit
branch: move --set-upstream-to behavior to dwim_and_setup_tracking()
authorGlen Choo <chooglen@google.com>
Sat, 29 Jan 2022 00:04:41 +0000 (16:04 -0800)
committerJunio C Hamano <gitster@pobox.com>
Tue, 1 Feb 2022 22:18:32 +0000 (14:18 -0800)
commite89f151db13684924feb0cd0a0ca3a13c1d71516
tree4da091d2e684dca32e6711f3a508453380cd194c
parent09e0be130d83ceedb3653d9a41768c6a13457ac5
branch: move --set-upstream-to behavior to dwim_and_setup_tracking()

This commit is preparation for a future commit that will simplify
create_branch() so that it always creates a branch. This will allow
create_branch() to accept a dry_run parameter (which is needed for "git
branch --recurse-submodules").

create_branch() used to always create a branch, but 4fc5006676 (Add
branch --set-upstream, 2010-01-18) changed it to also be able to set
tracking information without creating a branch.

Refactor the code that sets tracking information into its own functions
dwim_branch_start() and dwim_and_setup_tracking(). Also change an
invocation of create_branch() in cmd_branch() in builtin/branch.c to use
dwim_and_setup_tracking(), since that invocation is only for setting
tracking information (in "git branch --set-upstream-to").

As of this commit, create_branch() is no longer invoked in a way that
does not create branches.

Helped-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Glen Choo <chooglen@google.com>
Reviewed-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
branch.c
branch.h
builtin/branch.c