mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-10 07:18:27 +01:00
* use logger.getChild from `dvc.log` instead of `logging.getLogger` I got tired adding `# type: ignore[attr-defined]` while using `logger.trace`. So, now you need to import logger from `from dvc.log import logger` and create a child logger using `logger.getChild(__name__)`. `logger.getChild` will return a logger type-hinted as a logger having a `trace` method. So, from now on, instead of: ```python import logging logger = logging.getogger(__name__) ``` you'll have to do following: ```python from dvc.log import logger logger = logger.getChild(__name__) ``` * remove all dvc imports from dvc.logger * use Tqdm back
91 lines
2.5 KiB
Python
91 lines
2.5 KiB
Python
import argparse
|
|
|
|
from dvc.cli import completion
|
|
from dvc.cli.command import CmdBase
|
|
from dvc.cli.utils import append_doc_link
|
|
from dvc.exceptions import DvcException
|
|
from dvc.log import logger
|
|
|
|
logger = logger.getChild(__name__)
|
|
|
|
|
|
class CmdUpdate(CmdBase):
|
|
def run(self):
|
|
ret = 0
|
|
try:
|
|
self.repo.update(
|
|
targets=self.args.targets,
|
|
rev=self.args.rev,
|
|
recursive=self.args.recursive,
|
|
to_remote=self.args.to_remote,
|
|
no_download=self.args.no_download,
|
|
remote=self.args.remote,
|
|
jobs=self.args.jobs,
|
|
)
|
|
except DvcException:
|
|
logger.exception("failed update data")
|
|
ret = 1
|
|
return ret
|
|
|
|
|
|
def add_parser(subparsers, parent_parser):
|
|
UPDATE_HELP = (
|
|
"Update data artifact imported (via dvc import or dvc import-url) "
|
|
"from an external DVC repository or URL."
|
|
)
|
|
update_parser = subparsers.add_parser(
|
|
"update",
|
|
parents=[parent_parser],
|
|
description=append_doc_link(UPDATE_HELP, "update"),
|
|
help=UPDATE_HELP,
|
|
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
)
|
|
update_parser.add_argument(
|
|
"targets", nargs="+", help=".dvc files to update."
|
|
).complete = completion.DVC_FILE
|
|
update_parser.add_argument(
|
|
"--rev",
|
|
nargs="?",
|
|
help="Git revision (e.g. SHA, branch, tag)",
|
|
metavar="<commit>",
|
|
)
|
|
update_parser.add_argument(
|
|
"-R",
|
|
"--recursive",
|
|
action="store_true",
|
|
default=False,
|
|
help="Update all stages in the specified directory.",
|
|
)
|
|
update_parser.add_argument(
|
|
"--no-download",
|
|
action="store_true",
|
|
default=False,
|
|
help=(
|
|
"Update .dvc file git revision/hash value(s)"
|
|
" but do not download the file(s)."
|
|
),
|
|
)
|
|
update_parser.add_argument(
|
|
"--to-remote",
|
|
action="store_true",
|
|
default=False,
|
|
help="Update data directly on the remote",
|
|
)
|
|
update_parser.add_argument(
|
|
"-r",
|
|
"--remote",
|
|
help="Remote storage to perform updates to",
|
|
metavar="<name>",
|
|
)
|
|
update_parser.add_argument(
|
|
"-j",
|
|
"--jobs",
|
|
type=int,
|
|
help=(
|
|
"Number of jobs to run simultaneously. "
|
|
"The default value is 4 * cpu_count(). "
|
|
),
|
|
metavar="<number>",
|
|
)
|
|
update_parser.set_defaults(func=CmdUpdate)
|