Fix git failure for use of depth with version (#5135)
* Fixes #5108 * before module fails with "fatal: A branch named 'STABLE' already exists." when depth is used on a fresh clone with a non-HEAD branch
This commit is contained in:
parent
3dda38a90f
commit
5446e6639f
1 changed files with 5 additions and 4 deletions
|
@ -756,11 +756,12 @@ def switch_version(git_path, module, dest, remote, version, verify_commit, depth
|
|||
else:
|
||||
# FIXME check for local_branch first, should have been fetched already
|
||||
if is_remote_branch(git_path, module, dest, remote, version):
|
||||
if depth and not is_local_branch(git_path, module, dest, version):
|
||||
# git clone --depth implies --single-branch, which makes
|
||||
# the checkout fail if the version changes
|
||||
# fetch the remote branch, to be able to check it out next
|
||||
set_remote_branch(git_path, module, dest, remote, version, depth)
|
||||
if not is_local_branch(git_path, module, dest, version):
|
||||
if depth:
|
||||
# git clone --depth implies --single-branch, which makes
|
||||
# the checkout fail if the version changes
|
||||
set_remote_branch(git_path, module, dest, remote, version, depth)
|
||||
cmd = "%s checkout --track -b %s %s/%s" % (git_path, version, remote, version)
|
||||
else:
|
||||
(rc, out, err) = module.run_command("%s checkout --force %s" % (git_path, version), cwd=dest)
|
||||
|
|
Loading…
Reference in a new issue