Merge pull request #1776 from ei-grad/cyclic-import-3

Fix cyclic dependency
This commit is contained in:
Andrew Grigorev
2019-03-22 20:10:15 +03:00
committed by GitHub
14 changed files with 25 additions and 29 deletions
+2 -1
View File
@@ -1,6 +1,7 @@
from __future__ import unicode_literals
import os
import dvc.prompt as prompt
import dvc.logger as logger
@@ -38,7 +39,7 @@ class Repo(object):
from dvc.data_cloud import DataCloud
from dvc.updater import Updater
from dvc.repo.metrics import Metrics
from dvc.repo.tree import WorkingTree
from dvc.scm.tree import WorkingTree
root_dir = self.find_root(root_dir)
+1 -1
View File
@@ -1,6 +1,6 @@
import os
from dvc.scm import scm_context
from dvc.repo.scm_context import scm_context
from dvc.stage import Stage
from dvc.utils import walk_files
from dvc.exceptions import RecursiveAddingWhileUsingFilename
+1 -1
View File
@@ -25,7 +25,7 @@ def brancher( # noqa: E302
scm = self.scm
if self.scm.is_dirty():
from dvc.repo.tree import WorkingTree
from dvc.scm.tree import WorkingTree
self.tree = WorkingTree()
yield "Working Tree"
+1 -1
View File
@@ -1,4 +1,4 @@
from dvc.scm import scm_context
from dvc.repo.scm_context import scm_context
@scm_context
+1 -1
View File
@@ -1,7 +1,7 @@
import os
from dvc.exceptions import MoveNotDataSourceError
from dvc.scm import scm_context
from dvc.repo.scm_context import scm_context
def _expand_target_path(from_path, to_path):
+1 -1
View File
@@ -4,7 +4,7 @@ import os
import dvc.logger as logger
from dvc.exceptions import ReproductionError
from dvc.scm import scm_context
from dvc.repo.scm_context import scm_context
def _reproduce_stage(stages, node, force, dry, interactive, no_commit):
+1 -1
View File
@@ -1,6 +1,6 @@
from __future__ import unicode_literals
from dvc.scm import scm_context
from dvc.repo.scm_context import scm_context
@scm_context
+12
View File
@@ -0,0 +1,12 @@
def scm_context(method):
def run(repo, *args, **kw):
try:
result = method(repo, *args, **kw)
repo.scm.reset_ignores()
repo.scm.remind_to_track()
return result
except Exception as e:
repo.scm.cleanup_ignores()
raise e
return run
-18
View File
@@ -5,8 +5,6 @@ from __future__ import unicode_literals
from dvc.scm.base import Base
from dvc.scm.git import Git
import dvc
# just a sugar to point that this is an actual implementation for a dvc
# project under no SCM control
@@ -29,19 +27,3 @@ def SCM(root_dir, repo=None): # pylint: disable=invalid-name
return Git(root_dir, repo=repo)
return NoSCM(root_dir, repo=repo)
def scm_context(method):
def run(*args, **kw):
repo = args[0]
assert isinstance(repo, dvc.repo.Repo)
try:
result = method(*args, **kw)
repo.scm.reset_ignores()
repo.scm.remind_to_track()
return result
except Exception as e:
repo.scm.cleanup_ignores()
raise e
return run
+1 -1
View File
@@ -3,7 +3,7 @@ import os
from dvc.utils.compat import StringIO
from dvc.repo.tree import BaseTree
from dvc.scm.tree import BaseTree
# see git-fast-import(1)
+1 -1
View File
@@ -1,7 +1,7 @@
from tests.basic_env import TestDvc
from dvc.scm.git import GitTree
from dvc.repo.tree import WorkingTree
from dvc.scm.tree import WorkingTree
class TestCollect(TestDvc):
+1 -1
View File
@@ -6,7 +6,7 @@ from os.path import join
from dvc.scm import SCM
from dvc.scm.git import GitTree
from dvc.repo.tree import WorkingTree
from dvc.scm.tree import WorkingTree
from tests.basic_env import TestDir, TestGit
+2 -1
View File
@@ -1,5 +1,6 @@
from dvc.repo import Repo
from dvc.scm import scm_context, NoSCM
from dvc.repo.scm_context import scm_context
from dvc.scm import NoSCM
from unittest import TestCase
import mock