author | Jan Vrany <jan.vrany@labware.com> |
Thu, 28 Jul 2022 06:56:07 +0100 | |
changeset 943 | 442fe77c421f |
parent 481 | 0cfef855baa2 |
child 876 | 2643ba2d9c52 |
permissions | -rw-r--r-- |
31
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
1 |
"{ Package: 'stx:libscm/git' }" |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
2 |
|
45
dfe5c7416a4e
Refactoring to reuse classes from stx:libscm/common
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
31
diff
changeset
|
3 |
SCMAbstractPackageModelRegistry subclass:#GitPackageModelRegistry |
dfe5c7416a4e
Refactoring to reuse classes from stx:libscm/common
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
31
diff
changeset
|
4 |
instanceVariableNames:'' |
dfe5c7416a4e
Refactoring to reuse classes from stx:libscm/common
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
31
diff
changeset
|
5 |
classVariableNames:'' |
31
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
6 |
poolDictionaries:'' |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
7 |
category:'SCM-Git-StX' |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
8 |
! |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
9 |
|
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
10 |
|
45
dfe5c7416a4e
Refactoring to reuse classes from stx:libscm/common
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
31
diff
changeset
|
11 |
!GitPackageModelRegistry methodsFor:'accessing'! |
31
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
12 |
|
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
13 |
packageNamed:package |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
14 |
"Returns a GitPackageWorkingCopy for given package." |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
15 |
|
45
dfe5c7416a4e
Refactoring to reuse classes from stx:libscm/common
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
31
diff
changeset
|
16 |
| dir repo | |
31
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
17 |
|
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
18 |
packages at: package ifPresent: [ :pkg | ^ pkg ]. |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
19 |
wcs at: package ifPresent:[ :wc | ^ wc ]. |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
20 |
dir := Smalltalk getPackageDirectoryForPackage: package. |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
21 |
dir := GitRepository discover: dir. |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
22 |
dir isNil ifTrue:[ |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
23 |
GitError raiseErrorString: 'No repository found for package ',package. |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
24 |
^nil. |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
25 |
]. |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
26 |
repo := repositories at: dir ifAbsentPut: [ GitRepository open: dir ]. |
45
dfe5c7416a4e
Refactoring to reuse classes from stx:libscm/common
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
31
diff
changeset
|
27 |
^packages at: package ifAbsentPut: [ GitPackageModel name: package repository: repo ]. |
31
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
28 |
|
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
29 |
"Created: / 06-10-2012 / 22:40:05 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
45
dfe5c7416a4e
Refactoring to reuse classes from stx:libscm/common
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
31
diff
changeset
|
30 |
"Modified: / 14-11-2012 / 00:34:46 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
31
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
31 |
! ! |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
32 |
|
45
dfe5c7416a4e
Refactoring to reuse classes from stx:libscm/common
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
31
diff
changeset
|
33 |
!GitPackageModelRegistry class methodsFor:'documentation'! |
31
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
34 |
|
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
35 |
version_GIT |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
36 |
"Never, ever change this method. Ask JV or CG why" |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
37 |
^thisContext method mclass theNonMetaclass instVarNamed: #revision |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
38 |
! |
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
39 |
|
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
40 |
version_SVN |
481
0cfef855baa2
Initial import from upstream repository
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
41 |
^ '$Id$' |
31
d96d7eff6efc
- GitDiffDeltaStructure
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
42 |
! ! |