SVN__RepositoryManager.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sat, 01 Oct 2011 13:16:52 +0200
changeset 856 543368db7673
parent 793 c5be702c9fa0
child 938 76355000d9f1
permissions -rw-r--r--
checkin to get version methods correct
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
     1
"
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
     2
 Copyright (c) 2007-2010 Jan Vrany
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
     3
 Copyright (c) 2009-2010 eXept Software AG
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
     4
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
     5
 Permission is hereby granted, free of charge, to any person
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
     6
 obtaining a copy of this software and associated documentation
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
     7
 files (the 'Software'), to deal in the Software without
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
     8
 restriction, including without limitation the rights to use,
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
     9
 copy, modify, merge, publish, distribute, sublicense, and/or sell
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    10
 copies of the Software, and to permit persons to whom the
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    11
 Software is furnished to do so, subject to the following
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    12
 conditions:
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    13
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    14
 The above copyright notice and this permission notice shall be
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    15
 included in all copies or substantial portions of the Software.
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    16
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    17
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    18
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    19
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    20
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    21
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    22
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    23
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    24
 OTHER DEALINGS IN THE SOFTWARE.
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    25
"
399
edb75480eae5 *** empty log message ***
fm
parents: 345
diff changeset
    26
"{ Package: 'stx:libsvn' }"
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    27
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    28
"{ NameSpace: SVN }"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    29
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    30
Object subclass:#RepositoryManager
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    31
	instanceVariableNames:'configurations repositories workingCopyBase'
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    32
	classVariableNames:'Current WorkingCopyBase'
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    33
	poolDictionaries:''
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    34
	category:'SVN-Core'
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    35
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    36
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    37
!RepositoryManager class methodsFor:'documentation'!
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    38
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    39
copyright
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    40
"
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    41
 Copyright (c) 2007-2010 Jan Vrany
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    42
 Copyright (c) 2009-2010 eXept Software AG
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    43
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    44
 Permission is hereby granted, free of charge, to any person
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    45
 obtaining a copy of this software and associated documentation
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    46
 files (the 'Software'), to deal in the Software without
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    47
 restriction, including without limitation the rights to use,
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    48
 copy, modify, merge, publish, distribute, sublicense, and/or sell
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    49
 copies of the Software, and to permit persons to whom the
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    50
 Software is furnished to do so, subject to the following
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    51
 conditions:
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    52
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    53
 The above copyright notice and this permission notice shall be
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    54
 included in all copies or substantial portions of the Software.
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    55
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    56
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    57
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    58
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    59
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    60
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    61
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    62
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    63
 OTHER DEALINGS IN THE SOFTWARE.
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    64
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    65
"
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
    66
! !
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    67
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    68
!RepositoryManager class methodsFor:'instance creation'!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    69
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    70
new
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    71
    ^ self basicNew initialize.
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    72
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    73
    "Created: / 16-03-2008 / 11:53:21 / janfrog"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    74
