mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-11 15:28:27 +01:00
* update: work with rev * completion: update --rev completion scripts * test: fix unit test assumption * test: use fspath_py35
40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
import argparse
|
|
import logging
|
|
|
|
from dvc.command.base import append_doc_link
|
|
from dvc.command.base import CmdBase
|
|
from dvc.exceptions import DvcException
|
|
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
class CmdUpdate(CmdBase):
|
|
def run(self):
|
|
ret = 0
|
|
for target in self.args.targets:
|
|
try:
|
|
self.repo.update(target, self.args.rev)
|
|
except DvcException:
|
|
logger.exception("failed to update '{}'.".format(target))
|
|
ret = 1
|
|
return ret
|
|
|
|
|
|
def add_parser(subparsers, parent_parser):
|
|
UPDATE_HELP = "Update data artifacts imported from other DVC repositories."
|
|
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."
|
|
)
|
|
update_parser.add_argument(
|
|
"--rev", nargs="?", help="Git revision (e.g. SHA, branch, tag)"
|
|
)
|
|
update_parser.set_defaults(func=CmdUpdate)
|