mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-10 23:10:42 +01:00
This should allow us to be able to remove a stage from a dvcfile, (if it's a single stage file, it removes it), and make us able to delete the overwrite the stage on run as well. This commit: * changes `run` `--overwrite-dvcfile` flag to `--overwrite` * removes prompt in `run` for overwrite and fails hard * changes `remove`: now it by default removes stage entry and unprotect outs * `remove` has `--outs` to remove outputs instead of unprotecting them
40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
import argparse
|
|
import logging
|
|
|
|
from dvc.command.base import CmdBase, append_doc_link
|
|
from dvc.exceptions import DvcException
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
class CmdRemove(CmdBase):
|
|
def run(self):
|
|
for target in self.args.targets:
|
|
try:
|
|
self.repo.remove(target, outs=self.args.outs)
|
|
except DvcException:
|
|
logger.exception(f"failed to remove '{target}'")
|
|
return 1
|
|
return 0
|
|
|
|
|
|
def add_parser(subparsers, parent_parser):
|
|
REMOVE_HELP = "Remove stage entry and unprotect outputs"
|
|
remove_parser = subparsers.add_parser(
|
|
"remove",
|
|
parents=[parent_parser],
|
|
description=append_doc_link(REMOVE_HELP, "remove"),
|
|
help=REMOVE_HELP,
|
|
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
)
|
|
remove_parser.add_argument(
|
|
"--outs",
|
|
action="store_true",
|
|
default=False,
|
|
help="Remove outputs as well.",
|
|
)
|
|
remove_parser.add_argument(
|
|
"targets", nargs="+", help="DVC-files to remove."
|
|
)
|
|
remove_parser.set_defaults(func=CmdRemove)
|