SVNSourceCodeManager.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 08 Aug 2011 14:39:03 +0200
changeset 665 2c5308a73c17
parent 587 02d7ed119335
child 797 48f8701af829
permissions -rw-r--r--
Updates from SVN
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
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    29
	instanceVariableNames:''
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    30
	classVariableNames:'LoadInProgressQuery'
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    31
	poolDictionaries:''
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
    32
	category:'System-SourceCodeManagement'
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:'* As yet uncategorized *'!
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
revisionInfoFromString:aString inClass:aClass
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
    ^ CVSSourceCodeManager revisionInfoFromString:aString inClass:aClass
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    81
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    82
    "Created: / 05-07-2011 / 18:48:42 / jv"
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
savePreferencesOn:aFileStream
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
    "Nothing to do, since my preferences are stored in 
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    88
    UserPreferences dictionary"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    89
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    90
    "Created: / 10-06-2011 / 14:15:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    91
! !
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
!SVNSourceCodeManager class methodsFor:'Signal constants'!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    94
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    95
loadInProgressQuery
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    96
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    97
    LoadInProgressQuery ifNil:
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    98
        [LoadInProgressQuery := QuerySignal new].
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
    99
    ^LoadInProgressQuery
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   100
! !
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   101
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   102
!SVNSourceCodeManager class methodsFor:'basic access'!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   103
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   104
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
   105
    "checkin of a class into the source repository.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   106
     Return true if ok, false if not."
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   107
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   108
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   109
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   110
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   111
checkoutModule:aModule directory:aPackage andDo:aBlock
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   112
    "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
   113
     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
   114
     Afterwards, the tempDir is removed.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   115
     Return true, if OK, false if any error occurred."
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   116
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   117
    | pkg tempDir repo workingCopy ok |
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   118
    pkg := (PackageId module: aModule directory: aPackage) asSymbol.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   119
    repo := SVN::RepositoryManager repositoryForPackage: pkg.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   120
    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
   121
    [ok := false.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   122
    tempDir := Filename newTemporaryDirectory.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   123
    workingCopy := repo workingCopyIn: tempDir.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   124
    workingCopy checkout.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   125
    ok := true.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   126
    aBlock value: tempDir] ensure:
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   127
        [[tempDir recursiveRemove]
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   128
            on: Error do:
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   129
                [:ex|
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   130
                OperatingSystem isMSWINDOWSlike 
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   131
                    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
   132
                    ifFalse:[ex pass]]].
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   133
    ^ok
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   134
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   135
    "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
   136
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   137
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   138
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
   139
    "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
   140
     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
   141
     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
   142
     which itself is extracted from the classes packageString."
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
    | pkg repo rev |
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   145
    pkg := moduleDir , ':' , packageDir.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   146
    repo := SVN::RepositoryManager repositoryForPackage: pkg.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   147
    repo ifNil:[^self error:'No repository for package ', pkg].
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   148
    rev := SVN::Revision fromString: revisionString.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   149
    ^(repo cat: classFileName revision: rev) readStream
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
    "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
   152
! !
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
!SVNSourceCodeManager class methodsFor:'basic administration'!
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
checkForExistingContainer:fileName inModule:moduleName directory:dirName
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   157
    "check for a container to be present"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   158
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   159
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   160
!
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
checkForExistingModule:moduleName
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   163
    "check for a module directory to be present"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   164
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   165
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   166
!
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
checkForExistingModule:moduleDir directory:packageDir
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   169
    "check for a package directory to be present"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   170
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   171
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   172
!
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
createContainerFor:aClass inModule:moduleName directory:dirName container:fileName
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   175
    "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
   176
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   177
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   178
!
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
createModule:moduleName
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   181
    "create a new module directory"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   182
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   183
    ^ self shouldImplement
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
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   186
createModule:module directory:directory
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   187
    "create a new package directory"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   188
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   189
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   190
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   191
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   192
initialRevisionStringFor:aClass inModule:moduleDir directory:packageDir container:fileName
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   193
    "return a string usable as initial revision string"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   194
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   195
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   196
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   197
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   198
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
   199
    "actually do return a revisionLog. The main worker method.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   200
     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
   201
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   202
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   203
! !
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   204
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   205
!SVNSourceCodeManager class methodsFor:'others'!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   206
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   207
version_CVS
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   208
    ^ '$ÂHeader: /cvs/stx/stx/libsvn/SVNSourceCodeManager.st,v 1.5 2009/10/20 09:55:53 fm Exp Â$'
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
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   211
!SVNSourceCodeManager class methodsFor:'queries'!
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   212
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   213
isExperimental
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   214
    ^ false
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   215
    "/^ OperatingSystem getLoginName ~= 'cg'.
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   216
    "/^ true
570
8261f01a7e7d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 541
diff changeset
   217
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   218
    "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
   219
!
8261f01a7e7d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 541
diff changeset
   220
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   221
isResponsibleForPackage: packageId
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   222
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   223
    UserPreferences current svnEnabled ifFalse:[^false].
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   224
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   225
    ^SVN::RepositoryManager current hasRepositoryForPackage: packageId
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   226
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   227
    "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
   228
    "Modified: / 15-09-2010 / 14:55:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   229
