3
3
#
4
4
# This module is part of GitPython and is released under
5
5
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
6
- """
7
- Module containing all exceptions thrown througout the git package,
8
- """
6
+ """ Module containing all exceptions thrown througout the git package, """
9
7
10
8
class InvalidGitRepositoryError (Exception ):
11
9
""" Thrown if the given repository appears to have an invalid format. """
12
10
11
+
13
12
class NoSuchPathError (OSError ):
14
13
""" Thrown if a path could not be access by the system. """
15
14
15
+
16
16
class GitCommandError (Exception ):
17
17
""" Thrown if execution of the git command fails with non-zero status code. """
18
18
def __init__ (self , command , status , stderr = None ):
@@ -24,3 +24,25 @@ def __str__(self):
24
24
return ("'%s' returned exit status %i: %s" %
25
25
(' ' .join (str (i ) for i in self .command ), self .status , self .stderr ))
26
26
27
+
28
+ class CheckoutError ( Exception ):
29
+ """Thrown if a file could not be checked out from the index as it contained
30
+ changes.
31
+
32
+ The .failed_files attribute contains a list of relative paths that failed
33
+ to be checked out as they contained changes that did not exist in the index.
34
+
35
+ The .failed_reasons attribute contains a string informing about the actual
36
+ cause of the issue.
37
+
38
+ The .valid_files attribute contains a list of relative paths to files that
39
+ were checked out successfully and hence match the version stored in the
40
+ index"""
41
+ def __init__ (self , message , failed_files , valid_files , failed_reasons ):
42
+ Exception .__init__ (self , message )
43
+ self .failed_files = failed_files
44
+ self .failed_reasons = failed_reasons
45
+ self .valid_files = valid_files
46
+
47
+ def __str__ (self ):
48
+ return Exception .__str__ (self ) + ":%s" % self .failed_files
0 commit comments