SVNSourceCodeManager.st
author Claus Gittinger <cg@exept.de>
Sun, 04 Dec 2011 15:40:36 +0100
changeset 925 d14d4d0e3414
parent 924 a9f83be0daee
child 929 b74f9f659232
permissions -rw-r--r--
changed: #managerTypeNameShort category of:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
     1
"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
     2
 Copyright (c) 2007-2010 Jan Vrany
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
     3
 Copyright (c) 2009-2010 eXept Software AG
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
     4
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
     5
 Permission is hereby granted, free of charge, to any person
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
     6
 obtaining a copy of this software and associated documentation
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
     7
 files (the 'Software'), to deal in the Software without
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
     8
 restriction, including without limitation the rights to use,
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
     9
 copy, modify, merge, publish, distribute, sublicense, and/or sell
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    10
 copies of the Software, and to permit persons to whom the
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    11
 Software is furnished to do so, subject to the following
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    12
 conditions:
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    13
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    14
 The above copyright notice and this permission notice shall be
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    15
 included in all copies or substantial portions of the Software.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    16
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    17
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    18
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    19
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    20
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    21
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    22
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    23
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    24
 OTHER DEALINGS IN THE SOFTWARE.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    25
"
482
cd24ab77ae56 *** empty log message ***
fm
parents: 378
diff changeset
    26
"{ Package: 'stx:libsvn' }"
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    27
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    28
AbstractSourceCodeManager subclass:#SVNSourceCodeManager
924
a9f83be0daee category of: #savePreferencesOn:
Claus Gittinger <cg@exept.de>
parents: 921
diff changeset
    29
	instanceVariableNames:''
a9f83be0daee category of: #savePreferencesOn:
Claus Gittinger <cg@exept.de>
parents: 921
diff changeset
    30
	classVariableNames:'LoadInProgressQuery'
a9f83be0daee category of: #savePreferencesOn:
Claus Gittinger <cg@exept.de>
parents: 921
diff changeset
    31
	poolDictionaries:''
a9f83be0daee category of: #savePreferencesOn:
Claus Gittinger <cg@exept.de>
parents: 921
diff changeset
    32
	category:'System-SourceCodeManagement'
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    33
!
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    34
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    35
!SVNSourceCodeManager class methodsFor:'documentation'!
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    36
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    37
copyright
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    38
"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    39
 Copyright (c) 2007-2010 Jan Vrany
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    40
 Copyright (c) 2009-2010 eXept Software AG
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    41
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    42
 Permission is hereby granted, free of charge, to any person
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    43
 obtaining a copy of this software and associated documentation
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    44
 files (the 'Software'), to deal in the Software without
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    45
 restriction, including without limitation the rights to use,
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    46
 copy, modify, merge, publish, distribute, sublicense, and/or sell
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    47
 copies of the Software, and to permit persons to whom the
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    48
 Software is furnished to do so, subject to the following
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    49
 conditions:
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    50
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    51
 The above copyright notice and this permission notice shall be
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    52
 included in all copies or substantial portions of the Software.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    53
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    54
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    55
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    56
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    57
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    58
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    59
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    60
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    61
 OTHER DEALINGS IN THE SOFTWARE.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    62
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    63
"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    64
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    65
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    66
documentation
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    67
"
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    68
    For now, this is a dummy SourceCodeManager.
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    69
    It is only provided to deliver the correct versionMethodNameTemplates
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    70
    and versionMethod names.
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    71
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    72
    Might get more in the future.
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    73
"
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    74
! !
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    75
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    76
!SVNSourceCodeManager class methodsFor:'Signal constants'!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    77
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    78
loadInProgressQuery
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    79
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    80
    LoadInProgressQuery ifNil:
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    81
        [LoadInProgressQuery := QuerySignal new].
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    82
    ^LoadInProgressQuery
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    83
! !
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    84
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    85
!SVNSourceCodeManager class methodsFor:'basic access'!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    86
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    87
checkinClass:aClass fileName:classFileName directory:packageDir module:moduleDir source:sourceFile logMessage:logMessage force:force
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    88
    "checkin of a class into the source repository.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    89
     Return true if ok, false if not."
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    90
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    91
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    92
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    93
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    94
checkoutModule:aModule directory:aPackage andDo:aBlock
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    95
    "check out everything from a package into a temporary directory.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    96
     Then evaluate aBlock, passing the name of that temp-directory.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    97
     Afterwards, the tempDir is removed.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    98
     Return true, if OK, false if any error occurred."
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    99
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   100
    | pkg tempDir repo workingCopy ok |
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   101
    pkg := (PackageId module: aModule directory: aPackage) asSymbol.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   102
    repo := SVN::RepositoryManager repositoryForPackage: pkg.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   103
    repo ifNil:[self error:('No repository for package %1' bindWith: pkg)].
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   104
    [ok := false.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   105
    tempDir := Filename newTemporaryDirectory.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   106
    workingCopy := repo workingCopyIn: tempDir.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   107
    workingCopy checkout.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   108
    ok := true.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   109
    aBlock value: tempDir] ensure:
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   110
        [[tempDir recursiveRemove]
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   111
            on: Error do:
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   112
                [:ex|
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   113
                OperatingSystem isMSWINDOWSlike 
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   114
                    ifTrue:[Delay waitForSeconds: 3.[tempDir recursiveRemove] on: Error do:["nothing"]]
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   115
                    ifFalse:[ex pass]]].
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   116
    ^ok
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   117
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   118
    "Modified: / 19-04-2010 / 20:13:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   119
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   120
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   121
streamForClass:aClass fileName:classFileName revision:revisionString directory:packageDir module:moduleDir cache:doCache
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   122
    "extract a classes source code and return an open readStream on it.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   123
     A revision of nil selects the current (in image) revision.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   124
     The classes source code is extracted using the revision and the sourceCodeInfo,
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   125
     which itself is extracted from the classes packageString."
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   126
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   127
    | pkg repo rev |
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   128
    pkg := moduleDir , ':' , packageDir.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   129
    repo := SVN::RepositoryManager repositoryForPackage: pkg.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   130
    repo ifNil:[^self error:'No repository for package ', pkg].
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   131
    rev := SVN::Revision fromString: revisionString.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   132
    ^(repo cat: classFileName revision: rev) readStream
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   133
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   134
    "Modified: / 02-01-2010 / 13:25:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   135