! !
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    75
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    76
!RepositoryManager class methodsFor:'accessing'!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    77
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    78
current
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    79
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    80
    Current ifNil:
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    81
        [Current := self new].
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    82
    ^Current
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    83
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    84
    "Created: / 16-03-2008 / 11:52:11 / janfrog"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    85
    "Modified: / 07-06-2008 / 22:23:46 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    86
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    87
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    88
disable
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    89
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    90
    self enabled: false
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    91
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    92
    "Created: / 20-04-2008 / 09:19:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    93
    "Modified: / 07-06-2008 / 22:30:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    94
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    95
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    96
enable
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    97
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    98
    self enabled: true
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
    99
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   100
    "Created: / 20-04-2008 / 09:21:29 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   101
    "Modified: / 07-06-2008 / 22:30:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   102
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   103
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   104
enabled
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   105
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   106
    ^UserPreferences current svnEnabled
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   107
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   108
    "Created: / 20-04-2008 / 09:27:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   109
    "Modified: / 03-10-2008 / 11:28:42 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   110
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   111
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   112
enabled: aBoolean
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   113
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   114
    UserPreferences current svnEnabled: aBoolean.
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   115
    self changed:#enabled
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   116
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   117
    "Created: / 20-04-2008 / 09:18:46 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   118
    "Modified: / 03-10-2008 / 11:28:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   119
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   120
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   121
hasRepositoryForPackage: package
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   122
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   123
    self enabled ifFalse:[^false].
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   124
    ^self current hasRepositoryForPackage: package
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   125
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   126
    "Created: / 19-04-2008 / 10:04:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   127
    "Modified: / 07-06-2008 / 22:28:15 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   128
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   129
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   130
repositoryForPackage: package
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   131
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   132
    ^self repositoryForPackage: package onlyFromCache: false
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   133
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   134
    "Created: / 25-05-2009 / 19:48:22 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   135
    "Modified: / 16-08-2009 / 18:42:45 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   136
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   137
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   138
repositoryForPackage: package onlyFromCache: aBoolean
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   139
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   140
    self enabled ifFalse:[^nil].
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   141
    ^self current repositoryForPackage: package onlyFromCache: aBoolean
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   142
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   143
    "Created: / 16-08-2009 / 18:41:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   144
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   145
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   146
repositoryUrlForPackage: package
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   147
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   148
    self enabled ifFalse:[^nil].
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   149
    ^self current repositoryUrlForPackage: package
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   150
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   151
    "Created: / 25-05-2009 / 19:48:22 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   152
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   153
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   154
reset
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   155
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   156
    self current reset.
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   157
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   158
    "Created: / 31-03-2008 / 10:55:10 / janfrog"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   159
    "Modified: / 20-03-2009 / 10:44:31 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   160
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   161
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   162
workingCopyForPackage: package
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   163
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   164
    | repo |
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   165
    ^(repo := self repositoryForPackage: package)
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   166
        ifNil:[nil]
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   167
        ifNotNil:[repo workingCopy]
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   168
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   169
    "Created: / 13-08-2009 / 15:08:38 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   170
! !
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   171
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   172
!RepositoryManager class methodsFor:'others'!
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   173
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   174
version_CVS
856
543368db7673 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 793
diff changeset
   175
    ^ '$Header$'
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   176
! !
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   177
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   178
!RepositoryManager methodsFor:'accessing'!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   179
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   180
configurationForPackage: package
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   181
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   182
    ^self configurations
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   183
        detect: [:cfg|cfg matchesPackage: package]
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   184
        ifNone: [nil]
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   185
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   186
    "Created: / 03-10-2008 / 15:38:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   187
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   188
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   189
configurations
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   190
    configurations ifNil:
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   191
        [configurations := UserPreferences current svnConfigurations].
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   192
    ^configurations ? #()
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   193
 
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   194
    "Created: / 26-05-2008 / 10:47:34 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   195
    "Modified: / 03-10-2008 / 13:11:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   196
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   197
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   198
configurations: anObject
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   199
    configurations := anObject
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   200
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   201
    "Created: / 03-10-2008 / 13:10:03 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   202
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   203
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   204
repositories 
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   205
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   206
    ^repositories values collect:[:repo|repo value] thenSelect:[:repo|repo notNil].
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   207
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   208
    "Created: / 24-03-2010 / 22:24:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   209
