diff --git a/library/git b/library/git index b73d5cace29..05590c25f84 100644 --- a/library/git +++ b/library/git @@ -197,14 +197,14 @@ def switch_version(module, dest, remote, version): os.chdir(dest) cmd = '' if version != 'HEAD': - if not is_local_branch(module, dest, version) and is_remote_branch(module, dest, remote, version): - cmd = "git checkout --track -b %s %s/%s" % (version, remote, version) - elif is_local_branch(module, dest, version): - cmd = "git checkout --force %s" % version - (rc, out, err) = _run("git checkout --force %s" % version) - if rc != 0: - module.fail_json(msg="Failed to checkout branch %s" % version) - cmd = "git reset --hard %s/%s" % (remote, version) + if is_remote_branch(module, dest, remote, version): + if not is_local_branch(module, dest, version): + cmd = "git checkout --track -b %s %s/%s" % (version, remote, version) + else: + (rc, out, err) = _run("git checkout --force %s" % version) + if rc != 0: + module.fail_json(msg="Failed to checkout branch %s" % version) + cmd = "git reset --hard %s/%s" % (remote, version) else: cmd = "git checkout --force %s" % version else: