author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Tue, 29 Jan 2013 16:31:57 +0000 | |
changeset 207 | fce7e7b62741 |
parent 31 | d96d7eff6efc |
child 481 | 0cfef855baa2 |
permissions | -rw-r--r-- |
0 | 1 |
"{ Package: 'stx:libscm/git' }" |
2 |
||
3
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
3 |
Error subclass:#GitError |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
4 |
instanceVariableNames:'code klass' |
0 | 5 |
classVariableNames:'' |
9
2783c9882d30
- GitSubmoduleUpdateType
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
3
diff
changeset
|
6 |
poolDictionaries:'GitErrorKlass' |
2783c9882d30
- GitSubmoduleUpdateType
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
3
diff
changeset
|
7 |
category:'SCM-Git-Exceptions' |
0 | 8 |
! |
9 |
||
10 |
||
3
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
11 |
!GitError class methodsFor:'raising'! |
0 | 12 |
|
3
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
13 |
raise: code |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
14 |
"Raises a GitError with given code. Class and message is |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
15 |
take from last giterr_last, which is then cleared." |
0 | 16 |
|
3
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
17 |
^self new raise: code |
0 | 18 |
|
3
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
19 |
"Created: / 10-09-2012 / 14:17:20 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
0 | 20 |
! |
21 |
||
3
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
22 |
raiseIfError: code |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
23 |
"Raises a GitError with given code if its an error. |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
24 |
Class and message is take from last giterr_last, which is then cleared." |
0 | 25 |
|
3
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
26 |
code ~~ 0"OK" ifTrue:[ |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
27 |
self new raise: code |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
28 |
]. |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
29 |
|
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
30 |
"Created: / 10-09-2012 / 14:25:09 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
0 | 31 |
! ! |
32 |
||
33 |
!GitError methodsFor:'accessing'! |
|
34 |
||
3
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
35 |
code |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
36 |
^ code |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
37 |
! |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
38 |
|
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
39 |
code:anInteger |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
40 |
code := anInteger. |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
41 |
! |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
42 |
|
0 | 43 |
klass |
3
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
44 |
^ klass |
0 | 45 |
! |
46 |
||
3
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
47 |
klass:anInteger |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
48 |
klass := anInteger. |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
49 |
! ! |
0 | 50 |
|
3
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
51 |
!GitError methodsFor:'raising'! |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
52 |
|
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
53 |
raise: gitErrorCode |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
54 |
"Raises a GitError with given code. Class and message is |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
55 |
take from last giterr_last, which is then cleared." |
0 | 56 |
|
3
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
57 |
| git_error | |
0 | 58 |
|
3
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
59 |
code := gitErrorCode. |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
60 |
git_error := GitPrimitives prim_giterr_last. |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
61 |
git_error setSize: 8. |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
62 |
messageText := (git_error pointerAt: 1) copyCStringFromHeap. |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
63 |
klass := git_error longAt:1+4. |
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
64 |
GitPrimitives prim_giterr_clear. |
0 | 65 |
|
3
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
66 |
^self raise |
0 | 67 |
|
3
2a4bf4fb54d8
- Better error handling
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
2
diff
changeset
|
68 |
"Created: / 10-09-2012 / 14:23:56 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
0 | 69 |
! ! |
70 |
||
71 |
!GitError class methodsFor:'documentation'! |
|
72 |
||
31
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
9
diff
changeset
|
73 |
version_GIT |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
9
diff
changeset
|
74 |
"Never, ever change this method. Ask JV or CG why" |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
9
diff
changeset
|
75 |
^thisContext method mclass theNonMetaclass instVarNamed: #revision |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
9
diff
changeset
|
76 |
! |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
9
diff
changeset
|
77 |
|
0 | 78 |
version_SVN |
79 |
^ '$Id:: $' |
|
80 |
! ! |