! !
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   136
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   137
!SVNSourceCodeManager class methodsFor:'basic administration'!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   138
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   139
checkForExistingContainer:fileName inModule:moduleName directory:dirName
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   140
    "check for a container to be present"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   141
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   142
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   143
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   144
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   145
checkForExistingModule:moduleName
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   146
    "check for a module directory to be present"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   147
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   148
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   149
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   150
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   151
checkForExistingModule:moduleDir directory:packageDir
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   152
    "check for a package directory to be present"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   153
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   154
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   155
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   156
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   157
createContainerFor:aClass inModule:moduleName directory:dirName container:fileName
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   158
    "create a new container & check into it an initial version of aClass"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   159
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   160
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   161
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   162
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   163
createModule:moduleName
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   164
    "create a new module directory"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   165
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   166
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   167
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   168
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   169
createModule:module directory:directory
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   170
    "create a new package directory"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   171
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   172
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   173
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   174
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   175
initialRevisionStringFor:aClass inModule:moduleDir directory:packageDir container:fileName
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   176
    "return a string usable as initial revision string"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   177
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   178
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   179
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   180
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   181
revisionLogOf:clsOrNil fromRevision:rev1OrNil toRevision:rev2OrNil numberOfRevisions:limitOrNil fileName:classFileName directory:packageDir module:moduleDir
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   182
    "actually do return a revisionLog. The main worker method.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   183
     This must be implemented by a concrete source-code manager"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   184
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   185
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   186
! !
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   187
924
a9f83be0daee category of: #savePreferencesOn:
Claus Gittinger <cg@exept.de>
parents: 921
diff changeset
   188
!SVNSourceCodeManager class methodsFor:'misc'!
a9f83be0daee category of: #savePreferencesOn:
Claus Gittinger <cg@exept.de>
parents: 921
diff changeset
   189
a9f83be0daee category of: #savePreferencesOn:
Claus Gittinger <cg@exept.de>
parents: 921
diff changeset
   190
savePreferencesOn:aFileStream
a9f83be0daee category of: #savePreferencesOn:
Claus Gittinger <cg@exept.de>
parents: 921
diff changeset
   191
a9f83be0daee category of: #savePreferencesOn:
Claus Gittinger <cg@exept.de>
parents: 921
diff changeset
   192
    "Nothing to do, since my preferences are stored in 
a9f83be0daee category of: #savePreferencesOn:
Claus Gittinger <cg@exept.de>
parents: 921
diff changeset
   193
    UserPreferences dictionary"
