"{ Package: 'stx:libsvn' }"
"{ NameSpace: SVN }"
Object subclass:#RepositoryConfiguration
instanceVariableNames:'package url'
classVariableNames:''
poolDictionaries:''
category:'SVN-Core'
!
!RepositoryConfiguration class methodsFor:'instance creation'!
package: package url: url
^self new
package: package;
url: url
"Created: / 19-08-2009 / 12:17:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!RepositoryConfiguration methodsFor:'accessing'!
package
^ package
!
package:aString
package := aString.
!
packagePattern: aString
<resource: #obsolete>
self package: aString
"Created: / 16-08-2009 / 16:59:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
url
^ url
!
url: aStringOrUrl
| givenUrl |
givenUrl := aStringOrUrl asURL.
givenUrl isValidSvnRepositoryUrl ifTrue:[
url := givenUrl.
] ifFalse: [
self error: 'Invalid repository URL' mayProceed:true.
url := nil.
].
"Modified: / 16-08-2009 / 16:42:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
urlForPackage: pkg
| packageAsPath |
packageAsPath := pkg asString copy replaceAll:$: with:$/.
^url asString expandPlaceholdersWith:
(Dictionary new
at: 'p' put: packageAsPath;
yourself)
"Created: / 16-08-2009 / 16:56:22 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
urlPattern: aString
<resource: #obsolete>
self url: aString
"Created: / 16-08-2009 / 16:59:45 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
urlString
url isNil ifTrue: [^''].
^ url urlPrintString
"Created: / 16-08-2009 / 17:28:44 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!RepositoryConfiguration methodsFor:'comparing'!
= anotherConf
^self class == anotherConf class
and:[package = anotherConf package
and:[url = anotherConf url]].
"Created: / 25-05-2009 / 18:54:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
"Modified: / 16-08-2009 / 17:24:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
hash
^package hash bitXor:
url hash
"Created: / 25-05-2009 / 18:53:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!RepositoryConfiguration methodsFor:'converting'!
literalArrayEncoding
^Array
with: self class name
with: #package:
with: package literalArrayEncoding
with: #url:
with: url asString.
"
(SVN::RepositoryConfiguration package:'stx:goodies/libsvn' url: 'http://smalltalk.felk.cvut.cz/svn/stx/goodies/libsvn')
literalArrayEncoding
decodeAsLiteralArray
"
"Created: / 19-08-2009 / 21:56:21 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!RepositoryConfiguration methodsFor:'printing & storing'!
printOn:aStream
"append a printed representation if the receiver to the argument, aStream"
self class storeOn:aStream.
aStream space.
aStream nextPutAll:'package: '.
package storeOn:aStream.
aStream space.
aStream nextPutAll:'url: '.
url asString storeOn:aStream.
"Modified: / 19-08-2009 / 12:18:04 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!RepositoryConfiguration methodsFor:'queries'!
matchesPackage: pkg
^pkg
ifNil:[false]
ifNotNil:[pkg matches: package]
"Created: / 26-05-2008 / 09:36:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
"Modified: / 16-08-2009 / 16:29:21 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!RepositoryConfiguration class methodsFor:'documentation'!
version
^ '$Header$'
!
version_CVS
^ '$Header$'
!
version_SVN
^'§Id: SVN__RepositoryConfiguration.st 111 2009-08-19 20:07:10Z vranyj1 §'
! !