Actions
Feature #7237
openarv-copy ergonomics
Story points:
-
Release:
Release relationship:
Auto
Description
arv-copy could take some cues from the context:
The --src parameter can be inferred from the first part of the UUID.
If --dst is not present but ARVADOS_API_HOST and ARVADOS_API_TOKEN are available, we could assume that is the destination.
arv-copy requires that --dst-git-repo be provided on the command line, but doesn't immediately check that it exists, so if the repo doesn't exist, it fails halfway through the copy:
peteramstutz@shell:~$ arv-copy --src qr1hi --dst c97qk --dst-git-repo peteramstutz --recursive qr1hi-d1hrv-nao0ohw8y7dpf84 8fce8d374fdb7e780c0017a33ce57398+128: 6M / 6M 100.0% d341a6f1db391a780d694e240e95e475+3805: 4799M / 4799M 100.0% 513a1bdbbc2ac2165a0b84e37ab91e31+10812: 94M / 94M 100.0% Traceback (most recent call last): File "/usr/local/bin/arv-copy", line 4, in <module> main() File "/usr/local/lib/python2.7/dist-packages/arvados/commands/arv_copy.py", line 124, in main args) File "/usr/local/lib/python2.7/dist-packages/arvados/commands/arv_copy.py", line 229, in copy_pipeline_instance src, dst, args) File "/usr/local/lib/python2.7/dist-packages/arvados/commands/arv_copy.py", line 283, in copy_pipeline_template copy_git_repos(pt, src, dst, args.dst_git_repo, args) File "/usr/local/lib/python2.7/dist-packages/arvados/commands/arv_copy.py", line 382, in copy_git_repos migrate_jobspec(component, src, dst, dst_repo, args) File "/usr/local/lib/python2.7/dist-packages/arvados/commands/arv_copy.py", line 355, in migrate_jobspec copy_git_repo(repo, src, dst, dst_repo, script_version, args) File "/usr/local/lib/python2.7/dist-packages/arvados/commands/arv_copy.py", line 614, in copy_git_repo .format(dst_git_repo, r['items_available'])) Exception: cannot identify destination repo peteramstutz; 0 repos found
Now that we can create git repositories, we should create a new repository by default (and use a default name instead of requiring --dst-git-repo) instead of requiring everything be committed into an existing repository.
Related issues
Actions