a9f83be0daee category of: #savePreferencesOn:
Claus Gittinger <cg@exept.de>
parents: 921
diff changeset
   194
a9f83be0daee category of: #savePreferencesOn:
Claus Gittinger <cg@exept.de>
parents: 921
diff changeset
   195
    "Created: / 10-06-2011 / 14:15:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a9f83be0daee category of: #savePreferencesOn:
Claus Gittinger <cg@exept.de>
parents: 921
diff changeset
   196
! !
a9f83be0daee category of: #savePreferencesOn:
Claus Gittinger <cg@exept.de>
parents: 921
diff changeset
   197
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   198
!SVNSourceCodeManager class methodsFor:'queries'!
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   199
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   200
isExperimental
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   201
    ^ false
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   202
    "/^ OperatingSystem getLoginName ~= 'cg'.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   203
    "/^ true
570
8261f01a7e7d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 541
diff changeset
   204
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   205
    "Modified: / 05-12-2009 / 10:23:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
570
8261f01a7e7d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 541
diff changeset
   206
!
8261f01a7e7d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 541
diff changeset
   207
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   208
isResponsibleForPackage: packageId
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   209
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   210
    UserPreferences current svnEnabled ifFalse:[^false].
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   211
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   212
    ^SVN::RepositoryManager current hasRepositoryForPackage: packageId
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   213
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   214
    "Created: / 05-12-2009 / 10:36:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   215
    "Modified: / 15-09-2010 / 14:55:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   216
!
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   217
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   218
managerTypeName
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   219
    ^ 'SubVersion'
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   220
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   221
    "Modified: / 07-07-2011 / 23:11:41 / jv"
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   222
!
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   223
921
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   224
managerTypeNameShort
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   225
    "Answers short version manager name suitable for UI,
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   226
     i,e., CVS, SVN, P4. Used in cases where sorter strings
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   227
     are preferred. Defaults to #managerTypeName"
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   228
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   229
    ^'SVN'
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   230
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   231
    "Created: / 03-10-2011 / 13:28:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
925
d14d4d0e3414 changed: #managerTypeNameShort
Claus Gittinger <cg@exept.de>
parents: 924
diff changeset
   232
    "Modified (format): / 04-12-2011 / 10:15:36 / cg"
921
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   233
!
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   234
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   235
nameOfVersionMethodForExtensions
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   236
    ^ #'extensionsVersion_SVN'
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   237
!
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   238
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   239
nameOfVersionMethodInClasses
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   240
    ^ #'version_SVN'
586
8f0468063710 added: #settingsApplicationClass
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
   241
!
8f0468063710 added: #settingsApplicationClass
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
   242
8f0468063710 added: #settingsApplicationClass
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
   243
settingsApplicationClass
587
02d7ed119335 added: #settingsApplicationClass
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
   244
    "link to my settings application (needed for the settings dialog"
02d7ed119335 added: #settingsApplicationClass
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
   245
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   246
    ^ SVN::ConfigurationApp
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   247
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   248
    "Modified: / 07-07-2011 / 23:12:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   249
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   250
851
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   251
versionMethodKeyword
586
8f0468063710 added: #settingsApplicationClass
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
   252
851
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   253
    "Answers the keyword used by the version management system to
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   254
     expand a current version in a file (_without_ dollars). For
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   255
     CVS it is 'Header', for SVN 'Id', others may use different
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   256
     keywords. If nil is returned, then the version management does
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   257
     not use any keyword."
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   258
851
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   259
    ^'Id'
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   260
851
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   261
    "Created: / 27-09-2011 / 16:46:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   262
! !
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   263
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   264
!SVNSourceCodeManager class methodsFor:'source code access'!
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   265
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   266
loadPackageWithId: aPackageId fromRepositoryAsAutoloaded: doLoadAsAutoloaded
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   267
541
b647383ebf6b changed: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 540
diff changeset
   268
     "Return true if loaded, false otherwise."
b647383ebf6b changed: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 540
diff changeset
   269
