git/GitErrorKlass.st
author Jan Vrany <jan.vrany@labware.com>
Fri, 19 Feb 2021 08:29:41 +0000
changeset 924 4d92f234f671
parent 481 0cfef855baa2
permissions -rw-r--r--
Rework and fix HGSourceCodeManager >> #revisionLogOf:...directory:module:` This commit changes the logic in two ways: 1. #newestRevision is now the newest revision in the branch that *contains* given file (not necesarily modidfes it). If there are multiple heads in that branch, pretty much random one is returned. This changes old behavior and therefore this commit updates tests. 2. If a specific single revision is requested, i.e., both from and to revisions are the same, revision log with that single revision is returned no matter whether it modifies the file or even contains that file at all. This is essentially a workaround to fix issue #305. Moreover, this commit simplifies the code a lot by delegating all the changeset searching and filtering to mercurial using revset expressions. See https://swing.fit.cvut.cz/projects/stx-jv/ticket/305#comment:3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     1
"{ Package: 'stx:libscm/git' }"
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     2
4
b52b9cfe9b77 - GitObject
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 3
diff changeset
     3
SharedPool subclass:#GitErrorKlass
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     4
	instanceVariableNames:''
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     5
	classVariableNames:'GITERR_NOMEMORY GITERR_OS GITERR_INVALID GITERR_REFERENCE
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     6
		GITERR_ZLIB GITERR_REPOSITORY GITERR_CONFIG GITERR_REGEX
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     7
		GITERR_ODB GITERR_INDEX GITERR_OBJECT GITERR_NET GITERR_TAG
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     8
		GITERR_TREE GITERR_INDEXER GITERR_SSL GITERR_SUBMODULE'
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     9
	poolDictionaries:''
5
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    10
	category:'Git-Internal-Constants'
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    11
!
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    12
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    13
4
b52b9cfe9b77 - GitObject
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 3
diff changeset
    14
!GitErrorKlass class methodsFor:'initialization'!
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    15
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    16
initialize
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    17
5
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    18
    GITERR_NOMEMORY := 0.
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    19
    GITERR_OS := 1.
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    20
    GITERR_INVALID := 2.
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    21
    GITERR_REFERENCE := 3.
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    22
    GITERR_ZLIB := 4.
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    23
    GITERR_REPOSITORY := 5.
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    24
    GITERR_CONFIG := 6.
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    25
    GITERR_REGEX := 7.
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    26
    GITERR_ODB := 8.
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    27
    GITERR_INDEX := 9.
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    28
    GITERR_OBJECT := 10.
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    29
    GITERR_NET := 11.
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    30
    GITERR_TAG := 12.
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    31
    GITERR_TREE := 13.
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    32
    GITERR_INDEXER := 14.
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    33
    GITERR_SSL := 15.
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    34
    GITERR_SUBMODULE := 16.
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    35
! !
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    36
4
b52b9cfe9b77 - GitObject
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 3
diff changeset
    37
!GitErrorKlass class methodsFor:'constants'!
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    38
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    39
GITERR_CONFIG
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    40
5
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    41
    ^GITERR_CONFIG
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    42
!
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    43
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    44
GITERR_INDEX
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    45
5
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    46
    ^GITERR_INDEX
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    47
!
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    48
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    49
GITERR_INDEXER
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    50
5
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    51
    ^GITERR_INDEXER
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    52
!
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    53
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    54
GITERR_INVALID
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    55
5
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    56
    ^GITERR_INVALID
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    57
!
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    58
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    59
GITERR_NET
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    60
5
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    61
    ^GITERR_NET
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    62
!
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    63
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    64
GITERR_NOMEMORY
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    65
5
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    66
    ^GITERR_NOMEMORY
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    67
!
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    68
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    69
GITERR_OBJECT
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    70
5
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    71
    ^GITERR_OBJECT
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    72
!
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    73
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    74
GITERR_ODB
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    75
5
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    76
    ^GITERR_ODB
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    77
!
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    78
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    79
GITERR_OS
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    80
5
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    81
    ^GITERR_OS
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    82
!
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    83
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    84
GITERR_REFERENCE
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    85
5
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    86
    ^GITERR_REFERENCE
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    87
!
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    88
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    89
GITERR_REGEX
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    90
5
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    91
    ^GITERR_REGEX
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    92
!
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    93
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    94
GITERR_REPOSITORY
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    95
5
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
    96
    ^GITERR_REPOSITORY
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    97
!
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    98
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    99
GITERR_SSL
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   100
5
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
   101
    ^GITERR_SSL
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   102
!
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   103
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   104
GITERR_SUBMODULE
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   105
5
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
   106
    ^GITERR_SUBMODULE
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   107
!
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   108
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   109
GITERR_TAG
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   110
5
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
   111
    ^GITERR_TAG
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   112
!
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   113
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   114
GITERR_TREE
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   115
5
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
   116
    ^GITERR_TREE
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   117
!
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   118
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   119
GITERR_ZLIB
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   120
5
57c20a77e549 - Refactored to use handles
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 4
diff changeset
   121
    ^GITERR_ZLIB
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   122
! !
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   123
4
b52b9cfe9b77 - GitObject
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 3
diff changeset
   124
!GitErrorKlass class methodsFor:'documentation'!
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   125
31
d96d7eff6efc - GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 5
diff changeset
   126
version_GIT
d96d7eff6efc - GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 5
diff changeset
   127
    "Never, ever change this method. Ask JV or CG why"
d96d7eff6efc - GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 5
diff changeset
   128
    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
d96d7eff6efc - GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 5
diff changeset
   129
!
d96d7eff6efc - GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 5
diff changeset
   130
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   131
version_SVN
481
0cfef855baa2 Initial import from upstream repository
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 31
diff changeset
   132
    ^ '$Id$'
2
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   133
! !
9731a2e41428 - More API methods...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   134
4
b52b9cfe9b77 - GitObject
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 3
diff changeset
   135
GitErrorKlass initialize!