From fd12a0e2f8702cf340d72e29871d7e8ccda1f046 Mon Sep 17 00:00:00 2001 From: Jorge Orpinel Date: Thu, 27 Jun 2019 14:40:07 -0500 Subject: [PATCH 1/3] scripts: update `import`->`import-url` and add `get-url` to shell autocomplete --- scripts/completion/dvc.bash | 8 ++--- scripts/completion/dvc.zsh | 63 ++++++++++++++++++++----------------- 2 files changed, 39 insertions(+), 32 deletions(-) diff --git a/scripts/completion/dvc.bash b/scripts/completion/dvc.bash index adc389e0f..21d7cdf6c 100644 --- a/scripts/completion/dvc.bash +++ b/scripts/completion/dvc.bash @@ -8,9 +8,9 @@ # - https://opensource.com/article/18/3/creating-bash-completion-script #---------------------------------------------------------- -_dvc_commands='init destroy add import checkout run pull push fetch \ - status repro remove move unprotect gc config remote metrics \ - install root lock unlock pipeline commit' +_dvc_commands='add checkout commit config destroy fetch get-url gc \ + import-url init install lock metrics move pipeline pull push \ + remote remove repro root run status unlock unprotect' _dvc_options="-h --help -v --version" _dvc_global_options="-h --help -q --quiet -V --verbose" @@ -21,7 +21,7 @@ _dvc_config="-u --unset --local --system --global" _dvc_destroy="-f --force" _dvc_fetch="--show-checksums -j --jobs -r --remote -a --all-branches -T --all-tags -d --with-deps -R --recursive" _dvc_gc="-a --all-branches -T --all-tags -c --cloud -r --remote -f --force -p --project" -_dvc_import="--resume" +_dvc_import-url="--resume-f --file" _dvc_init="--no-scm -f --force" _dvc_install="" _dvc_lock="$(compgen -G '*.dvc')" diff --git a/scripts/completion/dvc.zsh b/scripts/completion/dvc.zsh index 8bcd382ca..6a81d2a95 100644 --- a/scripts/completion/dvc.zsh +++ b/scripts/completion/dvc.zsh @@ -20,8 +20,9 @@ _dvc_commands() { "destroy:Remove DVC-files, local DVC config and data cache." "diff:Show a diff of a DVC controlled data file or a directory." "fetch:Fetch data files from a DVC remote storage." + "get-url:Download or copy files from URL." "gc:Collect unused data from DVC cache or a remote storage." - "import:Download or copy files from URL and take under DVC control." + "import-url:Download or copy file from URL and take it under DVC control." "init:Initialize DVC in the current directory." "install:Install DVC git hooks into the repository." "lock:Lock DVC-file." @@ -106,6 +107,11 @@ _dvc_fetch=( "*:Stages:_files -g '(*.dvc|Dvcfile)'" ) +_dvc_geturl=( + "1:URL:" + "2:Output:" +) + _dvc_gc=( {-a,--all-branches}"[Keep data files for the tips of all git branches.]" {-T,--all-tags}"[Keep data files for all git tags.]" @@ -116,7 +122,7 @@ _dvc_gc=( {-p,--projects}"[Keep data files required by these projects in addition to the current one.]:Repos:_files" ) -_dvc_import=( +_dvc_importurl=( "--resume[Resume previously started download.]" {-f,--file}"[Specify name of the DVC-file it generates.]:File:_files" "1:URL:" @@ -248,30 +254,31 @@ _arguments \ '*::args:->args' case $words[1] in - add) _arguments $_dvc_global_options $_dvc_add ;; - cache) _arguments $_dvc_global_options $_dvc_cache ;; - checkout) _arguments $_dvc_global_options $_dvc_checkout ;; - commit) _arguments $_dvc_global_options $_dvc_commit ;; - config) _arguments $_dvc_global_options $_dvc_config ;; - destroy) _arguments $_dvc_global_options $_dvc_destroy ;; - diff) _arguments $_dvc_global_options $_dvc_diff ;; - fetch) _arguments $_dvc_global_options $_dvc_fetch ;; - gc) _arguments $_dvc_global_options $_dvc_gc ;; - import) _arguments $_dvc_global_options $_dvc_import ;; - init) _arguments $_dvc_global_options $_dvc_init ;; - install) _arguments $_dvc_global_options $_dvc_install ;; - lock) _arguments $_dvc_global_options $_dvc_lock ;; - metrics) _arguments $_dvc_global_options $_dvc_metrics ;; - move) _arguments $_dvc_global_options $_dvc_move ;; - pipeline) _arguments $_dvc_global_options $_dvc_pipeline ;; - pull) _arguments $_dvc_global_options $_dvc_pull ;; - push) _arguments $_dvc_global_options $_dvc_push ;; - remote) _arguments $_dvc_global_options $_dvc_remote ;; - remove) _arguments $_dvc_global_options $_dvc_remove ;; - repro) _arguments $_dvc_global_options $_dvc_repro ;; - root) _arguments $_dvc_global_options $_dvc_root ;; - run) _arguments $_dvc_global_options $_dvc_run ;; - status) _arguments $_dvc_global_options $_dvc_status ;; - unlock) _arguments $_dvc_global_options $_dvc_unlock ;; - unprotect) _arguments $_dvc_global_options $_dvc_unprotect ;; + add) _arguments $_dvc_global_options $_dvc_add ;; + cache) _arguments $_dvc_global_options $_dvc_cache ;; + checkout) _arguments $_dvc_global_options $_dvc_checkout ;; + commit) _arguments $_dvc_global_options $_dvc_commit ;; + config) _arguments $_dvc_global_options $_dvc_config ;; + destroy) _arguments $_dvc_global_options $_dvc_destroy ;; + diff) _arguments $_dvc_global_options $_dvc_diff ;; + fetch) _arguments $_dvc_global_options $_dvc_fetch ;; + get-url) _arguments $_dvc_global_options $_dvc_geturl ;; + gc) _arguments $_dvc_global_options $_dvc_gc ;; + import-url) _arguments $_dvc_global_options $_dvc_importurl ;; + init) _arguments $_dvc_global_options $_dvc_init ;; + install) _arguments $_dvc_global_options $_dvc_install ;; + lock) _arguments $_dvc_global_options $_dvc_lock ;; + metrics) _arguments $_dvc_global_options $_dvc_metrics ;; + move) _arguments $_dvc_global_options $_dvc_move ;; + pipeline) _arguments $_dvc_global_options $_dvc_pipeline ;; + pull) _arguments $_dvc_global_options $_dvc_pull ;; + push) _arguments $_dvc_global_options $_dvc_push ;; + remote) _arguments $_dvc_global_options $_dvc_remote ;; + remove) _arguments $_dvc_global_options $_dvc_remove ;; + repro) _arguments $_dvc_global_options $_dvc_repro ;; + root) _arguments $_dvc_global_options $_dvc_root ;; + run) _arguments $_dvc_global_options $_dvc_run ;; + status) _arguments $_dvc_global_options $_dvc_status ;; + unlock) _arguments $_dvc_global_options $_dvc_unlock ;; + unprotect) _arguments $_dvc_global_options $_dvc_unprotect ;; esac From e04e4c037c4530c31890270bd748c880bd676c66 Mon Sep 17 00:00:00 2001 From: Jorge Orpinel Date: Thu, 27 Jun 2019 18:37:09 -0500 Subject: [PATCH 2/3] scripts: add import and get commands (et al) to autocompletes Related to https://github.com/iterative/dvc.org/issues/385 This may close #2069 --- scripts/completion/dvc.bash | 11 ++++++++--- scripts/completion/dvc.zsh | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/scripts/completion/dvc.bash b/scripts/completion/dvc.bash index 21d7cdf6c..d620a2738 100644 --- a/scripts/completion/dvc.bash +++ b/scripts/completion/dvc.bash @@ -8,8 +8,8 @@ # - https://opensource.com/article/18/3/creating-bash-completion-script #---------------------------------------------------------- -_dvc_commands='add checkout commit config destroy fetch get-url gc \ - import-url init install lock metrics move pipeline pull push \ +_dvc_commands='add checkout commit config destroy fetch get-url get gc \ + import-url import init install lock metrics move pipeline pull push \ remote remove repro root run status unlock unprotect' _dvc_options="-h --help -v --version" @@ -17,11 +17,15 @@ _dvc_global_options="-h --help -q --quiet -V --verbose" _dvc_add="-R --recursive -f --file --no-commit" _dvc_checkout="$(compgen -G '*.dvc')" +_dvc_commit="" _dvc_config="-u --unset --local --system --global" _dvc_destroy="-f --force" _dvc_fetch="--show-checksums -j --jobs -r --remote -a --all-branches -T --all-tags -d --with-deps -R --recursive" +_dvc_get-url="" +_dvc_get="-o --out --rev" _dvc_gc="-a --all-branches -T --all-tags -c --cloud -r --remote -f --force -p --project" -_dvc_import-url="--resume-f --file" +_dvc_import-url="--resume -f --file" +_dvc_import="-o --out --rev" _dvc_init="--no-scm -f --force" _dvc_install="" _dvc_lock="$(compgen -G '*.dvc')" @@ -37,6 +41,7 @@ _dvc_root="" _dvc_run="--no-exec -f --file -c --cwd -d --deps -o --outs -O --outs-no-cache -M --metrics-no-cache -y --yes --overwrite-dvc-file --ignore-build-cache --remove-outs --no-commit -w --wdir" _dvc_status="--show-checksums -j --jobs -r --remote -a --all-branches -T --all-tags -d --with-deps -c --cloud -q --quiet" _dvc_unlock="$(compgen -G '*.dvc')" +_dvc_unprotect="" # Notes: # diff --git a/scripts/completion/dvc.zsh b/scripts/completion/dvc.zsh index 6a81d2a95..7a0dc702b 100644 --- a/scripts/completion/dvc.zsh +++ b/scripts/completion/dvc.zsh @@ -21,8 +21,10 @@ _dvc_commands() { "diff:Show a diff of a DVC controlled data file or a directory." "fetch:Fetch data files from a DVC remote storage." "get-url:Download or copy files from URL." + "get:Download data from DVC repository." "gc:Collect unused data from DVC cache or a remote storage." "import-url:Download or copy file from URL and take it under DVC control." + "import:Download data from DVC repository and take it under DVC control." "init:Initialize DVC in the current directory." "install:Install DVC git hooks into the repository." "lock:Lock DVC-file." @@ -112,6 +114,13 @@ _dvc_geturl=( "2:Output:" ) +_dvc_get=( + {-o,--out}"[Destination path to put data to.]:OUT:_files -/" + "--rev[DVC repository git revision.]:Commit hash:" + "1:URL:" + "2:Path:" +) + _dvc_gc=( {-a,--all-branches}"[Keep data files for the tips of all git branches.]" {-T,--all-tags}"[Keep data files for all git tags.]" @@ -129,6 +138,13 @@ _dvc_importurl=( "2:Output:" ) +_dvc_import=( + {-o,--out}"[Destination path to put data to.]:OUT:_files -/" + "--rev[DVC repository git revision.]:Commit hash:" + "1:URL:" + "2:Path:" +) + _dvc_init=( "--no-scm[Initiate dvc in directory that is not tracked by any scm tool.]" {-f,--force}"[Overwrite existing '.dvc' directory. This operation removes local cache.]" @@ -263,8 +279,10 @@ case $words[1] in diff) _arguments $_dvc_global_options $_dvc_diff ;; fetch) _arguments $_dvc_global_options $_dvc_fetch ;; get-url) _arguments $_dvc_global_options $_dvc_geturl ;; + get) _arguments $_dvc_global_options $_dvc_get ;; gc) _arguments $_dvc_global_options $_dvc_gc ;; import-url) _arguments $_dvc_global_options $_dvc_importurl ;; + import) _arguments $_dvc_global_options $_dvc_import ;; init) _arguments $_dvc_global_options $_dvc_init ;; install) _arguments $_dvc_global_options $_dvc_install ;; lock) _arguments $_dvc_global_options $_dvc_lock ;; From 820ad50df8e9525e59e6431a2cd88f727ccbae43 Mon Sep 17 00:00:00 2001 From: Jorge Orpinel Date: Thu, 27 Jun 2019 18:39:46 -0500 Subject: [PATCH 3/3] commands: remove `default=None` from argparse `add_argument` calls Per https://github.com/iterative/dvc/pull/2112#pullrequestreview-255013079 --- dvc/command/cache.py | 1 - dvc/command/config.py | 4 +--- dvc/command/data_sync.py | 6 +----- dvc/command/diff.py | 2 -- dvc/command/gc.py | 7 +------ dvc/command/run.py | 3 +-- 6 files changed, 4 insertions(+), 19 deletions(-) diff --git a/dvc/command/cache.py b/dvc/command/cache.py index 75222a505..8110ad18e 100644 --- a/dvc/command/cache.py +++ b/dvc/command/cache.py @@ -57,7 +57,6 @@ def add_parser(subparsers, parent_parser): ) cache_dir_parser.add_argument( "value", - default=None, help="Path to cache directory. Relative paths are resolved relative " "to the current directory and saved to config relative to the " "config file location.", diff --git a/dvc/command/config.py b/dvc/command/config.py index 8e3bdba40..de9f8bd58 100644 --- a/dvc/command/config.py +++ b/dvc/command/config.py @@ -74,7 +74,5 @@ def add_parser(subparsers, parent_parser): help="Unset option.", ) config_parser.add_argument("name", help="Option name.") - config_parser.add_argument( - "value", nargs="?", default=None, help="Option value." - ) + config_parser.add_argument("value", nargs="?", help="Option value.") config_parser.set_defaults(func=CmdConfig) diff --git a/dvc/command/data_sync.py b/dvc/command/data_sync.py index 17bebcb38..91748b102 100644 --- a/dvc/command/data_sync.py +++ b/dvc/command/data_sync.py @@ -101,11 +101,7 @@ def shared_parent_parser(): add_help=False, parents=[get_parent_parser()] ) shared_parent_parser.add_argument( - "-j", - "--jobs", - type=int, - default=None, - help="Number of jobs to run simultaneously.", + "-j", "--jobs", type=int, help="Number of jobs to run simultaneously." ) shared_parent_parser.add_argument( "--show-checksums", diff --git a/dvc/command/diff.py b/dvc/command/diff.py index b62ef1c29..149d85451 100644 --- a/dvc/command/diff.py +++ b/dvc/command/diff.py @@ -144,7 +144,6 @@ def add_parser(subparsers, parent_parser): diff_parser.add_argument( "-t", "--target", - default=None, help=( "Source path to a data file or directory. Default None. " "If not specified, compares all files and directories " @@ -161,6 +160,5 @@ def add_parser(subparsers, parent_parser): "diff shows the difference between current HEAD and a_ref" ), nargs="?", - default=None, ) diff_parser.set_defaults(func=CmdDiff) diff --git a/dvc/command/gc.py b/dvc/command/gc.py index dc3b191fe..27e756c54 100644 --- a/dvc/command/gc.py +++ b/dvc/command/gc.py @@ -94,11 +94,7 @@ def add_parser(subparsers, parent_parser): help="Force garbage collection - automatically agree to all prompts.", ) gc_parser.add_argument( - "-j", - "--jobs", - type=int, - default=None, - help="Number of jobs to run simultaneously.", + "-j", "--jobs", type=int, help="Number of jobs to run simultaneously." ) gc_parser.add_argument( "-p", @@ -106,7 +102,6 @@ def add_parser(subparsers, parent_parser): dest="repos", type=str, nargs="*", - default=None, help="Keep data files required by these projects " "in addition to the current one. " "Useful if you share a single cache across repos.", diff --git a/dvc/command/run.py b/dvc/command/run.py index 6afbc5073..1c3c3f457 100644 --- a/dvc/command/run.py +++ b/dvc/command/run.py @@ -130,12 +130,11 @@ def add_parser(subparsers, parent_parser): "-f", "--file", help="Specify name of the DVC-file it generates." ) run_parser.add_argument( - "-c", "--cwd", default=None, help="Deprecated, use -w and -f instead." + "-c", "--cwd", help="Deprecated, use -w and -f instead." ) run_parser.add_argument( "-w", "--wdir", - default=None, help="Directory within your repo to run your command in.", ) run_parser.add_argument(