diff --git a/library/git b/library/git index 5395f516a9..6b5b5039bf 100755 --- a/library/git +++ b/library/git @@ -155,7 +155,7 @@ def pull(module, repo, dest, version): if b.startswith('* '): cur_branch = b if is_local_branch(module, dest, version) and not is_current_branch(module, dest, version): - (out, err) = switch_version(module, dest, remote, version) + (rc, out, err) = switch_version(module, dest, remote, version) cmd = "git pull -u origin" cmd = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) @@ -219,9 +219,11 @@ def main(): if rc != 0: module.fail_json(msg=err) (rc, out, err) = pull(module, repo, dest, version) + if rc != 0: + module.fail_json(msg=err) # handle errors from clone or pull - if out.find('error') != -1 or err.find('ERROR') != -1: + if rc != 0: module.fail_json(msg=err) # switch to version specified regardless of whether