!
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   230
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   231
managerTypeName
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   232
    ^ 'SubVersion'
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   233
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   234
    "Modified: / 07-07-2011 / 23:11:41 / jv"
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   235
!
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   236
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   237
nameOfVersionMethodForExtensions
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   238
    ^ #'extensionsVersion_SVN'
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   239
!
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   240
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   241
nameOfVersionMethodInClasses
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   242
    ^ #'version_SVN'
586
8f0468063710 added: #settingsApplicationClass
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
   243
!
8f0468063710 added: #settingsApplicationClass
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
   244
8f0468063710 added: #settingsApplicationClass
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
   245
settingsApplicationClass
587
02d7ed119335 added: #settingsApplicationClass
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
   246
    "link to my settings application (needed for the settings dialog"
02d7ed119335 added: #settingsApplicationClass
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
   247
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   248
    ^ SVN::ConfigurationApp
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
    "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
   251
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   252
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   253
versionMethodTemplateForRubyFor:aSelector
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   254
    ^
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   255
'def self.',aSelector,'()
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   256
    return "$' , 'Id' , '$"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   257
end'
586
8f0468063710 added: #settingsApplicationClass
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
   258
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   259
    "Modified: / 23-11-2009 / 18:02:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   260
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   261
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   262
versionMethodTemplateForSmalltalkFor:aSelector
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   263
    ^
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   264
aSelector,'
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   265
    ^ ''$', 'Id' , '$''
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   266
'
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   267
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   268
    "Modified: / 23-11-2009 / 18:02:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   269
! !
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   270
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   271
!SVNSourceCodeManager class methodsFor:'source code access'!
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   272
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   273
loadPackageWithId: aPackageId fromRepositoryAsAutoloaded: doLoadAsAutoloaded
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   274
541
b647383ebf6b changed: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 540
diff changeset
   275
     "Return true if loaded, false otherwise."
b647383ebf6b changed: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 540
diff changeset
   276
540
3e0ea3ba33b5 changed: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 539
diff changeset
   277
    | retval loadBlock |
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   278
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   279
    loadBlock := [
540
3e0ea3ba33b5 changed: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 539
diff changeset
   280
        | repo packageDir manager|
3e0ea3ba33b5 changed: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 539
diff changeset
   281
        manager := SVN::RepositoryManager current.
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   282
        repo := manager repositoryForPackage: aPackageId.
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   283
        retval := (repo notNil and:[repo exists]) ifTrue:[
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   284
            repo workingCopy checkout: SVN::Revision head full: true.
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   285
            packageDir := Smalltalk packageDirectoryForPackageId:aPackageId.
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   286
            "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
   287
            (Smalltalk respondsTo: #loadPackage:fromDirectory:asAutoloaded:)
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   288
                ifTrue:
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   289
                    ["New API"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   290
                    Smalltalk
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   291
                        loadPackage:aPackageId
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   292
                        fromDirectory:packageDir
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   293
                        asAutoloaded:doLoadAsAutoloaded]
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   294
                ifFalse:
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   295
                    ["Old API"                        
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   296
                    Smalltalk
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   297
                        loadPackageWithId:aPackageId
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   298
                        fromDirectory:packageDir
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   299
                        asAutoloaded:doLoadAsAutoloaded
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   300
            ].            
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   301
        ] ifFalse:[false]
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   302
    ].
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   303
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   304
    (SVNSourceCodeManager loadInProgressQuery query == true)
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   305
        ifTrue:[loadBlock value]
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   306
        ifFalse:[
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   307
            SVNSourceCodeManager loadInProgressQuery 
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   308
                answer: true 
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   309
                do:[
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   310
                    SVN::ProgressDialog
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   311
                        openOn: loadBlock
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   312
                        title: ' Loading...'
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   313
                        subtitle: aPackageId asText allItalic
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   314
                ]
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   315
    ].
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   316
541
b647383ebf6b changed: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 540
diff changeset
   317
    ^ retval
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   318
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   319
    "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
   320
    "Modified: / 25-04-2011 / 15:20:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
539
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   321
! !
ad1dec5566e1 added: #loadPackageWithId:fromRepositoryAsAutoloaded:
fm
parents: 482
diff changeset
   322
571
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   323
!SVNSourceCodeManager class methodsFor:'source code administration'!
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   324
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   325
getExistingContainersInModule:aModule directory:aPackage
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   326
    "{ Pragma: +optSpace }"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   327
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   328
    ^ self shouldImplement
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
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   331
getExistingDirectoriesInModule:aModule
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   332
    "{ Pragma: +optSpace }"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   333
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   334
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   335
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   336
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   337
getExistingModules
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   338
    "{ Pragma: +optSpace }"
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   339
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   340
    ^ self shouldImplement
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   341
!
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   342
571
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   343
revisionInfoFromString:aString
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   344
    "{ Pragma: +optSpace }"
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   345
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   346
    "return a dictionary filled with revision info.
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   347
     This extracts the relevant info from aString."
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   348
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   349
    ^ self revisionInfoFromRCSString:aString
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
    "
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   352
     self revisionInfoFromString:(Array version_CVS)   
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   353
     self revisionInfoFromString:(stx_libbasic2 extensionsVersion_CVS)   
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   354
    "
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   355
28a4f762f3e8 added: #revisionInfoFromString:
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
   356
    "Modified: 29.1.1997 / 19:00:35 / cg"
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
665
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   375
version_SVN
2c5308a73c17 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 587
diff changeset
   376
    ^ '§Id§'
378
5e379f6dc369 *** empty log message ***
fm
parents:
diff changeset
   377
! !