author | Claus Gittinger <cg@exept.de> |
Wed, 01 Aug 2018 13:24:07 +0200 | |
branch | cvs_MAIN |
changeset 853 | 4e41a616ceca |
parent 750 | 8bb4e77c25c4 |
permissions | -rw-r--r-- |
210 | 1 |
" |
335
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
2 |
stx:libscm - a new source code management library for Smalltalk/X |
509
f92210d4585b
Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
435
diff
changeset
|
3 |
Copyright (C) 2012-2015 Jan Vrany |
335
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
4 |
|
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
5 |
This library is free software; you can redistribute it and/or |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
6 |
modify it under the terms of the GNU Lesser General Public |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
7 |
License as published by the Free Software Foundation; either |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
8 |
version 2.1 of the License. |
210 | 9 |
|
335
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
10 |
This library is distributed in the hope that it will be useful, |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
11 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
12 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
13 |
Lesser General Public License for more details. |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
14 |
|
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
15 |
You should have received a copy of the GNU Lesser General Public |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
16 |
License along with this library; if not, write to the Free Software |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
17 |
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
210 | 18 |
" |
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
19 |
"{ Package: 'stx:libscm/mercurial' }" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
20 |
|
560 | 21 |
"{ NameSpace: Smalltalk }" |
22 |
||
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
23 |
SCMAbstractSourceCodeManager subclass:#HGSourceCodeManager |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
24 |
instanceVariableNames:'' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
25 |
classVariableNames:'' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
26 |
poolDictionaries:'' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
27 |
category:'SCM-Mercurial-StX' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
28 |
! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
29 |
|
210 | 30 |
!HGSourceCodeManager class methodsFor:'documentation'! |
31 |
||
32 |
copyright |
|
33 |
" |
|
335
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
34 |
stx:libscm - a new source code management library for Smalltalk/X |
509
f92210d4585b
Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
435
diff
changeset
|
35 |
Copyright (C) 2012-2015 Jan Vrany |
335
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
36 |
|
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
37 |
This library is free software; you can redistribute it and/or |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
38 |
modify it under the terms of the GNU Lesser General Public |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
39 |
License as published by the Free Software Foundation; either |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
40 |
version 2.1 of the License. |
210 | 41 |
|
335
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
42 |
This library is distributed in the hope that it will be useful, |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
43 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
44 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
45 |
Lesser General Public License for more details. |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
46 |
|
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
47 |
You should have received a copy of the GNU Lesser General Public |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
48 |
License along with this library; if not, write to the Free Software |
7e19ab19148b
Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
334
diff
changeset
|
49 |
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
210 | 50 |
" |
51 |
! ! |
|
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
52 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
53 |
!HGSourceCodeManager class methodsFor:'accessing'! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
54 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
55 |
repositoryNameForPackage:packageId |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
56 |
"Return the repository ULR for the given package. |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
57 |
Used for testing/debugging source code management configuration" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
58 |
|
309
8ab1c777abad
Bugfix in HGSourceCodeManager>>#isResponsibleForPackage:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
302
diff
changeset
|
59 |
^ HGRepository discoverPackage: packageId |
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
60 |
|
309
8ab1c777abad
Bugfix in HGSourceCodeManager>>#isResponsibleForPackage:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
302
diff
changeset
|
61 |
"Modified: / 04-07-2013 / 02:16:23 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
405
9906c030ae1d
More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
396
diff
changeset
|
62 |
! |
9906c030ae1d
More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
396
diff
changeset
|
63 |
|
9906c030ae1d
More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
396
diff
changeset
|
64 |
utilities |
9906c030ae1d
More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
396
diff
changeset
|
65 |
|
9906c030ae1d
More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
396
diff
changeset
|
66 |
^HGSourceCodeManagerUtilities forManager: self. |
9906c030ae1d
More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
396
diff
changeset
|
67 |
|
9906c030ae1d
More work on Mercurial revision log browser and revision selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
396
diff
changeset
|
68 |
"Created: / 24-03-2014 / 12:48:28 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
69 |
! ! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
70 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
71 |
!HGSourceCodeManager class methodsFor:'accessing-classes'! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
72 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
73 |
commitDialogClass |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
74 |
"Answer a dialog class to be used for commits" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
75 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
76 |
^HGCommitDialog |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
77 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
78 |
"Created: / 13-11-2012 / 23:59:08 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
79 |
! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
80 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
81 |
packageRegistryClass |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
82 |
"Answer the package manager class used to get |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
83 |
package models" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
84 |
|
396
3c9d047e3841
Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
369
diff
changeset
|
85 |
^ HGPackageWorkingCopyRegistry |
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
86 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
87 |
"Created: / 13-11-2012 / 23:59:05 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
396
3c9d047e3841
Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
369
diff
changeset
|
88 |
"Modified: / 05-03-2014 / 21:50:32 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
89 |
! ! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
90 |
|
162
108fc9ee061e
Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
159
diff
changeset
|
91 |
!HGSourceCodeManager class methodsFor:'accessing-tools'! |
108fc9ee061e
Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
159
diff
changeset
|
92 |
|
108fc9ee061e
Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
159
diff
changeset
|
93 |
workingCopyBrowserClass |
108fc9ee061e
Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
159
diff
changeset
|
94 |
"Returns a file browser (kind of FileBrowser) suitable for browsing |
108fc9ee061e
Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
159
diff
changeset
|
95 |
working copies. Allows for special browsers with SCM-specific features" |
108fc9ee061e
Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
159
diff
changeset
|
96 |
|
560 | 97 |
^ FileBrowser default. |
162
108fc9ee061e
Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
159
diff
changeset
|
98 |
|
108fc9ee061e
Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
159
diff
changeset
|
99 |
"Created: / 14-12-2012 / 15:00:16 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
283
70b4750282ac
Removed HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
280
diff
changeset
|
100 |
"Modified: / 02-04-2013 / 11:26:54 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
162
108fc9ee061e
Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
159
diff
changeset
|
101 |
! ! |
108fc9ee061e
Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
159
diff
changeset
|
102 |
|
84 | 103 |
!HGSourceCodeManager class methodsFor:'basic access'! |
104 |
||
105 |
checkinClass:aClass fileName:classFileName directory:packageDir module:moduleDir source:sourceFile logMessage:logMessage force:force |
|
106 |
"checkin of a class into the source repository. |
|
107 |
Return true if ok, false if not." |
|
108 |
||
109 |
^ self shouldImplement |
|
110 |
! |
|
111 |
||
112 |
checkoutModule:aModule directory:aPackage andDo:aBlock |
|
113 |
"check out everything from a package into a temporary directory. |
|
114 |
Then evaluate aBlock, passing the name of that temp-directory. |
|
115 |
Afterwards, the tempDir is removed. |
|
116 |
Return true, if OK, false if any error occurred." |
|
117 |
||
118 |
^ self shouldImplement |
|
119 |
! |
|
120 |
||
318
4b0b4669935e
Bugfix in HGSourceCodeManager>>streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
309
diff
changeset
|
121 |
streamForClass:aClass fileName:classFileName revision:revOrString directory:packageDir module:moduleDir cache:doCache |
84 | 122 |
"extract a classes source code and return an open readStream on it. |
123 |
A revision of nil selects the current (in image) revision. |
|
124 |
The classes source code is extracted using the revision and the sourceCodeInfo, |
|
125 |
which itself is extracted from the classes packageString." |
|
126 |
||
326
35f0d44ae290
Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
324
diff
changeset
|
127 |
| pkg repo root file rev | |
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
128 |
|
396
3c9d047e3841
Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
369
diff
changeset
|
129 |
pkg := HGPackageWorkingCopy named: (moduleDir , ':' , packageDir). |
279
4e24604b7efb
Bugfix for HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
230
diff
changeset
|
130 |
pkg isNil ifTrue:[ ^ nil ]. |
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
131 |
repo := pkg repository. |
326
35f0d44ae290
Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
324
diff
changeset
|
132 |
|
35f0d44ae290
Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
324
diff
changeset
|
133 |
"revOrString can be a symbolic revision #newest..." |
35f0d44ae290
Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
324
diff
changeset
|
134 |
revOrString == #newest ifTrue:[ |
35f0d44ae290
Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
324
diff
changeset
|
135 |
| heads | |
35f0d44ae290
Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
324
diff
changeset
|
136 |
|
35f0d44ae290
Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
324
diff
changeset
|
137 |
heads := repo workingCopy branch heads. |
35f0d44ae290
Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
324
diff
changeset
|
138 |
heads size == 1 ifTrue:[ |
35f0d44ae290
Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
324
diff
changeset
|
139 |
rev := heads anElement asHGChangesetId. |
35f0d44ae290
Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
324
diff
changeset
|
140 |
] ifFalse:[ |
35f0d44ae290
Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
324
diff
changeset
|
141 |
rev := heads |
35f0d44ae290
Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
324
diff
changeset
|
142 |
inject: rev |
35f0d44ae290
Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
324
diff
changeset
|
143 |
into:[:newest :cs | |
35f0d44ae290
Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
324
diff
changeset
|
144 |
cs timestamp > newest timestamp ifTrue:[cs] ifFalse:[newest]]. |
35f0d44ae290
Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
324
diff
changeset
|
145 |
]. |
35f0d44ae290
Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
324
diff
changeset
|
146 |
] ifFalse:[ |
35f0d44ae290
Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
324
diff
changeset
|
147 |
rev := revOrString asHGChangesetId. |
35f0d44ae290
Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
324
diff
changeset
|
148 |
]. |
35f0d44ae290
Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
324
diff
changeset
|
149 |
root := (repo @ rev) / pkg repositoryRoot. |
35f0d44ae290
Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
324
diff
changeset
|
150 |
file := root children at: classFileName ifAbsent:[ ^ nil ]. |
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
151 |
|
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
152 |
doCache ifTrue:[ |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
153 |
^SourceCodeCache default |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
154 |
streamForClass:aClass |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
155 |
fileName:classFileName |
318
4b0b4669935e
Bugfix in HGSourceCodeManager>>streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
309
diff
changeset
|
156 |
revision:rev printStringWithoutNumber |
280
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
157 |
repository: 'hg' "TODO: Use repository ID here" |
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
158 |
module:moduleDir |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
159 |
directory:packageDir |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
160 |
ifAbsent: [:destination| |
318
4b0b4669935e
Bugfix in HGSourceCodeManager>>streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
309
diff
changeset
|
161 |
ActivityNotification notify: ('Checking out ', classFileName , '@' , rev printStringWithoutNumber , '...'). |
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
162 |
[ |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
163 |
file copyTo: destination. |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
164 |
destination exists ifTrue:[ |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
165 |
destination readStream |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
166 |
] ifFalse:[ |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
167 |
nil |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
168 |
] |
159
c70809dc1e70
Removed accidentical dependency on stx:libsvn.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
139
diff
changeset
|
169 |
] on: HGError do:[ |
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
170 |
nil |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
171 |
] |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
172 |
] |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
173 |
] ifFalse:[ |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
174 |
^file readStream. |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
175 |
] |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
176 |
|
396
3c9d047e3841
Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
369
diff
changeset
|
177 |
"Modified: / 05-03-2014 / 21:45:36 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
280
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
178 |
! |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
179 |
|
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
180 |
streamForExtensionFile:fileName package:pkgId directory:packageDir module:moduleDir cache:doCache |
323
7a39e728a3ac
When running tests, make sure Class>>#tryLocalSourceFirst: has defined value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
318
diff
changeset
|
181 |
| defClass pkg repo root file rev| |
280
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
182 |
|
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
183 |
defClass := ProjectDefinition definitionClassForPackage:pkgId. |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
184 |
rev := defClass hgLogicalRevision. |
396
3c9d047e3841
Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
369
diff
changeset
|
185 |
pkg := HGPackageWorkingCopy named: (moduleDir , ':' , packageDir). |
280
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
186 |
pkg isNil ifTrue:[ ^ nil ]. |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
187 |
repo := pkg repository. |
323
7a39e728a3ac
When running tests, make sure Class>>#tryLocalSourceFirst: has defined value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
318
diff
changeset
|
188 |
root := (repo @ rev) / pkg repositoryRoot. |
7a39e728a3ac
When running tests, make sure Class>>#tryLocalSourceFirst: has defined value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
318
diff
changeset
|
189 |
file := root children at: fileName ifAbsent:[ ^ nil ]. |
280
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
190 |
|
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
191 |
doCache ifTrue:[ |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
192 |
^SourceCodeCache default |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
193 |
streamForClass:nil |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
194 |
fileName:fileName |
318
4b0b4669935e
Bugfix in HGSourceCodeManager>>streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
309
diff
changeset
|
195 |
revision:rev printStringWithoutNumber |
280
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
196 |
repository: 'hg' "TODO: Use repository ID here" |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
197 |
module:moduleDir |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
198 |
directory:packageDir |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
199 |
ifAbsent: [:destination| |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
200 |
ActivityNotification notify: ('Checking out ', fileName , '@' , rev printStringWithoutNumber , '...'). |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
201 |
[ |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
202 |
file copyTo: destination. |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
203 |
destination exists ifTrue:[ |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
204 |
destination readStream |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
205 |
] ifFalse:[ |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
206 |
nil |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
207 |
] |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
208 |
] on: HGError do:[ |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
209 |
nil |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
210 |
] |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
211 |
] |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
212 |
] ifFalse:[ |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
213 |
^file readStream. |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
214 |
] |
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
215 |
|
d05631868f35
Fix for HGSourceCodeManager>>streamForExtensionFile...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
216 |
"Created: / 27-03-2013 / 11:49:24 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
396
3c9d047e3841
Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
369
diff
changeset
|
217 |
"Modified: / 05-03-2014 / 21:45:38 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
84 | 218 |
! ! |
219 |
||
220 |
!HGSourceCodeManager class methodsFor:'basic administration'! |
|
221 |
||
750 | 222 |
checkForExistingContainer:fileName inModule:moduleName directory:packageDirName |
223 |
"check for a container to exist. Return a boolean result." |
|
84 | 224 |
|
225 |
^ self shouldImplement |
|
750 | 226 |
|
227 |
"Modified (format): / 24-02-2017 / 11:32:18 / cg" |
|
84 | 228 |
! |
229 |
||
230 |
checkForExistingModule:moduleName |
|
231 |
"check for a module directory to be present" |
|
232 |
||
233 |
^ self shouldImplement |
|
234 |
! |
|
235 |
||
236 |
checkForExistingModule:moduleDir directory:packageDir |
|
237 |
"check for a package directory to be present" |
|
238 |
||
239 |
^ self shouldImplement |
|
240 |
! |
|
241 |
||
242 |
createContainerFor:aClass inModule:moduleName directory:dirName container:fileName |
|
243 |
"create a new container & check into it an initial version of aClass" |
|
244 |
||
245 |
^ self shouldImplement |
|
246 |
! |
|
247 |
||
248 |
createModule:moduleName |
|
249 |
"create a new module directory" |
|
250 |
||
251 |
^ self shouldImplement |
|
252 |
! |
|
253 |
||
254 |
createModule:module directory:directory |
|
255 |
"create a new package directory" |
|
256 |
||
257 |
^ self shouldImplement |
|
258 |
! |
|
259 |
||
260 |
initialRevisionStringFor:aClass inModule:moduleDir directory:packageDir container:fileName |
|
261 |
"return a string usable as initial revision string" |
|
262 |
||
263 |
^ self shouldImplement |
|
264 |
! |
|
265 |
||
503 | 266 |
revisionLogOf:clsOrNil fromRevision:rev1OrNil toRevision:rev2OrNil numberOfRevisions:limitOrNil fileName:classFileName directory:packageDir module:moduleDir |
121
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
267 |
"Actually do return a revisionLog. The main worker method. This must be implemented by a |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
268 |
concrete source-code manager. The interface of this method is just crazy!! |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
269 |
|
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
270 |
If numRevisionsOrNil is notNil, it limits the number of revision records returned - |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
271 |
only numRevions of the newest revision infos will be collected. |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
272 |
|
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
273 |
The returned information is a structure (IdentityDictionary) |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
274 |
filled with: |
716 | 275 |
#container -> the file name again |
121
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
276 |
#cvsRoot -> the CVS root (repository) |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
277 |
#filename -> the actual source file name |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
278 |
#newestRevision -> the revisionString of the newest revision |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
279 |
#numberOfRevisions -> the number of revisions in the container (nil for all) |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
280 |
#revisions -> collection of per-revision info (see below) |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
281 |
|
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
282 |
firstRevOrNil / lastRevOrNil specify from which revisions a logEntry is wanted: |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
283 |
-If firstRevOrNil is nil, the first revision is the initial revision |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
284 |
otherwise, the log starts with that revision. |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
285 |
-If lastRevOrNil is nil, the last revision is the newest revision |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
286 |
otherwise, the log ends with that revision. |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
287 |
|
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
288 |
-If both are nil, all logEntries are extracted. |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
289 |
-If both are 0 (not nil), no logEntries are extracted (i.e. only the header). |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
290 |
|
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
291 |
per revision info consists of one record per revision: |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
292 |
|
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
293 |
#revision -> the revision string |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
294 |
#author -> who checked that revision into the repository |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
295 |
#date -> when was it checked in |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
296 |
#state -> the RCS state |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
297 |
#logMessage -> the checkIn log message |
84 | 298 |
|
121
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
299 |
revisions are ordered newest first |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
300 |
(i.e. the last entry is for the initial revision; the first for the most recent one) |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
301 |
Attention: if state = 'dead' that revision is no longer valid. |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
302 |
" |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
303 |
|
369
cc7b604a456a
Added tests to cover issue #15.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
356
diff
changeset
|
304 |
| pkg repo path wcentry info newest oldest startRev stopRev limit log revs startRevIndex stopRevIndex revIndex | |
121
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
305 |
|
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
306 |
info := IdentityDictionary new. |
396
3c9d047e3841
Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
369
diff
changeset
|
307 |
pkg := HGPackageWorkingCopy named: (moduleDir , ':' , packageDir). |
121
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
308 |
repo := pkg repository. |
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
309 |
path := pkg repositoryRoot. |
138
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
310 |
wcentry := repo workingCopy / path / classFileName. |
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
311 |
wcentry exists ifFalse:[ |
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
312 |
self breakPoint: #jv. |
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
313 |
self error:'Ooops, could not found given file in working copy. Changeset scanning not yet implemented'. |
121
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
314 |
]. |
166
dbf0f7eb0dc9
Performance fix in HFSourceCodeManager revision log access.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
163
diff
changeset
|
315 |
revs := (rev1OrNil == 0 and:[rev2OrNil == 0]) |
dbf0f7eb0dc9
Performance fix in HFSourceCodeManager revision log access.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
163
diff
changeset
|
316 |
ifTrue:[((wcentry changeset / path) newer: true) collect:[:f|f changeset]] |
dbf0f7eb0dc9
Performance fix in HFSourceCodeManager revision log access.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
163
diff
changeset
|
317 |
ifFalse:[wcentry revisions collect:[:f|f changeset]]. |
dbf0f7eb0dc9
Performance fix in HFSourceCodeManager revision log access.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
163
diff
changeset
|
318 |
revs isEmpty ifTrue:[revs add: wcentry changeset]. |
138
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
319 |
newest := revs first. |
369
cc7b604a456a
Added tests to cover issue #15.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
356
diff
changeset
|
320 |
oldest := revs last. |
121
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
321 |
|
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
322 |
info at:#container put: classFileName. "/ -> the revision string |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
323 |
info at:#cvsRoot put: repo pathName. "/ -> the CVS root (repository) |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
324 |
info at:#filename put: classFileName. "/ -> the actual source file name |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
325 |
info at:#newestRevision put: newest id printString. "/-> the revisionString of the newest revision |
139
6536d1df0cf9
Bugfix HGSourceCodeManager>>#revisionLogOf:fromRevision:toRevision:numberOfRevisions:fileName:directory:module:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
138
diff
changeset
|
326 |
info at:#numberOfRevisions put: newest id revno. |
121
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
327 |
|
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
328 |
(rev1OrNil == 0 and:[rev2OrNil == 0]) ifTrue:[ |
138
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
329 |
limit := 1. |
369
cc7b604a456a
Added tests to cover issue #15.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
356
diff
changeset
|
330 |
startRev := newest. |
cc7b604a456a
Added tests to cover issue #15.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
356
diff
changeset
|
331 |
stopRev := newest. |
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
332 |
] ifFalse:[ |
138
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
333 |
limit := limitOrNil ? (revs size) . |
369
cc7b604a456a
Added tests to cover issue #15.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
356
diff
changeset
|
334 |
startRev := rev1OrNil isNil ifTrue:[newest] ifFalse:[repo @ rev1OrNil]. |
cc7b604a456a
Added tests to cover issue #15.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
356
diff
changeset
|
335 |
stopRev := rev2OrNil isNil ifTrue:[oldest] ifFalse:[repo @ rev2OrNil]. |
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
336 |
]. |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
337 |
log := OrderedCollection new. |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
338 |
|
369
cc7b604a456a
Added tests to cover issue #15.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
356
diff
changeset
|
339 |
startRevIndex := revs indexOf: startRev. |
cc7b604a456a
Added tests to cover issue #15.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
356
diff
changeset
|
340 |
stopRevIndex := revs indexOf: stopRev. |
cc7b604a456a
Added tests to cover issue #15.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
356
diff
changeset
|
341 |
limit := limit min: (stopRevIndex - startRevIndex + 1). |
138
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
342 |
|
369
cc7b604a456a
Added tests to cover issue #15.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
356
diff
changeset
|
343 |
revIndex := startRevIndex. |
191
f0745f4cdc97
Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
166
diff
changeset
|
344 |
limit timesRepeat:[ |
369
cc7b604a456a
Added tests to cover issue #15.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
356
diff
changeset
|
345 |
| entry rev | |
cc7b604a456a
Added tests to cover issue #15.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
356
diff
changeset
|
346 |
rev := revs at: revIndex. |
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
347 |
entry := IdentityDictionary new. |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
348 |
entry at:#revision put: rev id printString."/ -> the revision string |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
349 |
entry at:#author put: rev author."/ -> who checked that revision into the repository |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
350 |
entry at:#date put: rev timestamp printString."/ -> when was it checked in |
138
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
351 |
entry at:#state put: 'Exp'. "/ -> the RCS state |
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
352 |
entry at:#logMessage put: rev message."/ -> the checkIn log message. |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
353 |
log add: entry. |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
354 |
|
369
cc7b604a456a
Added tests to cover issue #15.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
356
diff
changeset
|
355 |
revIndex := revIndex + 1. |
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
356 |
]. |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
357 |
info at: #revisions put: log. |
121
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
358 |
|
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
359 |
^info |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
360 |
|
396
3c9d047e3841
Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
369
diff
changeset
|
361 |
"Modified: / 05-03-2014 / 21:45:33 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
84 | 362 |
! ! |
363 |
||
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
364 |
!HGSourceCodeManager class methodsFor:'queries'! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
365 |
|
356
6686fab3dda7
Added HGSourceCodeManager>>isContainerBased
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
335
diff
changeset
|
366 |
isContainerBased |
6686fab3dda7
Added HGSourceCodeManager>>isContainerBased
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
335
diff
changeset
|
367 |
"true, if the SCM uses some kind of source container (,v files). |
6686fab3dda7
Added HGSourceCodeManager>>isContainerBased
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
335
diff
changeset
|
368 |
False, if it is like a database or filesystem." |
6686fab3dda7
Added HGSourceCodeManager>>isContainerBased
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
335
diff
changeset
|
369 |
|
6686fab3dda7
Added HGSourceCodeManager>>isContainerBased
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
335
diff
changeset
|
370 |
^ false |
6686fab3dda7
Added HGSourceCodeManager>>isContainerBased
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
335
diff
changeset
|
371 |
|
6686fab3dda7
Added HGSourceCodeManager>>isContainerBased
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
335
diff
changeset
|
372 |
"Created: / 17-10-2013 / 00:54:56 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
6686fab3dda7
Added HGSourceCodeManager>>isContainerBased
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
335
diff
changeset
|
373 |
! |
6686fab3dda7
Added HGSourceCodeManager>>isContainerBased
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
335
diff
changeset
|
374 |
|
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
375 |
isResponsibleForPackage:aStringOrSymbol |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
376 |
"Returns true if the manager can handle source code for given package. |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
377 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
378 |
Answering true does not imply that receiver is configured default |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
379 |
manager for that package, it only means that it has a repository |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
380 |
configured for given package." |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
381 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
382 |
"No configuration yet, so let's scan the working copy" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
383 |
|
309
8ab1c777abad
Bugfix in HGSourceCodeManager>>#isResponsibleForPackage:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
302
diff
changeset
|
384 |
^(HGRepository discoverPackage: aStringOrSymbol) notNil |
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
385 |
|
309
8ab1c777abad
Bugfix in HGSourceCodeManager>>#isResponsibleForPackage:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
302
diff
changeset
|
386 |
"Modified: / 04-07-2013 / 02:15:51 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
387 |
! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
388 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
389 |
managerTypeName |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
390 |
"superclass AbstractSourceCodeManager class says that I am responsible to implement this method" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
391 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
392 |
^ 'Mercurial+' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
393 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
394 |
"Modified: / 13-11-2012 / 22:40:31 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
395 |
! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
396 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
397 |
managerTypeNameShort |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
398 |
^ 'HG' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
399 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
400 |
"Created: / 06-10-2012 / 17:10:54 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
401 |
"Modified: / 13-11-2012 / 22:40:25 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
402 |
! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
403 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
404 |
nameOfVersionMethodForExtensions |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
405 |
"that is the old name; now, we use extensionsVersion_<SCM>" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
406 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
407 |
^ #'extensionsVersion_HG' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
408 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
409 |
"Modified (comment): / 29-09-2011 / 13:27:04 / cg" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
410 |
"Modified: / 13-11-2012 / 22:40:38 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
411 |
! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
412 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
413 |
nameOfVersionMethodInClasses |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
414 |
"that is the old name; now, we use version_<SCM>" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
415 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
416 |
^ #'version_HG' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
417 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
418 |
"Modified (comment): / 29-09-2011 / 13:27:09 / cg" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
419 |
"Modified: / 13-11-2012 / 22:40:43 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
420 |
! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
421 |
|
121
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
422 |
performsCompilabilityChecks |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
423 |
^true |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
424 |
|
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
425 |
"Created: / 01-12-2012 / 01:01:33 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
426 |
! |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
427 |
|
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
428 |
settingsApplicationClass |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
429 |
"link to my settings application (needed for the settings dialog" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
430 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
431 |
^ HGSourceCodeManagementSettingsAppl |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
432 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
433 |
"Modified: / 13-11-2012 / 22:40:49 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
434 |
! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
435 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
436 |
versionMethodTemplateForJavaScriptFor:aSelector |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
437 |
"do not make the thing below a single string - otherwise |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
438 |
it would get expanded by the sourcecodemanager, which we do not want here" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
439 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
440 |
^ |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
441 |
"'function ',"aSelector,'() { |
115
b1ed2d29054b
version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
442 |
|
b1ed2d29054b
version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
443 |
return "$Changeset: <not expanded>"$; |
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
444 |
}' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
445 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
446 |
"Created: / 07-10-2012 / 00:23:26 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
115
b1ed2d29054b
version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
447 |
"Modified: / 30-11-2012 / 21:32:12 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
448 |
! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
449 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
450 |
versionMethodTemplateForRubyFor:aSelector |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
451 |
"do not make the thing below a single string - otherwise |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
452 |
it would get expanded by the sourcecodemanager, which we do not want here" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
453 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
454 |
^ |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
455 |
'def self.',aSelector,'() |
115
b1ed2d29054b
version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
456 |
|
b1ed2d29054b
version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
457 |
return "$Changeset: <not expanded>$" |
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
458 |
end' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
459 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
460 |
"Created: / 07-10-2012 / 00:22:55 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
115
b1ed2d29054b
version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
461 |
"Modified: / 30-11-2012 / 21:32:16 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
462 |
! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
463 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
464 |
versionMethodTemplateForSmalltalkFor:aSelector |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
465 |
"do not make the thing below a single string - otherwise |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
466 |
it would get expanded by the sourcecodemanager, which we do not want here" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
467 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
468 |
^ |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
469 |
aSelector,' |
115
b1ed2d29054b
version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
470 |
|
b1ed2d29054b
version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
471 |
^ ''$Changeset: <not expanded> $'' |
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
472 |
' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
473 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
474 |
"Created: / 07-10-2012 / 00:21:42 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
115
b1ed2d29054b
version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
475 |
"Modified: / 30-11-2012 / 21:32:22 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
476 |
! ! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
477 |
|
84 | 478 |
!HGSourceCodeManager class methodsFor:'source code administration'! |
479 |
||
480 |
getExistingContainersInModule:aModule directory:aPackage |
|
481 |
"{ Pragma: +optSpace }" |
|
482 |
||
483 |
^ self shouldImplement |
|
484 |
! |
|
485 |
||
486 |
getExistingDirectoriesInModule:aModule |
|
487 |
"{ Pragma: +optSpace }" |
|
488 |
||
489 |
^ self shouldImplement |
|
490 |
! |
|
491 |
||
492 |
getExistingModules |
|
493 |
"{ Pragma: +optSpace }" |
|
494 |
||
495 |
^ self shouldImplement |
|
496 |
! |
|
497 |
||
498 |
removeContainer:container inModule:module directory:directory |
|
499 |
"remove a container" |
|
500 |
||
501 |
^ self shouldImplement |
|
502 |
! |
|
503 |
||
504 |
revisionInfoFromString:aString |
|
433
173957e3242d
Fixed retrieving a revision info for extensions, returning package's logical revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
431
diff
changeset
|
505 |
| revInfo | |
173957e3242d
Fixed retrieving a revision info for extensions, returning package's logical revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
431
diff
changeset
|
506 |
|
173957e3242d
Fixed retrieving a revision info for extensions, returning package's logical revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
431
diff
changeset
|
507 |
revInfo := HGRevisionInfo fromString: aString. |
173957e3242d
Fixed retrieving a revision info for extensions, returning package's logical revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
431
diff
changeset
|
508 |
revInfo isNotExpanded ifTrue:[ |
173957e3242d
Fixed retrieving a revision info for extensions, returning package's logical revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
431
diff
changeset
|
509 |
"/ Sigh, this method is called from ProjectDefinition>>extensionsRevisionInfoForManager: |
173957e3242d
Fixed retrieving a revision info for extensions, returning package's logical revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
431
diff
changeset
|
510 |
"/ however here we don't know for what package it's called (no class nor package info |
173957e3242d
Fixed retrieving a revision info for extensions, returning package's logical revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
431
diff
changeset
|
511 |
"/ provided. Hence the thisContext sender receiver hack. |
84 | 512 |
|
433
173957e3242d
Fixed retrieving a revision info for extensions, returning package's logical revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
431
diff
changeset
|
513 |
| senderReceiver | |
173957e3242d
Fixed retrieving a revision info for extensions, returning package's logical revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
431
diff
changeset
|
514 |
(senderReceiver := thisContext sender receiver) isProjectDefinition ifTrue:[ |
173957e3242d
Fixed retrieving a revision info for extensions, returning package's logical revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
431
diff
changeset
|
515 |
revInfo := HGRevisionInfo new. |
173957e3242d
Fixed retrieving a revision info for extensions, returning package's logical revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
431
diff
changeset
|
516 |
revInfo changesetId: senderReceiver hgLogicalRevision. |
173957e3242d
Fixed retrieving a revision info for extensions, returning package's logical revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
431
diff
changeset
|
517 |
]. |
173957e3242d
Fixed retrieving a revision info for extensions, returning package's logical revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
431
diff
changeset
|
518 |
]. |
173957e3242d
Fixed retrieving a revision info for extensions, returning package's logical revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
431
diff
changeset
|
519 |
^ revInfo |
84 | 520 |
|
433
173957e3242d
Fixed retrieving a revision info for extensions, returning package's logical revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
431
diff
changeset
|
521 |
"Modified: / 02-05-2014 / 18:05:36 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
116
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
522 |
! |
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
523 |
|
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
524 |
revisionInfoFromString: vsnString inClass: class |
431
5bc7ac796e5e
Change Class>>revision to return logical revision instead of binary revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
405
diff
changeset
|
525 |
| revInfo def clsBinRev | |
116
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
526 |
|
324
929223a6d0e1
Workaround in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
323
diff
changeset
|
527 |
"NOTE: class argument may be nil if called for extensions, sigh" |
929223a6d0e1
Workaround in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
323
diff
changeset
|
528 |
|
302
e078bdcef149
Fixes for Smalltalk/X 6.2.2 (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
290
diff
changeset
|
529 |
"Hack for Smalltalk/X 6.2.2: as 6.2.2 stc has no support for Mercurial, |
e078bdcef149
Fixes for Smalltalk/X 6.2.2 (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
290
diff
changeset
|
530 |
the binary revision is always 'file:class.st'. In that case, do not use |
e078bdcef149
Fixes for Smalltalk/X 6.2.2 (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
290
diff
changeset
|
531 |
the binary revision at all" |
324
929223a6d0e1
Workaround in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
323
diff
changeset
|
532 |
class notNil ifTrue:[ |
929223a6d0e1
Workaround in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
323
diff
changeset
|
533 |
clsBinRev := class binaryRevisionString. |
929223a6d0e1
Workaround in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
323
diff
changeset
|
534 |
(clsBinRev notNil and:[clsBinRev startsWith:'file:']) ifTrue:[ |
929223a6d0e1
Workaround in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
323
diff
changeset
|
535 |
clsBinRev := nil. |
929223a6d0e1
Workaround in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
323
diff
changeset
|
536 |
]. |
302
e078bdcef149
Fixes for Smalltalk/X 6.2.2 (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
290
diff
changeset
|
537 |
]. |
e078bdcef149
Fixes for Smalltalk/X 6.2.2 (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
290
diff
changeset
|
538 |
|
431
5bc7ac796e5e
Change Class>>revision to return logical revision instead of binary revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
405
diff
changeset
|
539 |
revInfo := self revisionInfoFromString: vsnString. |
5bc7ac796e5e
Change Class>>revision to return logical revision instead of binary revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
405
diff
changeset
|
540 |
|
5bc7ac796e5e
Change Class>>revision to return logical revision instead of binary revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
405
diff
changeset
|
541 |
revInfo isNotExpanded ifTrue:[ |
5bc7ac796e5e
Change Class>>revision to return logical revision instead of binary revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
405
diff
changeset
|
542 |
| pkg | |
290
9afd53717887
Fix in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
283
diff
changeset
|
543 |
|
324
929223a6d0e1
Workaround in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
323
diff
changeset
|
544 |
"When called for extensions, class may be nil. But in this case we don't know |
929223a6d0e1
Workaround in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
323
diff
changeset
|
545 |
the extension's package, so we have to guess it. |
929223a6d0e1
Workaround in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
323
diff
changeset
|
546 |
What a stupid, CVS-centric interface. Playing with strings is simply too bad." |
929223a6d0e1
Workaround in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
323
diff
changeset
|
547 |
|
431
5bc7ac796e5e
Change Class>>revision to return logical revision instead of binary revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
405
diff
changeset
|
548 |
revInfo := HGRevisionInfo new. |
5bc7ac796e5e
Change Class>>revision to return logical revision instead of binary revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
405
diff
changeset
|
549 |
revInfo changesetId: HGChangesetId null. |
324
929223a6d0e1
Workaround in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
323
diff
changeset
|
550 |
class notNil ifTrue:[ |
431
5bc7ac796e5e
Change Class>>revision to return logical revision instead of binary revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
405
diff
changeset
|
551 |
pkg := class package. |
324
929223a6d0e1
Workaround in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
323
diff
changeset
|
552 |
] ifFalse:[ |
929223a6d0e1
Workaround in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
323
diff
changeset
|
553 |
"Add more cases here..." |
929223a6d0e1
Workaround in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
323
diff
changeset
|
554 |
(thisContext sender selector == #loadExtensionsForPackage:language:) ifTrue:[ |
431
5bc7ac796e5e
Change Class>>revision to return logical revision instead of binary revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
405
diff
changeset
|
555 |
pkg := thisContext sender argAt: 1. |
324
929223a6d0e1
Workaround in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
323
diff
changeset
|
556 |
] |
929223a6d0e1
Workaround in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
323
diff
changeset
|
557 |
]. |
929223a6d0e1
Workaround in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
323
diff
changeset
|
558 |
|
431
5bc7ac796e5e
Change Class>>revision to return logical revision instead of binary revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
405
diff
changeset
|
559 |
pkg notNil ifTrue:[ |
5bc7ac796e5e
Change Class>>revision to return logical revision instead of binary revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
405
diff
changeset
|
560 |
| rev | |
5bc7ac796e5e
Change Class>>revision to return logical revision instead of binary revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
405
diff
changeset
|
561 |
def := ProjectDefinition definitionClassForPackage: pkg. |
435
1cde71f99dec
Fix in HGSourceCodeManager>>revisionInfoFromString:inClass: - care for non-existing project definition.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
433
diff
changeset
|
562 |
[ def isNil ] whileTrue:[ |
1cde71f99dec
Fix in HGSourceCodeManager>>revisionInfoFromString:inClass: - care for non-existing project definition.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
433
diff
changeset
|
563 |
pkg := pkg asPackageId parentPackage. |
1cde71f99dec
Fix in HGSourceCodeManager>>revisionInfoFromString:inClass: - care for non-existing project definition.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
433
diff
changeset
|
564 |
pkg isNil ifTrue:[ |
1cde71f99dec
Fix in HGSourceCodeManager>>revisionInfoFromString:inClass: - care for non-existing project definition.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
433
diff
changeset
|
565 |
^ nil. |
1cde71f99dec
Fix in HGSourceCodeManager>>revisionInfoFromString:inClass: - care for non-existing project definition.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
433
diff
changeset
|
566 |
]. |
1cde71f99dec
Fix in HGSourceCodeManager>>revisionInfoFromString:inClass: - care for non-existing project definition.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
433
diff
changeset
|
567 |
pkg := pkg asString. |
1cde71f99dec
Fix in HGSourceCodeManager>>revisionInfoFromString:inClass: - care for non-existing project definition.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
433
diff
changeset
|
568 |
(self isResponsibleForPackage: pkg) ifFalse:[ |
1cde71f99dec
Fix in HGSourceCodeManager>>revisionInfoFromString:inClass: - care for non-existing project definition.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
433
diff
changeset
|
569 |
^ nil |
1cde71f99dec
Fix in HGSourceCodeManager>>revisionInfoFromString:inClass: - care for non-existing project definition.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
433
diff
changeset
|
570 |
]. |
1cde71f99dec
Fix in HGSourceCodeManager>>revisionInfoFromString:inClass: - care for non-existing project definition.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
433
diff
changeset
|
571 |
def := ProjectDefinition definitionClassForPackage: pkg. |
290
9afd53717887
Fix in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
283
diff
changeset
|
572 |
]. |
431
5bc7ac796e5e
Change Class>>revision to return logical revision instead of binary revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
405
diff
changeset
|
573 |
rev := def hgLogicalRevision. |
5bc7ac796e5e
Change Class>>revision to return logical revision instead of binary revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
405
diff
changeset
|
574 |
rev notNil ifTrue:[ |
5bc7ac796e5e
Change Class>>revision to return logical revision instead of binary revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
405
diff
changeset
|
575 |
revInfo changesetId: rev. |
290
9afd53717887
Fix in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
283
diff
changeset
|
576 |
]. |
9afd53717887
Fix in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
283
diff
changeset
|
577 |
]. |
9afd53717887
Fix in HGSourceCodeManager>>#revisionInfoFromString:inClass:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
283
diff
changeset
|
578 |
]. |
431
5bc7ac796e5e
Change Class>>revision to return logical revision instead of binary revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
405
diff
changeset
|
579 |
|
5bc7ac796e5e
Change Class>>revision to return logical revision instead of binary revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
405
diff
changeset
|
580 |
class notNil ifTrue:[ |
5bc7ac796e5e
Change Class>>revision to return logical revision instead of binary revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
405
diff
changeset
|
581 |
revInfo className: class name. |
5bc7ac796e5e
Change Class>>revision to return logical revision instead of binary revision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
405
diff
changeset
|
582 |
]. |
116
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
583 |
^revInfo |
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
584 |
|
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
585 |
"Created: / 30-11-2012 / 21:48:42 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
435
1cde71f99dec
Fix in HGSourceCodeManager>>revisionInfoFromString:inClass: - care for non-existing project definition.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
433
diff
changeset
|
586 |
"Modified: / 23-05-2014 / 12:28:41 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
230
d202597d67a5
Bugfix for pull command. Do not update temporary working copy if it is already.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
210
diff
changeset
|
587 |
! |
d202597d67a5
Bugfix for pull command. Do not update temporary working copy if it is already.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
210
diff
changeset
|
588 |
|
d202597d67a5
Bugfix for pull command. Do not update temporary working copy if it is already.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
210
diff
changeset
|
589 |
withSourceRewriteHandlerDo:aBlock |
d202597d67a5
Bugfix for pull command. Do not update temporary working copy if it is already.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
210
diff
changeset
|
590 |
"HG does not expand keywords, no need to rewrite" |
d202597d67a5
Bugfix for pull command. Do not update temporary working copy if it is already.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
210
diff
changeset
|
591 |
^aBlock value |
d202597d67a5
Bugfix for pull command. Do not update temporary working copy if it is already.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
210
diff
changeset
|
592 |
|
d202597d67a5
Bugfix for pull command. Do not update temporary working copy if it is already.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
210
diff
changeset
|
593 |
"Created: / 14-02-2013 / 15:17:48 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
84 | 594 |
! ! |
595 |
||
596 |
!HGSourceCodeManager class methodsFor:'subclass responsibility'! |
|
597 |
||
598 |
reportHistoryLogSince:timeGoal filterSTSources:filter filterUser:userFilter filterRepository:repositoryFilter filterModules:moduleFilter inTo:aBlock |
|
599 |
"superclass AbstractSourceCodeManager class says that I am responsible to implement this method" |
|
600 |
||
601 |
^ self shouldImplement |
|
602 |
! ! |
|
603 |
||
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
604 |
!HGSourceCodeManager class methodsFor:'documentation'! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
605 |
|
560 | 606 |
version |
607 |
^ '$Header$' |
|
608 |
! |
|
609 |
||
610 |
version_CVS |
|
589 | 611 |
^ '$Header$' |
560 | 612 |
! |
613 |
||
54
66045198bfbc
More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
46
diff
changeset
|
614 |
version_HG |
115
b1ed2d29054b
version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
615 |
|
b1ed2d29054b
version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
616 |
^ '$Changeset: <not expanded> $' |
54
66045198bfbc
More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
46
diff
changeset
|
617 |
! |
66045198bfbc
More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
46
diff
changeset
|
618 |
|
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
619 |
version_SVN |
560 | 620 |
^ '$Id$' |
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
621 |
! ! |
318
4b0b4669935e
Bugfix in HGSourceCodeManager>>streamForClass:fileName:revision:directory:module:cache:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
309
diff
changeset
|
622 |