!
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   210
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   211
repositoryForPackage:package 
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   212
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   213
    ^self repositoryForPackage:package onlyFromCache: false
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   214
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   215
    "Modified: / 16-08-2009 / 18:44:11 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   216
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   217
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   218
repositoryForPackage:package onlyFromCache: onlyFromCache 
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   219
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   220
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   221
    "There is no repository for no project, by definition"
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   222
    package = PackageId noProjectID ifTrue:[ ^nil ].
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   223
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   224
    ^onlyFromCache 
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   225
        ifTrue:
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   226
            [repositories at:package ifAbsent:[nil]]
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   227
        ifFalse:
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   228
            [repositories 
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   229
                at:package 
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   230
                ifAbsentPut:
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   231
                    (MessageSend 
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   232
                        receiver: self 
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   233
                        selector: #basicRepositoryForPackage: 
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   234
                        argument: package)]
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   235
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   236
    "Modified: / 01-04-2008 / 19:08:35 / janfrog"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   237
    "Created: / 16-08-2009 / 18:43:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   238
    "Modified: / 19-08-2009 / 13:07:45 / Jan Vrany <vranyj1@fel.cvut.cz>"
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   239
    "Modified: / 06-04-2010 / 11:15:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   240
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   241
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   242
repositoryUrlForPackage:package 
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   243
    | repo |
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   244
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   245
    repo := repositories at:package ifAbsent:[ nil ].
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   246
    repo ifNotNil:[ ^ repo url ].
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   247
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   248
    SVN::Configuration isLoaded ifFalse:[^nil]."JV: hack for loading issue"
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   249
    repo := SVN::Configuration current repositoryFor: package.
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   250
    repo ifNil:[^nil].
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   251
    repo exists ifFalse:[^nil].
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   252
    repo manager: self.                        
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   253
    ^ repo url
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   254
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   255
    "Modified: / 01-04-2008 / 19:08:35 / janfrog"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   256
    "Created: / 25-05-2009 / 19:48:09 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   257
    "Modified: / 16-08-2009 / 16:56:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   258
    "Modified: / 25-06-2010 / 17:19:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   259
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   260
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   261
urlBase:aString 
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   262
    |repoConf|
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   263
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   264
    repoConf := self configurations 
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   265
                detect:[:conf | conf packagePattern = '*' ]
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   266
                ifNone:[
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   267
                    self configurations add:(RepositoryConfiguration new packagePattern:'*')
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   268
                ].
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   269
    repoConf urlPattern:aString , '/%p'
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   270
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   271
    "
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   272
        SVN::RepositoryManager current urlBase:
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   273
            'http://smalltalk.felk.cvut.cz/svn'"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   274
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   275
    "Created: / 16-03-2008 / 12:09:21 / janfrog"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   276
    "Modified: / 03-10-2008 / 13:10:03 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   277
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   278
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   279
workingCopyBase
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   280
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   281
    workingCopyBase ifNil:
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   282
        [WorkingCopyBase ~= nil ifTrue:[
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   283
            workingCopyBase := WorkingCopyBase
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   284
        ] ifFalse: [
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   285
            workingCopyBase := (Filename homeDirectory / '.smalltalk' / 'working-copy'
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   286
                                    / UUID genUUID printString) asString.
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   287
        ]].
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   288
    (Smalltalk packagePath last = workingCopyBase)
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   289
        ifFalse:
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   290
            [Smalltalk packagePath remove: workingCopyBase ifAbsent:[].
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   291
            Smalltalk packagePath addLast: workingCopyBase].
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   292
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   293
    ^ workingCopyBase
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   294
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   295
    "Created: / 16-03-2008 / 12:09:21 / janfrog"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   296
    "Modified: / 10-04-2008 / 13:25:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   297
    "Modified: / 07-07-2011 / 20:24:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   298
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   299
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   300
workingCopyBase:aString
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   301
    workingCopyBase := aString.
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   302
    self changed:#workingCopyBase
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   303
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   304
    "Created: / 16-03-2008 / 12:09:21 / janfrog"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   305
    "Modified: / 26-05-2008 / 10:34:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   306
! !
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   307
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   308
!RepositoryManager methodsFor:'accessing - private'!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   309
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   310
workingCopyForPackage: package
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   311
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   312
    ^self 
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   313
        workingCopyForPackage: package
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   314
        in: (self workingCopyBase , '/' , (package asString copy replaceAll:$: with:$/))
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   315
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   316
    "Created: / 16-03-2008 / 12:09:02 / janfrog"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   317
    "Modified: / 31-03-2008 / 12:58:44 / janfrog"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   318
    "Modified: / 11-04-2008 / 10:48:36 / Jan Vrany <vranyj1@fel.cvut.cz>"
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   319
    "Modified: / 10-04-2010 / 12:38:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   320
