mercurial/HGSourceCodeManager.st
author Claus Gittinger <cg@exept.de>
Wed, 01 Aug 2018 13:24:07 +0200
branchcvs_MAIN
changeset 853 4e41a616ceca
parent 750 8bb4e77c25c4
permissions -rw-r--r--
#DOCUMENTATION by cg class: HGRepositoryObject comment/format in: #synchronizationSemaphore:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
     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
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
     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
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
    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
1d6ccf38d250 initial checkin
Claus Gittinger <cg@exept.de>
parents: 511
diff changeset
    21
"{ NameSpace: Smalltalk }"
1d6ccf38d250 initial checkin
Claus Gittinger <cg@exept.de>
parents: 511
diff changeset
    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
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
    30
!HGSourceCodeManager class methodsFor:'documentation'!
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
    31
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
    32
copyright
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
    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
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
    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
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
    50
"
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 191
diff changeset
    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
1d6ccf38d250 initial checkin
Claus Gittinger <cg@exept.de>
parents: 511
diff changeset
    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
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   103
!HGSourceCodeManager class methodsFor:'basic access'!
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   104
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   105
checkinClass:aClass fileName:classFileName directory:packageDir module:moduleDir source:sourceFile logMessage:logMessage force:force
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   106
    "checkin of a class into the source repository.
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   107
     Return true if ok, false if not."
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   108
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   109
    ^ self shouldImplement
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   110
!
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   111
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   112
checkoutModule:aModule directory:aPackage andDo:aBlock
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   113
    "check out everything from a package into a temporary directory.
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   114
     Then evaluate aBlock, passing the name of that temp-directory.
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   115
     Afterwards, the tempDir is removed.
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   116
     Return true, if OK, false if any error occurred."
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   117
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   118
    ^ self shouldImplement
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   119
!
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   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
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   122
    "extract a classes source code and return an open readStream on it.
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   123
     A revision of nil selects the current (in image) revision.
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   124
     The classes source code is extracted using the revision and the sourceCodeInfo,
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   125
     which itself is extracted from the classes packageString."
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   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
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   218
! !
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   219
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   220
!HGSourceCodeManager class methodsFor:'basic administration'!
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   221
750
8bb4e77c25c4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 716
diff changeset
   222
checkForExistingContainer:fileName inModule:moduleName directory:packageDirName
8bb4e77c25c4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 716
diff changeset
   223
    "check for a container to exist. Return a boolean result."
84
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   224
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   225
    ^ self shouldImplement
750
8bb4e77c25c4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 716
diff changeset
   226
8bb4e77c25c4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 716
diff changeset
   227
    "Modified (format): / 24-02-2017 / 11:32:18 / cg"
84
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   228
!
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   229
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   230
checkForExistingModule:moduleName
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   231
    "check for a module directory to be present"
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   232
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   233
    ^ self shouldImplement
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   234
!
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   235
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   236
checkForExistingModule:moduleDir directory:packageDir
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   237
    "check for a package directory to be present"
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   238
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   239
    ^ self shouldImplement
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   240
!
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   241
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   242
createContainerFor:aClass inModule:moduleName directory:dirName container:fileName
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   243
    "create a new container & check into it an initial version of aClass"
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   244
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   245
    ^ self shouldImplement
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   246
!
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   247
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   248
createModule:moduleName
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   249
    "create a new module directory"
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   250
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   251
    ^ self shouldImplement
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   252
!
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   253
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   254
createModule:module directory:directory
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   255
    "create a new package directory"
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   256
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   257
    ^ self shouldImplement
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   258
!
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   259
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   260
initialRevisionStringFor:aClass inModule:moduleDir directory:packageDir container:fileName
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   261
    "return a string usable as initial revision string"
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   262
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   263
    ^ self shouldImplement
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   264
!
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   265
503
14d868f983a9 Reverted to 1.2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 502
diff changeset
   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
c250ea56603a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 589
diff changeset
   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
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   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
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   362
! !
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   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
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   478
!HGSourceCodeManager class methodsFor:'source code administration'!
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   479
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   480
getExistingContainersInModule:aModule directory:aPackage
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   481
    "{ Pragma: +optSpace }"
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   482
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   483
    ^ self shouldImplement
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   484
!
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   485
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   486
getExistingDirectoriesInModule:aModule
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   487
    "{ Pragma: +optSpace }"
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   488
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   489
    ^ self shouldImplement
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   490
!
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   491
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   492
getExistingModules
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   493
    "{ Pragma: +optSpace }"
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   494
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   495
    ^ self shouldImplement
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   496
!
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   497
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   498
removeContainer:container inModule:module directory:directory
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   499
    "remove a container"
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   500
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   501
    ^ self shouldImplement
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   502
!
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   503
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   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
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   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
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   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
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   594
! !
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   595
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   596
!HGSourceCodeManager class methodsFor:'subclass responsibility'!
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   597
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   598
reportHistoryLogSince:timeGoal filterSTSources:filter filterUser:userFilter filterRepository:repositoryFilter filterModules:moduleFilter inTo:aBlock
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   599
    "superclass AbstractSourceCodeManager class says that I am responsible to implement this method"
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   600
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   601
    ^ self shouldImplement
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   602
! !
76c669414145 Added HGVersionInfo.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 54
diff changeset
   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
1d6ccf38d250 initial checkin
Claus Gittinger <cg@exept.de>
parents: 511
diff changeset
   606
version
1d6ccf38d250 initial checkin
Claus Gittinger <cg@exept.de>
parents: 511
diff changeset
   607
    ^ '$Header$'
1d6ccf38d250 initial checkin
Claus Gittinger <cg@exept.de>
parents: 511
diff changeset
   608
!
1d6ccf38d250 initial checkin
Claus Gittinger <cg@exept.de>
parents: 511
diff changeset
   609
1d6ccf38d250 initial checkin
Claus Gittinger <cg@exept.de>
parents: 511
diff changeset
   610
version_CVS
589
8a3d5917dfa0 Fix version_CVS
Stefan Vogel <sv@exept.de>
parents: 560
diff changeset
   611
    ^ '$Header$'
560
1d6ccf38d250 initial checkin
Claus Gittinger <cg@exept.de>
parents: 511
diff changeset
   612
!
1d6ccf38d250 initial checkin
Claus Gittinger <cg@exept.de>
parents: 511
diff changeset
   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
1d6ccf38d250 initial checkin
Claus Gittinger <cg@exept.de>
parents: 511
diff changeset
   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