6657: check git availability only when recursive copy is being used.
authorradhika <radhika@curoverse.com>
Tue, 28 Jul 2015 18:00:17 +0000 (14:00 -0400)
committerradhika <radhika@curoverse.com>
Tue, 28 Jul 2015 18:00:17 +0000 (14:00 -0400)
doc/_includes/_arv_copy_expectations.liquid
sdk/python/arvados/commands/arv_copy.py

index 50362def446426278fdb4e3e9abca73000a27c38..a76c9e7c255b0d8be82c6d480a8f43337475062a 100644 (file)
@@ -3,10 +3,4 @@ As stated above, arv-copy is recursive by default and requires a working git rep
 
 <br/>In addition, arv-copy requires git when copying to a git repository. Please make sure that git is installed and available.
 
-Use the following command to check if git is available.
-<notextile><pre><code>~$ <span class="userinput">git --help</span></code></pre></notextile>
-
-Use the following command to install git.
-<notextile><pre><code>~$ <span class="userinput">sudo apt-get install git</span></code></pre></notextile>
-
 {% include 'notebox_end' %}
index 5e48bc4831e577560f1ea41b300cce7f5d19a3f5..e7eb5a9e2802ae8cede8ec2987f75cbcc8fba933 100755 (executable)
@@ -212,6 +212,12 @@ def copy_pipeline_instance(pi_uuid, src, dst, args):
     pi = src.pipeline_instances().get(uuid=pi_uuid).execute(num_retries=args.retries)
 
     if args.recursive:
+        # Check if git is available
+        try:
+            arvados.util.run_command(['git', '--help'])
+        except:
+            abort('git command is not available. Please ensure git is installed.')
+
         if not args.dst_git_repo:
             abort('--dst-git-repo is required when copying a pipeline recursively.')
         # Copy the pipeline template and save the copied template.
@@ -589,12 +595,6 @@ def copy_collection(obj_uuid, src, dst, args):
 #    to both repositories.
 #
 def copy_git_repo(src_git_repo, src, dst, dst_git_repo, script_version, args):
-    # Check if git is available
-    try:
-        arvados.util.run_command(['git', '--help'])
-    except:
-        raise Exception('git command is not available. Please ensure git is installed.')
-
     # Identify the fetch and push URLs for the git repositories.
     r = src.repositories().list(
         filters=[['name', '=', src_git_repo]]).execute(num_retries=args.retries)