data: check that data is not in .dvc

Fixes #270

Signed-off-by: Ruslan Kuprieiev <[email protected]>
This commit is contained in:
Ruslan Kuprieiev
2017-11-27 00:04:41 +02:00
parent f1ae4ad56c
commit 3ed37fd0f8
2 changed files with 6 additions and 8 deletions
+4 -6
View File
@@ -20,9 +20,9 @@ class DataDirError(DvcException):
super(DataDirError, self).__init__(msg)
class DataItemInStatusDirError(DataDirError):
class DataItemInConfigDirError(DataDirError):
def __init__(self, file):
msg = 'File "{}" is in state directory'.format(file)
msg = 'File "{}" is in config directory'.format(file)
super(DataItemInStatusDirError, self).__init__(msg)
@@ -48,10 +48,8 @@ class DataItem(object):
if not self._data.abs.startswith(self._git.git_dir_abs):
raise NotInGitDirError(data_file, self._git.git_dir_abs)
if self._data.abs.startswith(self.state_dir_abs):
raise DataItemInStatusDirError(data_file)
pass
if self._data.abs.startswith(os.path.join(self._git.git_dir_abs, self._config.CONFIG_DIR)):
raise DataItemInConfigDirError(data_file)
def copy(self, cache_file=None):
if not cache_file:
+2 -2
View File
@@ -4,7 +4,7 @@ from dvc.exceptions import DvcException
from dvc.git_wrapper import GitWrapper
from dvc.executor import Executor
from dvc.logger import Logger
from dvc.path.data_item import DataDirError, DataItemInStatusDirError
from dvc.path.data_item import DataDirError, DataItemInConfigDirError
from dvc.path.stated_data_item import StatedDataItem
from dvc.utils import cached_property
from dvc.config import ConfigI
@@ -74,7 +74,7 @@ class RepositoryChange(object):
Logger.debug('[Repository change] Add status: {} {}'.format(
item.status,
item.data.dvc))
except DataItemInStatusDirError:
except DataItemInConfigDirError:
self._created_status_files.append(file)
except DataDirError:
self._externally_created_files.append(file)