author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Fri, 01 Feb 2013 12:02:22 +0000 | |
changeset 210 | 54a73fa50d40 |
parent 191 | f0745f4cdc97 |
child 230 | d202597d67a5 |
permissions | -rw-r--r-- |
210 | 1 |
" |
2 |
COPYRIGHT (c) 2012-2013 by Jan Vrany |
|
3 |
All Rights Reserved |
|
4 |
||
5 |
This software is furnished under a license and may be used |
|
6 |
only in accordance with the terms of that license and with the |
|
7 |
inclusion of the above copyright notice. This software may not |
|
8 |
be provided or otherwise made available to, or used by, any |
|
9 |
other person. No title to or ownership of the software is |
|
10 |
hereby transferred. |
|
11 |
" |
|
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
12 |
"{ Package: 'stx:libscm/mercurial' }" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
13 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
14 |
SCMAbstractSourceCodeManager subclass:#HGSourceCodeManager |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
15 |
instanceVariableNames:'' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
16 |
classVariableNames:'' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
17 |
poolDictionaries:'' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
18 |
category:'SCM-Mercurial-StX' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
19 |
! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
20 |
|
210 | 21 |
!HGSourceCodeManager class methodsFor:'documentation'! |
22 |
||
23 |
copyright |
|
24 |
" |
|
25 |
COPYRIGHT (c) 2012-2013 by Jan Vrany |
|
26 |
All Rights Reserved |
|
27 |
||
28 |
This software is furnished under a license and may be used |
|
29 |
only in accordance with the terms of that license and with the |
|
30 |
inclusion of the above copyright notice. This software may not |
|
31 |
be provided or otherwise made available to, or used by, any |
|
32 |
other person. No title to or ownership of the software is |
|
33 |
hereby transferred. |
|
34 |
" |
|
35 |
! ! |
|
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
36 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
37 |
!HGSourceCodeManager class methodsFor:'accessing'! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
38 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
39 |
repositoryNameForPackage:packageId |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
40 |
"Return the repository ULR for the given package. |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
41 |
Used for testing/debugging source code management configuration" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
42 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
43 |
^ HGRepository discover: (Smalltalk getPackageDirectoryForPackage: packageId) |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
44 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
45 |
"Modified: / 13-11-2012 / 22:16:54 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
46 |
! ! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
47 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
48 |
!HGSourceCodeManager class methodsFor:'accessing-classes'! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
49 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
50 |
commitDialogClass |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
51 |
"Answer a dialog class to be used for commits" |
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 |
^HGCommitDialog |
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 |
"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
|
56 |
! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
57 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
58 |
packageRegistryClass |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
59 |
"Answer the package manager class used to get |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
60 |
package models" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
61 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
62 |
^ HGPackageModelRegistry |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
63 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
64 |
"Created: / 13-11-2012 / 23:59:05 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
65 |
! ! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
66 |
|
162
108fc9ee061e
Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
159
diff
changeset
|
67 |
!HGSourceCodeManager class methodsFor:'accessing-tools'! |
108fc9ee061e
Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
159
diff
changeset
|
68 |
|
108fc9ee061e
Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
159
diff
changeset
|
69 |
workingCopyBrowserClass |
108fc9ee061e
Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
159
diff
changeset
|
70 |
"Returns a file browser (kind of FileBrowser) suitable for browsing |
108fc9ee061e
Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
159
diff
changeset
|
71 |
working copies. Allows for special browsers with SCM-specific features" |
108fc9ee061e
Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
159
diff
changeset
|
72 |
|
163
21bc6994087d
Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
73 |
^OperatingSystem getLoginName = 'jv' ifTrue:[ |
21bc6994087d
Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
74 |
HGWorkingCopyBrowser |
21bc6994087d
Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
75 |
] ifFalse:[ |
21bc6994087d
Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
76 |
UserPreferences current fileBrowserClass |
21bc6994087d
Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
77 |
] |
162
108fc9ee061e
Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
159
diff
changeset
|
78 |
|
108fc9ee061e
Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
159
diff
changeset
|
79 |
"Created: / 14-12-2012 / 15:00:16 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
163
21bc6994087d
Experimental HGWorkingCopyBrowser - unfinished!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
162
diff
changeset
|
80 |
"Modified: / 14-12-2012 / 20:10:46 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
162
108fc9ee061e
Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
159
diff
changeset
|
81 |
! ! |
108fc9ee061e
Added HGWorkingCopyBrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
159
diff
changeset
|
82 |
|
84 | 83 |
!HGSourceCodeManager class methodsFor:'basic access'! |
84 |
||
85 |
checkinClass:aClass fileName:classFileName directory:packageDir module:moduleDir source:sourceFile logMessage:logMessage force:force |
|
86 |
"checkin of a class into the source repository. |
|
87 |
Return true if ok, false if not." |
|
88 |
||
89 |
^ self shouldImplement |
|
90 |
! |
|
91 |
||
92 |
checkoutModule:aModule directory:aPackage andDo:aBlock |
|
93 |
"check out everything from a package into a temporary directory. |
|
94 |
Then evaluate aBlock, passing the name of that temp-directory. |
|
95 |
Afterwards, the tempDir is removed. |
|
96 |
Return true, if OK, false if any error occurred." |
|
97 |
||
98 |
^ self shouldImplement |
|
99 |
! |
|
100 |
||
101 |
streamForClass:aClass fileName:classFileName revision:revision directory:packageDir module:moduleDir cache:doCache |
|
102 |
"extract a classes source code and return an open readStream on it. |
|
103 |
A revision of nil selects the current (in image) revision. |
|
104 |
The classes source code is extracted using the revision and the sourceCodeInfo, |
|
105 |
which itself is extracted from the classes packageString." |
|
106 |
||
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
107 |
| pkg repo file | |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
108 |
|
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
109 |
pkg := HGPackageModel named: (moduleDir , ':' , packageDir). |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
110 |
repo := pkg repository. |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
111 |
file := (repo @ revision) / pkg repositoryRoot / classFileName. |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
112 |
|
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
113 |
doCache ifTrue:[ |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
114 |
^SourceCodeCache default |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
115 |
streamForClass:aClass |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
116 |
fileName:classFileName |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
117 |
revision:revision |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
118 |
repository: 'svn' "TODO: Use repository ID here" |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
119 |
module:moduleDir |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
120 |
directory:packageDir |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
121 |
ifAbsent: [:destination| |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
122 |
ActivityNotification notify: ('Checking out ', classFileName , '@' , revision , '...'). |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
123 |
[ |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
124 |
file copyTo: destination. |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
125 |
destination exists ifTrue:[ |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
126 |
destination readStream |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
127 |
] ifFalse:[ |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
128 |
nil |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
129 |
] |
159
c70809dc1e70
Removed accidentical dependency on stx:libsvn.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
139
diff
changeset
|
130 |
] on: HGError do:[ |
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
131 |
nil |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
132 |
] |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
133 |
] |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
134 |
] ifFalse:[ |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
135 |
^file readStream. |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
136 |
] |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
137 |
|
159
c70809dc1e70
Removed accidentical dependency on stx:libsvn.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
139
diff
changeset
|
138 |
"Modified: / 11-12-2012 / 09:12:08 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
84 | 139 |
! ! |
140 |
||
141 |
!HGSourceCodeManager class methodsFor:'basic administration'! |
|
142 |
||
143 |
checkForExistingContainer:fileName inModule:moduleName directory:dirName |
|
144 |
"check for a container to be present" |
|
145 |
||
146 |
^ self shouldImplement |
|
147 |
! |
|
148 |
||
149 |
checkForExistingModule:moduleName |
|
150 |
"check for a module directory to be present" |
|
151 |
||
152 |
^ self shouldImplement |
|
153 |
! |
|
154 |
||
155 |
checkForExistingModule:moduleDir directory:packageDir |
|
156 |
"check for a package directory to be present" |
|
157 |
||
158 |
^ self shouldImplement |
|
159 |
! |
|
160 |
||
161 |
createContainerFor:aClass inModule:moduleName directory:dirName container:fileName |
|
162 |
"create a new container & check into it an initial version of aClass" |
|
163 |
||
164 |
^ self shouldImplement |
|
165 |
! |
|
166 |
||
167 |
createModule:moduleName |
|
168 |
"create a new module directory" |
|
169 |
||
170 |
^ self shouldImplement |
|
171 |
! |
|
172 |
||
173 |
createModule:module directory:directory |
|
174 |
"create a new package directory" |
|
175 |
||
176 |
^ self shouldImplement |
|
177 |
! |
|
178 |
||
179 |
initialRevisionStringFor:aClass inModule:moduleDir directory:packageDir container:fileName |
|
180 |
"return a string usable as initial revision string" |
|
181 |
||
182 |
^ self shouldImplement |
|
183 |
! |
|
184 |
||
185 |
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
|
186 |
"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
|
187 |
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
|
188 |
|
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
189 |
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
|
190 |
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
|
191 |
|
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
192 |
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
|
193 |
filled with: |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
194 |
#container -> the RCS/CVS container file name |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
195 |
#cvsRoot -> the CVS root (repository) |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
196 |
#filename -> the actual source file name |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
197 |
#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
|
198 |
#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
|
199 |
#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
|
200 |
|
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
201 |
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
|
202 |
-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
|
203 |
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
|
204 |
-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
|
205 |
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
|
206 |
|
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
207 |
-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
|
208 |
-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
|
209 |
|
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
210 |
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
|
211 |
|
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
212 |
#revision -> the revision string |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
213 |
#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
|
214 |
#date -> when was it checked in |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
215 |
#state -> the RCS state |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
216 |
#numberOfChangedLines -> the number of changed line w.r.t the previous |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
217 |
#logMessage -> the checkIn log message |
84 | 218 |
|
121
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
219 |
revisions are ordered newest first |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
220 |
(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
|
221 |
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
|
222 |
" |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
223 |
|
138
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
224 |
| pkg repo path wcentry info newest rev limit log revs revi | |
121
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
225 |
|
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
226 |
info := IdentityDictionary new. |
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
227 |
pkg := HGPackageModel named: (moduleDir , ':' , packageDir). |
121
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
228 |
repo := pkg repository. |
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
229 |
path := pkg repositoryRoot. |
138
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
230 |
wcentry := repo workingCopy / path / classFileName. |
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
231 |
wcentry exists ifFalse:[ |
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
232 |
self breakPoint: #jv. |
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
233 |
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
|
234 |
]. |
166
dbf0f7eb0dc9
Performance fix in HFSourceCodeManager revision log access.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
163
diff
changeset
|
235 |
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
|
236 |
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
|
237 |
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
|
238 |
revs isEmpty ifTrue:[revs add: wcentry changeset]. |
138
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
239 |
newest := revs first. |
121
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
240 |
|
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
241 |
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
|
242 |
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
|
243 |
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
|
244 |
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
|
245 |
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
|
246 |
|
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
247 |
(rev1OrNil == 0 and:[rev2OrNil == 0]) ifTrue:[ |
138
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
248 |
limit := 1. |
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
249 |
rev := newest. |
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
250 |
] ifFalse:[ |
138
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
251 |
limit := limitOrNil ? (revs size) . |
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
252 |
rev := rev1OrNil isNil ifTrue:[newest] ifFalse:[repo @ rev1OrNil]. |
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
253 |
]. |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
254 |
log := OrderedCollection new. |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
255 |
|
138
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
256 |
rev := revs detect:[:cs |cs == rev or:[cs timestamp < rev timestamp ]] ifNone:[nil]. |
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
257 |
revi := revs indexOf: rev. |
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
258 |
limit := limit min: (revs size - revi + 1). |
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
259 |
|
191
f0745f4cdc97
Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
166
diff
changeset
|
260 |
limit timesRepeat:[ |
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
261 |
| entry | |
138
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
262 |
rev := revs at: revi. |
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
263 |
entry := IdentityDictionary new. |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
264 |
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
|
265 |
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
|
266 |
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
|
267 |
entry at:#state put: 'Exp'. "/ -> the RCS state |
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
268 |
entry at:#numberOfChangedLines put: 'N/A'. "/ -> the number of changed line w.r.t the previous |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
269 |
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
|
270 |
log add: entry. |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
271 |
|
138
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
272 |
revi := revi + 1. |
126
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
273 |
]. |
952efea00dd2
More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
125
diff
changeset
|
274 |
info at: #revisions put: log. |
121
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
275 |
|
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
276 |
^info |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
277 |
|
191
f0745f4cdc97
Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
166
diff
changeset
|
278 |
"Modified: / 22-01-2013 / 14:18:06 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
84 | 279 |
! ! |
280 |
||
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
281 |
!HGSourceCodeManager class methodsFor:'queries'! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
282 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
283 |
isResponsibleForPackage:aStringOrSymbol |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
284 |
"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
|
285 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
286 |
Answering true does not imply that receiver is configured default |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
287 |
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
|
288 |
configured for given package." |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
289 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
290 |
"No configuration yet, so let's scan the working copy" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
291 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
292 |
| pkgDir | |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
293 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
294 |
pkgDir := Smalltalk getPackageDirectoryForPackage: aStringOrSymbol. |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
295 |
^pkgDir notNil and:[(HGRepository discover: pkgDir) notNil] |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
296 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
297 |
"Modified: / 14-11-2012 / 00:24:31 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
298 |
! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
299 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
300 |
managerTypeName |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
301 |
"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
|
302 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
303 |
^ 'Mercurial+' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
304 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
305 |
"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
|
306 |
! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
307 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
308 |
managerTypeNameShort |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
309 |
^ 'HG' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
310 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
311 |
"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
|
312 |
"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
|
313 |
! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
314 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
315 |
nameOfVersionMethodForExtensions |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
316 |
"that is the old name; now, we use extensionsVersion_<SCM>" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
317 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
318 |
^ #'extensionsVersion_HG' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
319 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
320 |
"Modified (comment): / 29-09-2011 / 13:27:04 / cg" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
321 |
"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
|
322 |
! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
323 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
324 |
nameOfVersionMethodInClasses |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
325 |
"that is the old name; now, we use version_<SCM>" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
326 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
327 |
^ #'version_HG' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
328 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
329 |
"Modified (comment): / 29-09-2011 / 13:27:09 / cg" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
330 |
"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
|
331 |
! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
332 |
|
121
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
333 |
performsCompilabilityChecks |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
334 |
^true |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
335 |
|
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
336 |
"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
|
337 |
! |
f7cac3dae028
Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
338 |
|
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
339 |
settingsApplicationClass |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
340 |
"link to my settings application (needed for the settings dialog" |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
341 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
342 |
^ HGSourceCodeManagementSettingsAppl |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
343 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
344 |
"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
|
345 |
! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
346 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
347 |
versionMethodTemplateForJavaScriptFor:aSelector |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
348 |
"do not make the thing below a single string - otherwise |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
349 |
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
|
350 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
351 |
^ |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
352 |
"'function ',"aSelector,'() { |
115
b1ed2d29054b
version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
353 |
|
b1ed2d29054b
version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
354 |
return "$Changeset: <not expanded>"$; |
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
355 |
}' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
356 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
357 |
"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
|
358 |
"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
|
359 |
! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
360 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
361 |
versionMethodTemplateForRubyFor:aSelector |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
362 |
"do not make the thing below a single string - otherwise |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
363 |
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
|
364 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
365 |
^ |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
366 |
'def self.',aSelector,'() |
115
b1ed2d29054b
version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
367 |
|
b1ed2d29054b
version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
368 |
return "$Changeset: <not expanded>$" |
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
369 |
end' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
370 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
371 |
"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
|
372 |
"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
|
373 |
! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
374 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
375 |
versionMethodTemplateForSmalltalkFor:aSelector |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
376 |
"do not make the thing below a single string - otherwise |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
377 |
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
|
378 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
379 |
^ |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
380 |
aSelector,' |
115
b1ed2d29054b
version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
381 |
|
b1ed2d29054b
version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
382 |
^ ''$Changeset: <not expanded> $'' |
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
383 |
' |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
384 |
|
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
385 |
"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
|
386 |
"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
|
387 |
! ! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
388 |
|
84 | 389 |
!HGSourceCodeManager class methodsFor:'source code administration'! |
390 |
||
391 |
getExistingContainersInModule:aModule directory:aPackage |
|
392 |
"{ Pragma: +optSpace }" |
|
393 |
||
394 |
^ self shouldImplement |
|
395 |
! |
|
396 |
||
397 |
getExistingDirectoriesInModule:aModule |
|
398 |
"{ Pragma: +optSpace }" |
|
399 |
||
400 |
^ self shouldImplement |
|
401 |
! |
|
402 |
||
403 |
getExistingModules |
|
404 |
"{ Pragma: +optSpace }" |
|
405 |
||
406 |
^ self shouldImplement |
|
407 |
! |
|
408 |
||
409 |
removeContainer:container inModule:module directory:directory |
|
410 |
"remove a container" |
|
411 |
||
412 |
^ self shouldImplement |
|
413 |
! |
|
414 |
||
415 |
revisionInfoFromString:aString |
|
416 |
"{ Pragma: +optSpace }" |
|
417 |
||
88 | 418 |
^ HGRevisionInfo fromString: aString |
84 | 419 |
|
88 | 420 |
"Modified: / 20-11-2012 / 23:26:35 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
116
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
421 |
! |
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
422 |
|
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
423 |
revisionInfoFromString: vsnString inClass: class |
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
424 |
| revInfo | |
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
425 |
|
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
426 |
revInfo := self revisionInfoFromString: (class binaryRevisionString ? vsnString). |
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
427 |
revInfo className: class name. |
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
428 |
^revInfo |
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
429 |
|
b690f5845323
Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
430 |
"Created: / 30-11-2012 / 21:48:42 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
84 | 431 |
! ! |
432 |
||
433 |
!HGSourceCodeManager class methodsFor:'subclass responsibility'! |
|
434 |
||
435 |
reportHistoryLogSince:timeGoal filterSTSources:filter filterUser:userFilter filterRepository:repositoryFilter filterModules:moduleFilter inTo:aBlock |
|
436 |
"superclass AbstractSourceCodeManager class says that I am responsible to implement this method" |
|
437 |
||
438 |
^ self shouldImplement |
|
439 |
! ! |
|
440 |
||
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
441 |
!HGSourceCodeManager class methodsFor:'documentation'! |
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
442 |
|
54
66045198bfbc
More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
46
diff
changeset
|
443 |
version_HG |
115
b1ed2d29054b
version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
444 |
|
b1ed2d29054b
version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
445 |
^ '$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
|
446 |
! |
66045198bfbc
More changes towards self hosting. Some work on model is still missing...
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
46
diff
changeset
|
447 |
|
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
448 |
version_SVN |
138
c66a831e131b
Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
128
diff
changeset
|
449 |
^ '§Id:: §' |
46
d5a192b11a1a
- More Smalltalk/X support
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff
changeset
|
450 |
! ! |
191
f0745f4cdc97
Performance optimization: lazily pre-load all unloaded changes at once.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
166
diff
changeset
|
451 |