540
3e0ea3ba33b5 changed: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 539
diff changeset
   270
    | retval loadBlock |
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   271
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   272
    loadBlock := [
540
3e0ea3ba33b5 changed: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 539
diff changeset
   273
        | repo packageDir manager|
3e0ea3ba33b5 changed: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 539
diff changeset
   274
        manager := SVN::RepositoryManager current.
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   275
        repo := manager repositoryForPackage: aPackageId.
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   276
        retval := (repo notNil and:[repo exists]) ifTrue:[
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   277
            repo workingCopy checkout: SVN::Revision head full: true.
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   278
            packageDir := Smalltalk packageDirectoryForPackageId:aPackageId.
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   279
            "Quick and dirty hack to support old version of Smalltalk/X"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   280
            (Smalltalk respondsTo: #loadPackage:fromDirectory:asAutoloaded:)
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   281
                ifTrue:
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   282
                    ["New API"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   283
                    Smalltalk
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   284
                        loadPackage:aPackageId
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   285
                        fromDirectory:packageDir
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   286
                        asAutoloaded:doLoadAsAutoloaded]
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   287
                ifFalse:
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   288
                    ["Old API"                        
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   289
                    Smalltalk
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   290
                        loadPackageWithId:aPackageId
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   291
                        fromDirectory:packageDir
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   292
                        asAutoloaded:doLoadAsAutoloaded
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   293
            ].            
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   294
        ] ifFalse:[false]
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   295
    ].
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   296
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   297
    (SVNSourceCodeManager loadInProgressQuery query == true)
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   298
        ifTrue:[loadBlock value]
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   299
        ifFalse:[
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   300
            SVNSourceCodeManager loadInProgressQuery 
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   301
                answer: true 
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   302
                do:[
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   303
                    SVN::ProgressDialog
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   304
                        openOn: loadBlock
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   305
                        title: ' Loading...'
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   306
                        subtitle: aPackageId asText allItalic
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   307
                ]
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   308
    ].
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   309
541
b647383ebf6b changed: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 540
diff changeset
   310
    ^ retval
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   311
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   312
    "Created: / 09-04-2009 / 17:20:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   313
    "Modified: / 25-04-2011 / 15:20:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   314
! !
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   315
571
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   316
!SVNSourceCodeManager class methodsFor:'source code administration'!
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   317
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   318
getExistingContainersInModule:aModule directory:aPackage
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   319
    "{ Pragma: +optSpace }"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   320
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   321
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   322
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   323
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   324
getExistingDirectoriesInModule:aModule
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   325
    "{ Pragma: +optSpace }"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   326
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   327
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   328
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   329
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   330
getExistingModules
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   331
    "{ Pragma: +optSpace }"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   332
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   333
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   334
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   335
571
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   336
revisionInfoFromString:aString
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   337
    "{ Pragma: +optSpace }"
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   338
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   339
    "return a dictionary filled with revision info.
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   340
     This extracts the relevant info from aString."
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   341
921
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   342
797
48f8701af829 changed: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
   343
    ^ SVNVersionInfo fromSVNString:aString
571
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   344
921
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   345
571
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   346
    "
797
48f8701af829 changed: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
   347
     self revisionInfoFromString:(Array version_SVN)   
921
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   348
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   349
     self revisionInfoFromString:(stx_libbasic2 extensionsVersion_CVS)   
571
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   350
    "
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   351
921
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   352
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   353
    "Modified: / 29-01-1997 / 19:00:35 / cg"
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   354
    "Modified: / 03-10-2011 / 13:02:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
797
48f8701af829 changed: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
   355
    "Modified (comment): / 29-09-2011 / 21:54:26 / cg"
921
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   356
571
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   357
! !
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   358
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   359
!SVNSourceCodeManager class methodsFor:'subclass responsibility'!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   360
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   361
reportHistoryLogSince:timeGoal filterSTSources:filter filterUser:userFilter filterRepository:repositoryFilter filterModules:moduleFilter inTo:aBlock
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   362
    "superclass AbstractSourceCodeManager class says that I am responsible to implement this method"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   363
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   364
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   365
! !
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   366
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   367
!SVNSourceCodeManager class methodsFor:'testing'!
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   368
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   369
isSVN
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   370
    ^ true
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   371
! !
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   372
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   373
!SVNSourceCodeManager class methodsFor:'documentation'!
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   374
851
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   375
version
921
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   376
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   377
    ^ '$Header$'
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   378
!
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   379
6c3ba44ed3a5 added: #managerTypeNameShort
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 851
diff changeset
   380
version_CVS
851
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   381
    ^ '$Header$'
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   382
!
32edde5d1f19 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 797
diff changeset
   383
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   384
version_SVN
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   385
    ^ '§Id§'
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   386
! !