FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
GitPython/git/exc.py at no_devnull_open · og-python-scripts/GitPython · GitHub
og-python-scripts
GitPython
Repository navigation
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
GitPython
/
git
/
exc.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
128 lines (90 loc) · 4.66 KB
Breadcrumbs
GitPython
/
git
/
exc.py
Copy path
File metadata and controls
128 lines (90 loc) · 4.66 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# exc.py
# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
""" Module containing all exceptions thrown throughout the git package, """
from
gitdb
.
exc
import
*
# NOQA @UnusedWildImport
from
git
.
compat
import
UnicodeMixin
,
safe_decode
,
string_types
class
InvalidGitRepositoryError
(
Exception
):
""" Thrown if the given repository appears to have an invalid format. """
class
WorkTreeRepositoryUnsupported
(
InvalidGitRepositoryError
):
""" Thrown to indicate we can't handle work tree repositories """
class
NoSuchPathError
(
OSError
):
""" Thrown if a path could not be access by the system. """
class
CommandError
(
UnicodeMixin
,
Exception
):
"""Base class for exceptions thrown at every stage of `Popen()` execution.
:param command:
A non-empty list of argv comprising the command-line.
"""
#: A unicode print-format with 2 `%s for `<cmdline>` and the rest,
#: e.g.
#: u"'%s' failed%s"
_msg
=
u"Cmd('%s') failed%s"
def
__init__
(
self
,
command
,
status
=
None
,
stderr
=
None
,
stdout
=
None
):
if
not
isinstance
(
command
, (
tuple
,
list
)):
command
=
command
.
split
()
self
.
command
=
command
self
.
status
=
status
if
status
:
if
isinstance
(
status
,
Exception
):
status
=
u"%s('%s')"
%
(
type
(
status
).
__name__
,
safe_decode
(
str
(
status
)))
else
:
try
:
status
=
u'exit code(%s)'
%
int
(
status
)
except
:
s
=
safe_decode
(
str
(
status
))
status
=
u"'%s'"
%
s
if
isinstance
(
status
,
string_types
)
else
s
self
.
_cmd
=
safe_decode
(
command
[
0
])
self
.
_cmdline
=
u' '
.
join
(
safe_decode
(
i
)
for
i
in
command
)
self
.
_cause
=
status
and
u" due to: %s"
%
status
or
"!"
self
.
stdout
=
stdout
and
u"
\n
stdout: '%s'"
%
safe_decode
(
stdout
)
or
''
self
.
stderr
=
stderr
and
u"
\n
stderr: '%s'"
%
safe_decode
(
stderr
)
or
''
def
__unicode__
(
self
):
return
(
self
.
_msg
+
"
\n
cmdline: %s%s%s"
)
%
(
self
.
_cmd
,
self
.
_cause
,
self
.
_cmdline
,
self
.
stdout
,
self
.
stderr
)
class
GitCommandNotFound
(
CommandError
):
"""Thrown if we cannot find the `git` executable in the PATH or at the path given by
the GIT_PYTHON_GIT_EXECUTABLE environment variable"""
def
__init__
(
self
,
command
,
cause
):
super
(
GitCommandNotFound
,
self
).
__init__
(
command
,
cause
)
self
.
_msg
=
u"Cmd('%s') not found%s"
class
GitCommandError
(
CommandError
):
""" Thrown if execution of the git command fails with non-zero status code. """
def
__init__
(
self
,
command
,
status
,
stderr
=
None
,
stdout
=
None
):
super
(
GitCommandError
,
self
).
__init__
(
command
,
status
,
stderr
,
stdout
)
class
CheckoutError
(
Exception
):
"""Thrown if a file could not be checked out from the index as it contained
changes.
The .failed_files attribute contains a list of relative paths that failed
to be checked out as they contained changes that did not exist in the index.
The .failed_reasons attribute contains a string informing about the actual
cause of the issue.
The .valid_files attribute contains a list of relative paths to files that
were checked out successfully and hence match the version stored in the
index"""
def
__init__
(
self
,
message
,
failed_files
,
valid_files
,
failed_reasons
):
Exception
.
__init__
(
self
,
message
)
self
.
failed_files
=
failed_files
self
.
failed_reasons
=
failed_reasons
self
.
valid_files
=
valid_files
def
__str__
(
self
):
return
Exception
.
__str__
(
self
)
+
":%s"
%
self
.
failed_files
class
CacheError
(
Exception
):
"""Base for all errors related to the git index, which is called cache internally"""
class
UnmergedEntriesError
(
CacheError
):
"""Thrown if an operation cannot proceed as there are still unmerged
entries in the cache"""
class
HookExecutionError
(
CommandError
):
"""Thrown if a hook exits with a non-zero exit code. It provides access to the exit code and the string returned
via standard output"""
def
__init__
(
self
,
command
,
status
,
stderr
=
None
,
stdout
=
None
):
super
(
HookExecutionError
,
self
).
__init__
(
command
,
status
,
stderr
,
stdout
)
self
.
_msg
=
u"Hook('%s') failed%s"
class
RepositoryDirtyError
(
Exception
):
"""Thrown whenever an operation on a repository fails as it has uncommited changes that would be overwritten"""
def
__init__
(
self
,
repo
,
message
):
self
.
repo
=
repo
self
.
message
=
message
def
__str__
(
self
):
return
"Operation cannot be performed on %r: %s"
%
(
self
.
repo
,
self
.
message
)
Back
|
FazBrowse Home
|
New Git URL