branch: optionally setup branch.*.merge from upstream local branches
"git branch" and "git checkout -b" now honor --track option even when the upstream branch is local. Previously --track was silently ignored when forking from a local branch. Also the command did not error out when --track was explicitly asked for but the forked point specified was not an existing branch (i.e. when there is no way to set up the tracking configuration), but now it correctly does. The configuration setting branch.autosetupmerge can now be set to "always", which is equivalent to using --track from the command line. Setting branch.autosetupmerge to "true" will retain the former behavior of only setting up branch.*.merge for remote upstream branches. Includes test cases for the new functionality. Signed-off-by: Jay Soffian <jaysoffian@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
569012bf91
commit
9ed36cfa35
9
cache.h
9
cache.h
@ -373,6 +373,15 @@ extern size_t packed_git_limit;
|
||||
extern size_t delta_base_cache_limit;
|
||||
extern int auto_crlf;
|
||||
|
||||
enum branch_track {
|
||||
BRANCH_TRACK_NEVER = 0,
|
||||
BRANCH_TRACK_REMOTE,
|
||||
BRANCH_TRACK_ALWAYS,
|
||||
BRANCH_TRACK_EXPLICIT,
|
||||
};
|
||||
|
||||
extern enum branch_track git_branch_track;
|
||||
|
||||
#define GIT_REPO_VERSION 0
|
||||
extern int repository_format_version;
|
||||
extern int check_repository_format(void);
|
||||
|
Reference in New Issue
Block a user