From ef1a8e4cddedf8127a253078ef34b884e95eb860 Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Thu, 17 Apr 2014 09:34:36 -0400 Subject: [PATCH] Only update submodules when recursive is true --- library/source_control/git | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/library/source_control/git b/library/source_control/git index 968b763b1a..6af4bd7179 100644 --- a/library/source_control/git +++ b/library/source_control/git @@ -429,7 +429,7 @@ def submodule_update(git_path, module, dest): module.fail_json(msg="Failed to init/update submodules: %s" % out + err) return (rc, out, err) -def switch_version(git_path, module, dest, remote, version): +def switch_version(git_path, module, dest, remote, version, recursive): ''' once pulled, switch to a particular SHA, tag, or branch ''' cmd = '' if version != 'HEAD': @@ -455,8 +455,11 @@ def switch_version(git_path, module, dest, remote, version): module.fail_json(msg="Failed to checkout %s" % (version)) else: module.fail_json(msg="Failed to checkout branch %s" % (branch)) - (rc, out2, err2) = submodule_update(git_path, module, dest) - return (rc, out1 + out2, err1 + err2) + if recursive: + (rc, out2, err2) = submodule_update(git_path, module, dest) + out1 += out2 + err1 += err1 + return (rc, out1, err1) # =========================================== @@ -565,7 +568,7 @@ def main(): # switch to version specified regardless of whether # we cloned or pulled if not bare: - switch_version(git_path, module, dest, remote, version) + switch_version(git_path, module, dest, remote, version, recursive) # determine if we changed anything after = get_version(module, git_path, dest)