Merge pull request #231 from efiop/master

Misc logging and exceptions
This commit is contained in:
Ruslan Kuprieiev
2017-09-24 20:39:43 +03:00
committed by GitHub
2 changed files with 18 additions and 2 deletions
+12
View File
@@ -103,7 +103,16 @@ class GitWrapper(GitWrapperI):
def __init__(self):
super(GitWrapper, self).__init__()
def is_inside_work_tree(self):
code, out, err = Executor.exec_cmd(['git', 'rev-parse', '--is-inside-work-tree'])
if code != 0:
Logger.error('[dvc-git] Not inside git tree');
return code == 0
def is_ready_to_go(self):
if not self.is_inside_work_tree():
return False
statuses = self.git_file_statuses()
if len(statuses) > 0:
Logger.error('[dvc-git] Commit all changed files before running '
@@ -112,6 +121,9 @@ class GitWrapper(GitWrapperI):
Logger.error("{} {}".format(status, file))
return False
return self.check_config()
def check_config(self):
# Sanity check to make sure we will be able to commit
name = self.git_config_get('user.name')
if name == None:
+6 -2
View File
@@ -5,19 +5,23 @@ main entry point / argument parsing for dvc
import sys
from dvc.settings import Settings
from dvc.logger import Logger
from dvc.config import ConfigError
def main():
try:
settings = Settings(sys.argv[1:])
instance = settings._parsed_args.func(settings)
except Exception as e:
Logger.error("Exception caught while parsing settings", exc_info=True)
# In case we didn't even manage to parse options
exc_info = '-v' in sys.argv or '--verbose' in sys.argv
Logger.error("Settings error: {}".format(e), exc_info=exc_info)
return 255
try:
ret = instance.run()
except Exception as e:
Logger.error("Exception caught in " + instance.__class__.__name__, exc_info=True)
exc_info = settings.parsed_args.verbose
Logger.error("{} error: {}".format(instance.__class__.__name__, e), exc_info=exc_info)
return 254
return ret