Skip to content

Commit 38b3cfb

Browse files
committed
Merge branch 'index'
2 parents d924091 + abaefc5 commit 38b3cfb

File tree

6 files changed

+1454
-1438
lines changed

6 files changed

+1454
-1438
lines changed

lib/git/errors.py

+25-3
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@
33
#
44
# This module is part of GitPython and is released under
55
# 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, """
97

108
class InvalidGitRepositoryError(Exception):
119
""" Thrown if the given repository appears to have an invalid format. """
1210

11+
1312
class NoSuchPathError(OSError):
1413
""" Thrown if a path could not be access by the system. """
1514

15+
1616
class GitCommandError(Exception):
1717
""" Thrown if execution of the git command fails with non-zero status code. """
1818
def __init__(self, command, status, stderr=None):
@@ -24,3 +24,25 @@ def __str__(self):
2424
return ("'%s' returned exit status %i: %s" %
2525
(' '.join(str(i) for i in self.command), self.status, self.stderr))
2626

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

Comments
 (0)