!
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   321
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   322
workingCopyForPackage: package in: directory
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   323
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   324
    ^WorkingCopy new path: directory
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   325
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   326
    "Modified: / 31-03-2008 / 12:58:44 / janfrog"
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   327
    "Modified: / 11-04-2008 / 10:48:36 / Jan Vrany <vranyj1@fel.cvut.cz>"
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   328
    "Created: / 10-04-2010 / 12:37:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   329
! !
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   330
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   331
!RepositoryManager methodsFor:'initialization'!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   332
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   333
initialize
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   334
    "Invoked when a new instance is created."
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   335
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   336
    "/ please change as required (and remove this comment)
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   337
    "/ baseUrl := nil.
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   338
    repositories := Cache new.
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   339
    Smalltalk addDependent: self.
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   340
    Smalltalk addExitBlock:(MessageSend receiver: self selector: #aboutToQuit).
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   341
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   342
    "/ super initialize.   -- commented since inherited method does nothing
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   343
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   344
    "Created: / 16-03-2008 / 11:53:21 / janfrog"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   345
    "Modified: / 31-03-2008 / 10:54:28 / janfrog"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   346
    "Modified: / 16-06-2009 / 12:39:26 / Jan Vrany <vranyj1@fel.cvut.cz>"
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   347
    "Modified: / 22-12-2009 / 20:20:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   348
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   349
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   350
reset
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   351
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   352
    repositories := Cache new.
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   353
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   354
    "Created: / 10-04-2008 / 12:41:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   355
    "Modified: / 22-12-2009 / 20:23:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   356
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   357
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   358
resetConfigurations
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   359
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   360
    configurations := nil
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   361
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   362
    "Created: / 25-05-2009 / 18:59:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   363
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   364
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   365
resetForPackage: packageId
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   366
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   367
    repositories removeKey: packageId ifAbsent:[]
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   368
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   369
    "Created: / 08-04-2009 / 22:37:46 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   370
! !
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   371
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   372
!RepositoryManager methodsFor:'private'!
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   373
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   374
basicRepositoryForPackage:package 
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   375
    | repo |
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   376
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   377
    "There is no repository for no project, by definition"
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   378
    package = PackageId noProjectID ifTrue:[ ^nil ].
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   379
    "/Old Config Scheme
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   380
    "
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   381
    repo ifNotNil:[ ^ repo ].
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   382
    cfg := self configurationForPackage: package.
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   383
    cfg ifNotNil:
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   384
        [repo := (Repository new)
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   385
                    manager: self;
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   386
                    url:(cfg urlForPackage:package);
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   387
                    package:package].
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   388
    repo ifNil:[ ^ nil ].
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   389
    "
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   390
    "/New Config Scheme
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   391
        SVN::Configuration isLoaded ifFalse:[^nil]."JV: hack for loading issue"
793
c5be702c9fa0 initial checkin
Claus Gittinger <cg@exept.de>
parents: 694
diff changeset
   392
    SVN::Configuration current isNil ifTrue:[^ nil].
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   393
    repo := SVN::Configuration current repositoryFor: package.
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   394
    repo ifNil:[^nil].
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   395
    repo exists ifFalse:[^nil].
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   396
    repo manager: self.                        
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   397
    ^ repo
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   398
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   399
    "Modified: / 01-04-2008 / 19:08:35 / janfrog"
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   400
    "Created: / 16-08-2009 / 18:43:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   401
    "Modified: / 19-08-2009 / 13:07:45 / Jan Vrany <vranyj1@fel.cvut.cz>"
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   402
    "Modified: / 10-04-2010 / 18:27:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
793
c5be702c9fa0 initial checkin
Claus Gittinger <cg@exept.de>
parents: 694
diff changeset
   403
    "Modified: / 23-08-2011 / 18:38:53 / cg"
694
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   404
! !
e4a1c3265ff5 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 399
diff changeset
   405
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   406
!RepositoryManager methodsFor:'queries'!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   407
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   408
hasRepositoryForPackage: package
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   409
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   410
    ^(self repositoryForPackage: package) notNil
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   411
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   412
    "Created: / 31-03-2008 / 15:11:23 / janfrog"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   413
! !
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   414
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   415
!RepositoryManager methodsFor:'updating'!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   416
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   417
aboutToQuit
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   418
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   419
    "
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   420
     This is send by Smalltalk before the virtual machine
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   421
     terminates. If there is no image, removes working copy.
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   422
    "
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   423
125
3baffe7212b9 changed: #aboutToQuit
fm
parents: 123
diff changeset
   424
    workingCopyBase isNil ifTrue: [^self].
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   425
    workingCopyBase asFilename exists ifFalse:[^self].
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   426
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   427
    ObjectMemory imageName  
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   428
        ifNil:
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   429
            ["Windows hack..."
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   430
            [workingCopyBase asFilename recursiveRemove]
123
0d6389e1ce93 changed: #aboutToQuit
fm
parents: 44
diff changeset
   431
                on:Smalltalk::Error do:
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   432
                    [Delay waitForMilliseconds: 20.
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   433
                    [workingCopyBase asFilename recursiveRemove]
123
0d6389e1ce93 changed: #aboutToQuit
fm
parents: 44
diff changeset
   434
                        on:Smalltalk::Error do:
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   435
                            [Delay waitForMilliseconds: 40.
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   436
                            [workingCopyBase asFilename recursiveRemove]
123
0d6389e1ce93 changed: #aboutToQuit
fm
parents: 44
diff changeset
   437
                                on:Smalltalk::Error do:["nothing"]]]]
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   438
        ifNotNil:
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   439
            [| imagesStream |
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   440
            [imagesStream := (workingCopyBase asFilename / 'images.txt') appendStream.
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   441
            imagesStream nextPutLine: ObjectMemory imageName printString]
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   442
                ensure:[imagesStream ifNotNil:[imagesStream close]]]
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   443
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   444
    "Created: / 16-06-2009 / 13:36:21 / Jan Vrany <vranyj1@fel.cvut.cz>"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   445
    "Modified: / 16-07-2009 / 13:54:04 / Jan Vrany <vranyj1@fel.cvut.cz>"
123
0d6389e1ce93 changed: #aboutToQuit
fm
parents: 44
diff changeset
   446
    "Modified: / 22-09-2009 / 15:55:57 / Felix Madrid <fm@exept.de>"
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   447
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   448
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   449
class: class renamedFrom: oldName to: newName
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   450
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   451
    "Created: / 31-03-2008 / 11:06:11 / janfrog"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   452
!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   453
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   454
update: aspect with: param from: sender
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   455
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   456
    (aspect = #classRename)
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   457
        ifTrue:[self class: param first renamedFrom: param second to: param first fullName]
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   458
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   459
    "Created: / 31-03-2008 / 10:54:55 / janfrog"
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   460
! !
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   461
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   462
!RepositoryManager class methodsFor:'documentation'!
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   463
856
543368db7673 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 793
diff changeset
   464
version
543368db7673 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 793
diff changeset
   465
    ^ '$Header$'
543368db7673 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 793
diff changeset
   466
!
543368db7673 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 793
diff changeset
   467
146
897448c47b51 changed: #version_SVN
fm
parents: 125
diff changeset
   468
version_SVN
856
543368db7673 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 793
diff changeset
   469
    ^ '§Id: SVN__RepositoryManager.st 362 2011-08-08 13:07:42Z vranyj1 §'
44
ff3ea1febe73 initial checkin
fm
parents:
diff changeset
   470
! !