Merge pull request #1724 from sfromm/issue1722a

Further refine remote branch tracking in b1ec6e8
This commit is contained in:
Stephen Fromm 2012-12-04 17:15:44 -08:00
commit 65413dc778

View file

@ -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: