mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-10 15:28:34 +01:00
dvc: implement dvc destroy
Fixes #621 Signed-off-by: Ruslan Kuprieiev <[email protected]>
This commit is contained in:
+10
@@ -7,6 +7,7 @@ from multiprocessing import cpu_count
|
||||
|
||||
from dvc.logger import Logger
|
||||
from dvc.command.init import CmdInit
|
||||
from dvc.command.destroy import CmdDestroy
|
||||
from dvc.command.remove import CmdRemove
|
||||
from dvc.command.move import CmdMove
|
||||
from dvc.command.run import CmdRun
|
||||
@@ -87,6 +88,15 @@ def parse_args(argv=None):
|
||||
help="Initiate dvc in directory that is not tracked by any scm tool(e.g. git)")
|
||||
init_parser.set_defaults(func=CmdInit)
|
||||
|
||||
|
||||
# Destroy
|
||||
destroy_parser = subparsers.add_parser(
|
||||
'destroy',
|
||||
parents=[parent_parser],
|
||||
help='Destroy dvc')
|
||||
destroy_parser.set_defaults(func=CmdDestroy)
|
||||
|
||||
|
||||
# Add
|
||||
add_parser = subparsers.add_parser(
|
||||
'add',
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
from dvc.command.common.base import CmdBase
|
||||
|
||||
|
||||
class CmdDestroy(CmdBase):
|
||||
def run(self):
|
||||
try:
|
||||
self.project.destroy()
|
||||
except Exception as exc:
|
||||
self.project.logger.error('Failed to destroy DVC', exc)
|
||||
return 1
|
||||
return 0
|
||||
@@ -2,6 +2,7 @@ import os
|
||||
import csv
|
||||
import stat
|
||||
import json
|
||||
import shutil
|
||||
import networkx as nx
|
||||
from jsonpath_rw import parse
|
||||
|
||||
@@ -96,6 +97,12 @@ class Project(object):
|
||||
|
||||
return proj
|
||||
|
||||
def destroy(self):
|
||||
for stage in self.stages():
|
||||
stage.remove()
|
||||
|
||||
shutil.rmtree(self.dvc_dir)
|
||||
|
||||
def _ignore(self):
|
||||
l = [self.state.state_file,
|
||||
self.state._lock_file.lock_file,
|
||||
|
||||
Reference in New Issue
Block a user