extensions.st
author fm
Tue, 20 Oct 2009 11:34:11 +0200
changeset 532 1199d31912dc
parent 525 ae3a81c28273
child 554 8216cb912567
permissions -rw-r--r--
checkin from browser
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
516
c90cd02b9b48 *** empty log message ***
fm
parents: 430
diff changeset
     1
"{ Package: 'stx:libsvn' }"!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
     2
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
     3
!ChangeSet methodsFor:'queries'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
     4
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
     5
changesForPackage:aPackageSymbol
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
     6
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
     7
    "
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
     8
	ChangeSet current changesForPackage:#'stx:goodies/libsvn'.
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
     9
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    10
    "
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    11
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    12
    ^(self select:[:aChange |
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    13
	|removeThis mClass mthd|
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    14
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    15
	removeThis := false.
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    16
	(aChange isMethodChange or:[aChange isMethodRemoveChange]) ifTrue:[
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    17
	    mClass := aChange changeClass.
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    18
	    mClass notNil ifTrue:[
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    19
		mthd := mClass compiledMethodAt:(aChange selector).
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    20
		mthd isNil ifTrue:[
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    21
		    aChange isMethodRemoveChange ifTrue:[
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    22
			removeThis := (mClass package = aPackageSymbol)
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    23
		    ].
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    24
		] ifFalse:[
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    25
		    removeThis := (mthd package = aPackageSymbol)
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    26
		]
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    27
	    ].
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    28
	] ifFalse:[
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    29
	    (aChange isClassChange) ifTrue:[
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    30
		(aChange changeClass notNil) ifTrue:[
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    31
		    removeThis := (aChange changeClass package = aPackageSymbol)
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    32
		].
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    33
	    ].
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    34
	].
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    35
	removeThis
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    36
    ])
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    37
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    38
    "Created: / 05-11-2001 / 14:21:17 / cg"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    39
    "Modified: / 12-10-2006 / 16:51:27 / cg"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    40
    "Modified: / 22-10-2008 / 13:25:02 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    41
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    42
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
    43
!ChangeSet methodsFor:'utilities'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    44
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    45
condenseChanges
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    46
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    47
    | changesToRemove changesToKeep |
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    48
    changesToKeep := self class new.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    49
    changesToRemove := self class new.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    50
    self reverseDo:
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    51
	[:change|
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    52
	(changesToKeep anySatisfy:[:each|each isForSameAs: change])
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    53
	    ifTrue:[changesToRemove add: change]
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    54
	    ifFalse:[changesToKeep add: change]
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    55
	].
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    56
    self condenseChanges: changesToRemove.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    57
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    58
    "Created: / 22-10-2008 / 13:05:13 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    59
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    60
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
    61
!ChangeSet methodsFor:'utilities'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    62
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    63
condenseChangesForPackage2:aPackageSymbol
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    64
    "remove more changes for aPackageSymbol
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    65
     This is invoked when a project is checked into the repository."
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    66
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    67
    |changesToRemove|
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    68
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    69
    changesToRemove := self select:[:aChange |
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    70
	|removeThis mClass mthd|
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    71
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    72
	removeThis := false.
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    73
	(aChange isMethodChange or:[aChange isMethodRemoveChange]) ifTrue:[
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    74
	    mClass := aChange changeClass.
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    75
	    mClass notNil ifTrue:[
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    76
		mthd := mClass compiledMethodAt:(aChange selector).
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    77
		mthd isNil ifTrue:[
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    78
		    removeThis := (mClass package = aPackageSymbol)
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    79
		] ifFalse:[
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    80
		    removeThis := (mthd package = aPackageSymbol)
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    81
		]
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    82
	    ].
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    83
	] ifFalse:[
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    84
	    (aChange isClassChange) ifTrue:[
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    85
		(aChange changeClass notNil) ifTrue:[
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    86
		    removeThis := (aChange changeClass package = aPackageSymbol)
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    87
		].
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    88
	    ].
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    89
	].
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    90
	removeThis
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    91
    ].
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    92
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    93
    self condenseChanges:changesToRemove
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    94
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    95
    "Modified: / 12-10-2006 / 16:51:27 / cg"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    96
    "Created: / 09-08-2009 / 14:29:17 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    97
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
    98
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
    99
!ChangeSet methodsFor:'utilities'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   100
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   101
diffSetsAgainstImage
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   103
    |imageChangeSet|
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   104
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   105
    imageChangeSet := self class new.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   106
    self changedClasses do:
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   107
	[:class|
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   108
	(class isMetaclass or:[class isPrivate]) ifFalse:
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   109
	    [imageChangeSet addAll:
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   110
		(self class fromStream: class source asString readStream)]].
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   111
    ^self diffSetsAgainst: imageChangeSet
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   112
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   113
    "Created: / 04-12-2007 / 16:03:28 / janfrog"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   114
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   115
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   116
!ChangeSet class methodsFor:'instance creation'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   117
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   118
forPackage: package
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   119
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   120
    ^self forPackage: package ignoreAutoloaded: false.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   121
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   122
    "Created: / 20-05-2008 / 17:56:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   123
    "Modified: / 12-08-2009 / 14:23:15 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   124
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   125
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   126
!ChangeSet class methodsFor:'instance creation'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   127
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   128
forPackage: package ignoreAutoloaded: ignoreAutoloaded
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   129
    "build a changeSet for a given package"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   130
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   131
    |changeSet packageClasses packageExtensions|
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   132
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   133
    packageClasses := ProjectDefinition searchForClassesWithProject: package.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   134
    packageExtensions := ProjectDefinition searchForExtensionsWithProject: package.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   135
    changeSet := self forExistingMethods: packageExtensions.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   136
    packageClasses do:
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   137
	[:cls|
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   138
	(ignoreAutoloaded not and:[cls isLoaded not])
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   139
	    ifTrue:[cls autoload].
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   140
	cls isLoaded
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   141
	    ifTrue:
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   142
		[changeSet addAll:
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   143
		    (self
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   144
			forExistingClass:cls
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   145
			withExtensions:false
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   146
			extensionsOnly:false)]].
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   147
    ^changeSet
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   148
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   149
    "Created: / 12-08-2009 / 14:22:44 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   150
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   151
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   152
!Class methodsFor:'fileOut'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   153
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   154
fileOutAsMethodIn: class selector: selector
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   155
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   156
    ^self fileOutAsMethodIn: class selector: selector category: 'sources'
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   157
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   158
    "Created: / 08-04-2009 / 20:58:06 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   159
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   160
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   161
!Class methodsFor:'accessing'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   162
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   163
svnRepository
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   164
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   165
    ^SVN::RepositoryManager repositoryForPackage: self package
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   166
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   167
    "Created: / 19-04-2008 / 18:24:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   168
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   169
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   170
!Filename methodsFor:'reading-directories'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   171
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   172
directoryContentsAsFilenamesMatching: patternOrCollectionOfThose
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   173
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   174
    "
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   175
	Same as directoryContentsAsFilenames, but returns only files
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   176
	that matches given patterns. This uses String>>matches:
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   177
	for pattern matching
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   178
    "
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   179
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   180
    |names|
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   181
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   182
    names := self directoryContentsMatching: patternOrCollectionOfThose .
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   183
    names isNil ifTrue:[^ nil].
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   184
    ^ names asOrderedCollection collect:[:entry | self construct:entry].
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   185
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   186
    "
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   187
    '/etc' asFilename
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   188
	directoryContentsAsFilenamesMatching: 'pass*'
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   189
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   190
    '/etc' asFilename
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   191
	    directoryContentsAsFilenamesMatching: #('pass*' 'nsswitch.conf')
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   192
    "
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   193
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   194
    "Created: / 03-06-2009 / 09:57:45 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   195
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   196
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   197
!Filename methodsFor:'reading-directories'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   198
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   199
directoryContentsMatching: patternOrCollectionOfThose
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   200
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   201
    "
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   202
	Same as directoryContants, but returns only files
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   203
	that matches given patterns. This uses String>>matches:
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   204
	for pattern matching
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   205
    "
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   206
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   207
    | names patterns |
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   208
    patterns := patternOrCollectionOfThose isString
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   209
		    ifTrue: [Array with: patternOrCollectionOfThose]
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   210
		    ifFalse:[patternOrCollectionOfThose].
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   211
    names := self directoryContents.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   212
    names ifNil:[^nil].
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   213
    ^names select:
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   214
	[:e|patterns anySatisfy:[:pattern|e matches: pattern]]
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   215
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   216
    "
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   217
     '/etc' asFilename
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   218
	directoryContentsMatching: 'pass*'
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   219
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   220
    '/etc' asFilename
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   221
	directoryContentsMatching: #('pass*' 'nsswitch.conf')
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   222
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   223
    '/etc' asFilename
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   224
	directoryContentsMatching: #('does-not-exists.txt')
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   225
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   226
    "
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   227
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   228
    "Created: / 03-06-2009 / 09:52:52 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   229
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   230
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   231
!Method methodsFor:'accessing'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   232
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   233
makeSourceFileAbsolute
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   234
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   235
    "
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   236
	Makes a source file reference absolute.
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   237
	This is required by SVN, because svn working copy
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   238
	is in package path, so it's existence may corrupt source
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   239
	files.
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   240
    "
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   241
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   242
    | fileStream |
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   243
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   244
    "check whether my source is in external file. If not, this is noop"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   245
    sourcePosition ifNil:[^nil].
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   246
    "already absolute"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   247
    source asFilename isAbsolute ifTrue:[^self].
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   248
    fileStream := self rawSourceStream.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   249
    fileStream isFileStream ifTrue:
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   250
	[source := fileStream fileName asAbsoluteFilename pathName].
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   251
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   252
    "
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   253
	(Method compiledMethodAt:#mclass:)
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   254
	    makeSourceFileAbsolute
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   255
    "
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   256
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   257
    "Created: / 21-08-2009 / 17:24:08 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   258
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   259
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   260
!MethodChange methodsFor:'queries'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   261
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   262
isForGeneratedSubject
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   263
    "
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   264
    Answers true iff subject of this method is somewhat
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   265
    auto-generated by some tool - just like version methods
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   266
    are.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   267
    "
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   268
366
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   269
    ^self isForMeta
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   270
	and:[((self selector) == #version)
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   271
	  or:[self selector startsWith:'version_' ]
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   272
	]
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   273
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   274
    "Created: / 17-08-2009 / 18:56:59 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   275
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   276
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   277
!Tools::NewSystemBrowser methodsFor:'menu actions-subversion-class'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   278
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   279
classMenuSubversionCommit
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   280
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   281
    | classesPerPackage |
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   282
    classesPerPackage := Dictionary new.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   283
    self selectedClasses value do:
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   284
	[:class|
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   285
	(classesPerPackage at: class theNonMetaclass package ifAbsentPut:[Set new])
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   286
	    add: class theNonMetaclass].
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   287
    classesPerPackage keysAndValuesDo:
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   288
	[:package :classes| | repo |
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   289
	repo := SVN::RepositoryManager repositoryForPackage:package.
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   290
	SVN::CommitWizard new
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   291
		task: (repo workingCopy commitTask
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   292
			classes: classes;
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   293
			extensionMethods: #()
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   294
			yourself);
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   295
		open]
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   296
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   297
    "Modified: / 16-06-2009 / 21:05:21 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   298
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   299
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   300
!Tools::NewSystemBrowser methodsFor:'menu actions-subversion-class'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   301
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   302
classMenuSubversionCompareImageWithRevision
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   303
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   304
    | cls branch revisionLog revision |
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   305
    cls := self theSingleSelectedClass theNonMetaclass.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   306
    branch := cls theNonMetaclass svnRepository branch.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   307
    revisionLog := branch log: cls.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   308
    revision := SVN::RevisionSelectionDialog openOn: revisionLog.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   309
    self classMenuSubversionCompareImageWithRevision: revision
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   310
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   311
    "Created: / 19-04-2008 / 18:38:15 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   312
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   313
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   314
!Tools::NewSystemBrowser methodsFor:'menu actions-subversion-class'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   315
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   316
classMenuSubversionCompareImageWithRevision: revision
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   317
241
a3b16e3f4d52 *** empty log message ***
fm
parents: 240
diff changeset
   318
    | cls branch  diffSet tool smalltalkDiffToolClass|
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   319
    revision ifNil:[^self].
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   320
    cls := self theSingleSelectedClass theNonMetaclass.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   321
    branch := cls theNonMetaclass svnRepository branch.
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   322
    SVN::ProgressDialog
366
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   323
	openOn:[diffSet := branch diffSetForClass: cls betweenImageAndRevision: revision]
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   324
	title: 'Creating diffset for class ', cls fullName asText allItalic
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   325
	subtitle:
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   326
	    ('Package: ' , branch package asText allItalic ,
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   327
	     ' Revision ' , revision asString).
241
a3b16e3f4d52 *** empty log message ***
fm
parents: 240
diff changeset
   328
a3b16e3f4d52 *** empty log message ***
fm
parents: 240
diff changeset
   329
    smalltalkDiffToolClass := Smalltalk classNamed:#'Tools::SmalltalkDiffTool'.
a3b16e3f4d52 *** empty log message ***
fm
parents: 240
diff changeset
   330
a3b16e3f4d52 *** empty log message ***
fm
parents: 240
diff changeset
   331
    tool := (smalltalkDiffToolClass notNil
366
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   332
	    and:[smalltalkDiffToolClass isLoaded])
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   333
		ifTrue:[ smalltalkDiffToolClass ]
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   334
		ifFalse:[ VersionDiffBrowser ].
241
a3b16e3f4d52 *** empty log message ***
fm
parents: 240
diff changeset
   335
    tool
366
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   336
	openOnDiffSet:diffSet
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   337
	labelA: 'Image'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   338
	labelB: 'r',revision printString
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   339
	title: 'Differences of ',cls fullName,' between image and revision ',revision printString.
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   340
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   341
    "Created: / 19-04-2008 / 18:54:52 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   342
    "Modified: / 09-08-2009 / 14:14:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   343
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   344
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   345
!Tools::NewSystemBrowser methodsFor:'menu actions-subversion-class'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   346
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   347
classMenuSubversionCompareImageWithRevisionHead
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   348
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   349
    self classMenuSubversionCompareImageWithRevision: SVN::Revision head
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   350
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   351
    "Created: / 19-04-2008 / 18:56:08 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   352
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   353
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   354
!Tools::NewSystemBrowser methodsFor:'menu actions-subversion-class'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   355
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   356
classMenuSubversionUpdate
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   357
    "automatically generated by UIEditor ..."
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   358
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   359
    "*** the code below performs no action"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   360
    "*** (except for some feedback on the Transcript)"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   361
    "*** Please change as required and accept in the browser."
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   362
    "*** (and replace this comment by something more useful ;-)"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   363
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   364
    "action to be added ..."
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   365
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   366
    Transcript showCR:self class name, ': action for #classMenuSubversionUpdate ...'.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   367
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   368
239
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   369
!Tools::NewSystemBrowser methodsFor:'aspects-queries'!
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   370
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   371
hasSingleClassAndSubversionRepositoryExists
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   372
    ^ self hasSingleClassSelected
366
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   373
	and:[self hasSubversionRepositoryFor: self theSingleSelectedClass package]
239
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   374
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   375
    "Created: / 19-04-2008 / 17:40:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   376
! !
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   377
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   378
!Tools::NewSystemBrowser methodsFor:'menus-dynamic'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   379
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   380
projectMenuSubversionBranches
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   381
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   382
    <resource: #programMenu >
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   383
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   384
    | menu repository |
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   385
    menu := Menu new.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   386
    repository := self selectedProjectSubversionRepository.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   387
    repository branches do:
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   388
	[:branch|
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   389
	menu addItem:
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   390
	    (MenuItem new
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   391
		label: branch name;
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   392
		choiceValue: branch;
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   393
		choice:(repository workingCopy branch);
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   394
		enabled:(repository workingCopy branch) = branch;
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   395
		yourself)
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   396
	].
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   397
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   398
    ^menu
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   399
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   400
    "Created: / 19-04-2008 / 11:06:15 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   401
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   402
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   403
!Tools::NewSystemBrowser methodsFor:'menu actions-subversion-project'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   404
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   405
projectMenuSubversionBrowseWorkingCopy
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   406
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   407
    self selectedProjects value do:
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   408
	[:package|
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   409
	| pkg repo |
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   410
	pkg := self theSingleSelectedProject.
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   411
	repo := (SVN::RepositoryManager repositoryForPackage: pkg) .
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   412
	FileBrowserV2 openOn: repo workingCopy path]
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   413
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   414
    "Created: / 09-04-2009 / 13:19:43 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   415
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   416
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   417
!Tools::NewSystemBrowser methodsFor:'menu actions-subversion-project'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   418
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   419
projectMenuSubversionCommit
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   420
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   421
    self selectedProjects value do:
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   422
	[:package|
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   423
	| repo |
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   424
	repo := SVN::RepositoryManager repositoryForPackage:package.
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   425
	SVN::CommitWizard new
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   426
	    task: repo workingCopy commitTask;
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   427
	    open]
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   428
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   429
    "Created: / 01-04-2008 / 19:02:42 / janfrog"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   430
    "Modified: / 16-08-2009 / 19:17:15 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   431
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   432
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   433
!Tools::NewSystemBrowser methodsFor:'menu actions-subversion-project'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   434
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   435
projectMenuSubversionCommitMode
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   436
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   437
    ^(PluggableAdaptor on: self theSingleSelectedProject)
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   438
	getBlock:
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   439
	    [:prjHolder| | wc |
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   440
	    wc := SVN::RepositoryManager workingCopyForPackage: self theSingleSelectedProject value.
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   441
	    wc ifNotNil:[wc commitMode] ifNil:[nil]]
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   442
	putBlock:
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   443
	    [:prjHolder :value| | wc |
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   444
	    wc := SVN::RepositoryManager workingCopyForPackage: self theSingleSelectedProject value.
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   445
	    wc ifNotNil:[wc commitMode:value]]
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   446
	updateBlock:
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   447
	    [:prjHolder :aspect :value|true].
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   448
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   449
    "Created: / 13-08-2009 / 15:05:45 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   450
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   451
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   452
!Tools::NewSystemBrowser methodsFor:'menu actions-subversion-project'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   453
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   454
projectMenuSubversionCompareExtensionsInImageWithRevision
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   455
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   456
    | pkg branch revisionLog revision  |
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   457
    pkg := self theSingleSelectedProject.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   458
    branch := (SVN::RepositoryManager repositoryForPackage: pkg) branch.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   459
    revisionLog := branch log:(branch repository containerNameForExtensions).
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   460
    revision := SVN::RevisionSelectionDialog openOn: revisionLog.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   461
    self projectMenuSubversionCompareExtensionsInImageWithRevision: revision
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   462
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   463
    "Created: / 19-04-2008 / 19:13:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   464
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   465
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   466
!Tools::NewSystemBrowser methodsFor:'menu actions-subversion-project'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   467
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   468
projectMenuSubversionCompareExtensionsInImageWithRevision: revision
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   469
240
4f87d0e71d54 *** empty log message ***
fm
parents: 239
diff changeset
   470
    | pkg diffSet  branch tool smalltalkDiffToolClass|
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   471
    revision ifNil:[^self].
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   472
    pkg := self theSingleSelectedProject.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   473
    branch := (SVN::RepositoryManager repositoryForPackage: pkg) branch.
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   474
    SVN::ProgressDialog
366
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   475
	openOn:[diffSet := branch diffSetForExtensionsBetweenImageAndRevision: revision.]
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   476
	title: 'Creating diffset for extensions'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   477
	subtitle:
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   478
	    ('Package: ' , branch package asText allItalic ,
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   479
	     ' Revision ' , revision asString).
240
4f87d0e71d54 *** empty log message ***
fm
parents: 239
diff changeset
   480
4f87d0e71d54 *** empty log message ***
fm
parents: 239
diff changeset
   481
    smalltalkDiffToolClass := Smalltalk classNamed:#'Tools::SmalltalkDiffTool'.
4f87d0e71d54 *** empty log message ***
fm
parents: 239
diff changeset
   482
4f87d0e71d54 *** empty log message ***
fm
parents: 239
diff changeset
   483
    tool := (smalltalkDiffToolClass notNil
366
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   484
	    and:[smalltalkDiffToolClass isLoaded])
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   485
		ifTrue:[ smalltalkDiffToolClass ]
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   486
		ifFalse:[ VersionDiffBrowser ].
240
4f87d0e71d54 *** empty log message ***
fm
parents: 239
diff changeset
   487
    tool
366
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   488
	openOnDiffSet:diffSet
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   489
	labelA: 'Image'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   490
	labelB: 'r',revision printString
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   491
	title: 'Differences of extensions for ',pkg,' between image and revision ',revision printString.
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   492
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   493
    "Created: / 19-04-2008 / 19:13:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   494
    "Modified: / 09-08-2009 / 14:14:15 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   495
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   496
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   497
!Tools::NewSystemBrowser methodsFor:'menu actions-subversion-project'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   498
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   499
projectMenuSubversionCompareImageWithRevision
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   500
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   501
    | pkg branch revisionLog revision  |
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   502
    pkg := self theSingleSelectedProject.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   503
    branch := (SVN::RepositoryManager repositoryForPackage: pkg) branch.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   504
    revisionLog := branch log:'.'.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   505
    revision := SVN::RevisionSelectionDialog openOn: revisionLog.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   506
    self projectMenuSubversionCompareImageWithRevision: revision
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   507
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   508
    "Created: / 20-05-2008 / 18:09:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   509
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   510
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   511
!Tools::NewSystemBrowser methodsFor:'menu actions-subversion-project'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   512
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   513
projectMenuSubversionCompareImageWithRevision: revision
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   514
241
a3b16e3f4d52 *** empty log message ***
fm
parents: 240
diff changeset
   515
    | pkg diffSet  branch tool smalltalkDiffToolClass|
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   516
    revision ifNil:[^self].
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   517
    pkg := self theSingleSelectedProject.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   518
    branch := (SVN::RepositoryManager repositoryForPackage: pkg) branch.
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   519
    SVN::ProgressDialog
366
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   520
	openOn:[diffSet := branch diffSetBetweenImageAndRevision: revision]
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   521
	title: 'Creating diffset'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   522
	subtitle:
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   523
	    ('Package: ' , branch package asText allItalic ,
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   524
	     ' Revision ' , revision asString).
241
a3b16e3f4d52 *** empty log message ***
fm
parents: 240
diff changeset
   525
a3b16e3f4d52 *** empty log message ***
fm
parents: 240
diff changeset
   526
    smalltalkDiffToolClass := Smalltalk classNamed:#'Tools::SmalltalkDiffTool'.
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   527
241
a3b16e3f4d52 *** empty log message ***
fm
parents: 240
diff changeset
   528
    tool := (smalltalkDiffToolClass notNil
366
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   529
	    and:[smalltalkDiffToolClass isLoaded])
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   530
		ifTrue:[ smalltalkDiffToolClass ]
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   531
		ifFalse:[ VersionDiffBrowser ].
241
a3b16e3f4d52 *** empty log message ***
fm
parents: 240
diff changeset
   532
    tool
366
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   533
	openOnDiffSet:diffSet
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   534
	labelA: 'Image'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   535
	labelB: 'r',revision printString
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   536
	title: 'Differences for ',pkg,' between image and revision ',revision printString.
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   537
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   538
    "Created: / 20-05-2008 / 18:09:52 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   539
    "Modified: / 09-08-2009 / 14:14:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   540
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   541
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   542
!Tools::NewSystemBrowser methodsFor:'menu actions-subversion-project'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   543
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   544
projectMenuSubversionCompareImageWithRevisionHEAD
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   545
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   546
    self projectMenuSubversionCompareImageWithRevision: SVN::Revision head
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   547
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   548
    "Created: / 20-05-2008 / 18:10:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   549
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   550
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   551
!Tools::NewSystemBrowser methodsFor:'menu actions-subversion-project'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   552
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   553
projectMenuSubversionLoadRevision
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   554
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   555
    ^self projectMenuSubversionLoadRevision: nil
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   556
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   557
    "Created: / 22-10-2008 / 11:49:35 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   558
    "Modified: / 09-04-2009 / 09:38:17 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   559
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   560
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   561
!Tools::NewSystemBrowser methodsFor:'menu actions-subversion-project'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   562
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   563
projectMenuSubversionLoadRevision: aRevision
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   564
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   565
    self selectedProjects value do:
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   566
	[:package|
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   567
	| pkg task |
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   568
	pkg := self theSingleSelectedProject.
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   569
	task := (SVN::RepositoryManager repositoryForPackage: pkg) updateTask.
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   570
	task revision: aRevision.
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   571
	SVN::UpdateWizard openOn: task]
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   572
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   573
    "Created: / 09-04-2009 / 09:38:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   574
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   575
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   576
!Tools::NewSystemBrowser methodsFor:'menu actions-subversion-project'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   577
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   578
projectMenuSubversionMergeImageWithRevision
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   579
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   580
    | pkg branch revisionLog revision  |
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   581
    pkg := self theSingleSelectedProject.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   582
    branch := (SVN::RepositoryManager repositoryForPackage: pkg) branch.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   583
    revisionLog := branch log:'.'.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   584
    revision := SVN::RevisionSelectionDialog openOn: revisionLog.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   585
    self projectMenuSubversionMergeImageWithRevision: revision
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   586
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   587
    "Created: / 20-05-2008 / 23:41:26 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   588
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   589
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   590
!Tools::NewSystemBrowser methodsFor:'menu actions-subversion-project'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   591
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   592
projectMenuSubversionMergeImageWithRevision: revision
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   593
241
a3b16e3f4d52 *** empty log message ***
fm
parents: 240
diff changeset
   594
    | pkg diffSet  branch smalltalkMergeToolClass|
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   595
    revision ifNil:[^self].
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   596
    pkg := self theSingleSelectedProject.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   597
    branch := (SVN::RepositoryManager repositoryForPackage: pkg) branch.
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   598
    SVN::ProgressDialog
366
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   599
	openOn:[diffSet := branch diffSetBetweenImageAndRevision: revision]
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   600
	title: 'Creating diffset'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   601
	subtitle:
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   602
	    ('Package: ' , branch package asText allItalic ,
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   603
	     ' Revision ' , revision asString).
241
a3b16e3f4d52 *** empty log message ***
fm
parents: 240
diff changeset
   604
a3b16e3f4d52 *** empty log message ***
fm
parents: 240
diff changeset
   605
    smalltalkMergeToolClass := Smalltalk classNamed:#'Tools::SmalltalkMergeTool'.
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   606
241
a3b16e3f4d52 *** empty log message ***
fm
parents: 240
diff changeset
   607
    (smalltalkMergeToolClass notNil
366
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   608
	and:[smalltalkMergeToolClass isLoaded]) not ifTrue:[
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   609
	    Dialog warn: 'Merge is not possible. Tools::SmalltalkMergeTool class is not present'.
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   610
	    ^ self.
241
a3b16e3f4d52 *** empty log message ***
fm
parents: 240
diff changeset
   611
    ].
a3b16e3f4d52 *** empty log message ***
fm
parents: 240
diff changeset
   612
a3b16e3f4d52 *** empty log message ***
fm
parents: 240
diff changeset
   613
    smalltalkMergeToolClass
366
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   614
	openOnDiffSet:diffSet
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   615
	labelA: 'Image'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   616
	labelB: 'r',revision printString
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   617
	title: 'Merge ',pkg,' revision ',revision printString, ' into image'
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   618
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   619
    "Created: / 20-05-2008 / 23:44:22 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   620
    "Modified: / 09-08-2009 / 14:15:28 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   621
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   622
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   623
!Tools::NewSystemBrowser methodsFor:'menu actions-subversion-project'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   624
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   625
projectMenuSubversionMergeImageWithRevisionHEAD
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   626
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   627
    self projectMenuSubversionMergeImageWithRevision: SVN::Revision head
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   628
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   629
    "Created: / 20-05-2008 / 23:44:46 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   630
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   631
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   632
!Tools::NewSystemBrowser methodsFor:'menu actions-subversion-project'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   633
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   634
projectMenuSubversionRemoveWorkingCopy
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   635
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   636
    self selectedProjects value do:
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   637
	[:package|
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   638
	| pkg repo |
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   639
	pkg := self theSingleSelectedProject.
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   640
	repo := (SVN::RepositoryManager repositoryForPackage: pkg) .
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   641
	repo workingCopy path asFilename recursiveRemove]
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   642
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   643
    "Created: / 09-04-2009 / 13:19:08 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   644
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   645
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   646
!Tools::NewSystemBrowser methodsFor:'menu actions-subversion-project'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   647
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   648
projectMenuSubversionShowRevisionLog
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   649
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   650
     | pkg branch revisionLog revision  |
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   651
    pkg := self theSingleSelectedProject.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   652
    branch := (SVN::RepositoryManager repositoryForPackage: pkg) branch.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   653
    revisionLog := branch log:'.'.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   654
    revision := SVN::RevisionLogBrowser openOn: revisionLog.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   655
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   656
    "Created: / 21-05-2008 / 09:37:51 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   657
    "Modified: / 21-10-2008 / 19:52:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   658
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   659
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   660
!Tools::NewSystemBrowser methodsFor:'menu actions-subversion-project'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   661
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   662
projectMenuSubversionUpdate
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   663
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   664
    ^self projectMenuSubversionLoadRevision: SVN::Revision head
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   665
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   666
    "Created: / 22-10-2008 / 11:49:35 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   667
    "Modified: / 09-04-2009 / 09:38:34 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   668
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   669
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   670
!Tools::NewSystemBrowser methodsFor:'private-helpers'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   671
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   672
selectedProjectSubversionRepository
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   673
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   674
    self selectedProjects value size ~= 1 ifTrue:[^nil].
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   675
    ^SVN::RepositoryManager repositoryForPackage: self selectedProjects value anyOne.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   676
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   677
    "Created: / 19-04-2008 / 11:09:02 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   678
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   679
264
6bf328cd9572 changed: #svn_persp
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
   680
!Tools::NewSystemBrowser class methodsFor:'menu specs-subversion'!
239
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   681
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   682
classMenuSubversion
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   683
    "This resource specification was automatically generated
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   684
     by the MenuEditor of ST/X."
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   685
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   686
    "Do not manually edit this!! If it is corrupted,
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   687
     the MenuEditor may not be able to read the specification."
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   688
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   689
    "
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   690
     MenuEditor new openOnClass:Tools::NewSystemBrowser andSelector:#classMenuSubversion
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   691
     (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser classMenuSubversion)) startUp
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   692
    "
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   693
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   694
    <resource: #menu>
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   695
366
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   696
    ^
239
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   697
     #(Menu
366
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   698
	(
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   699
	 (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   700
	    label: 'Commit'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   701
	    itemValue: classMenuSubversionCommit
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   702
	    translateLabel: true
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   703
	    labelImage: (ResourceRetriever #'SVN::IconLibrary' commit 'Commit')
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   704
	  )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   705
	 (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   706
	    enabled: false
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   707
	    label: 'Update'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   708
	    itemValue: classMenuSubversionUpdate
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   709
	    translateLabel: true
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   710
	    labelImage: (ResourceRetriever #'SVN::IconLibrary' update 'Update')
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   711
	  )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   712
	 (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   713
	    label: '-'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   714
	  )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   715
	 (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   716
	    label: 'Compare with revision HEAD'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   717
	    itemValue: classMenuSubversionCompareImageWithRevisionHead
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   718
	    translateLabel: true
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   719
	    labelImage: (ResourceRetriever #'SVN::IconLibrary' compare 'Compare with revision HEAD')
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   720
	  )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   721
	 (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   722
	    label: 'Compare with revision'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   723
	    itemValue: classMenuSubversionCompareImageWithRevision
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   724
	    translateLabel: true
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   725
	    labelImage: (ResourceRetriever #'SVN::IconLibrary' compare 'Compare with revision')
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   726
	  )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   727
	 )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   728
	nil
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   729
	nil
239
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   730
      )
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   731
! !
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   732
264
6bf328cd9572 changed: #svn_persp
Claus Gittinger <cg@exept.de>
parents: 241
diff changeset
   733
!Tools::NewSystemBrowser class methodsFor:'menu specs-subversion'!
239
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   734
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   735
projectMenuSubversion
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   736
    "This resource specification was automatically generated
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   737
     by the MenuEditor of ST/X."
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   738
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   739
    "Do not manually edit this!! If it is corrupted,
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   740
     the MenuEditor may not be able to read the specification."
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   741
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   742
    "
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   743
     MenuEditor new openOnClass:Tools::NewSystemBrowser andSelector:#projectMenuSubversion
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   744
     (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser projectMenuSubversion)) startUp
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   745
    "
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   746
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   747
    <resource: #menu>
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   748
366
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   749
    ^
239
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   750
     #(Menu
366
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   751
	(
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   752
	 (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   753
	    enabled: false
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   754
	    label: 'Branch'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   755
	    translateLabel: true
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   756
	    submenuChannel: projectMenuSubversionBranches
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   757
	    labelImage: (ResourceRetriever #'SVN::IconLibrary' checkout 'Branch')
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   758
	    keepLinkedMenu: true
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   759
	  )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   760
	 (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   761
	    label: 'Commit'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   762
	    itemValue: projectMenuSubversionCommit
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   763
	    translateLabel: true
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   764
	    labelImage: (ResourceRetriever #'SVN::IconLibrary' commit 'Commit')
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   765
	  )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   766
	 (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   767
	    label: 'Update'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   768
	    itemValue: projectMenuSubversionUpdate
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   769
	    translateLabel: true
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   770
	    labelImage: (ResourceRetriever #'SVN::IconLibrary' update 'Update')
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   771
	  )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   772
	 (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   773
	    label: '-'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   774
	  )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   775
	 (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   776
	    label: 'Browse revision log'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   777
	    itemValue: projectMenuSubversionShowRevisionLog
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   778
	    translateLabel: true
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   779
	    labelImage: (ResourceRetriever #'SVN::IconLibrary' log 'Browse revision log')
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   780
	  )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   781
	 (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   782
	    label: 'Browse working copy'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   783
	    itemValue: projectMenuSubversionBrowseWorkingCopy
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   784
	    translateLabel: true
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   785
	  )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   786
	 (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   787
	    label: '-'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   788
	  )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   789
	 (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   790
	    label: 'Compare with revision HEAD'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   791
	    itemValue: projectMenuSubversionCompareImageWithRevisionHEAD
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   792
	    translateLabel: true
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   793
	    labelImage: (ResourceRetriever #'SVN::IconLibrary' compare 'Compare with revision HEAD')
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   794
	  )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   795
	 (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   796
	    label: 'Compare with revision'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   797
	    itemValue: projectMenuSubversionCompareImageWithRevision
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   798
	    translateLabel: true
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   799
	    labelImage: (ResourceRetriever #'SVN::IconLibrary' compare 'Compare with revision')
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   800
	  )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   801
	 (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   802
	    label: '-'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   803
	  )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   804
	 (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   805
	    label: 'Merge with revision HEAD'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   806
	    itemValue: projectMenuSubversionMergeImageWithRevisionHEAD
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   807
	    translateLabel: true
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   808
	    labelImage: (ResourceRetriever #'SVN::IconLibrary' merge 'Merge with revision HEAD')
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   809
	  )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   810
	 (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   811
	    label: 'Merge with revision'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   812
	    itemValue: projectMenuSubversionMergeImageWithRevision
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   813
	    translateLabel: true
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   814
	    labelImage: (ResourceRetriever #'SVN::IconLibrary' merge 'Merge with revision')
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   815
	  )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   816
	 (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   817
	    label: '-'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   818
	  )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   819
	 (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   820
	    label: 'More'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   821
	    translateLabel: true
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   822
	    submenu:
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   823
	   (Menu
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   824
	      (
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   825
	       (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   826
		  label: 'Load revision...'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   827
		  itemValue: projectMenuSubversionLoadRevision
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   828
		  translateLabel: true
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   829
		)
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   830
	       (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   831
		  label: '-'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   832
		)
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   833
	       (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   834
		  label: 'Remove working copy'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   835
		  itemValue: projectMenuSubversionRemoveWorkingCopy
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   836
		  translateLabel: true
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   837
		)
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   838
	       (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   839
		  label: '-'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   840
		)
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   841
	       (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   842
		  enabled: hasSingleProjectSelected
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   843
		  label: 'Fast commit'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   844
		  translateLabel: true
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   845
		  choice: projectMenuSubversionCommitMode
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   846
		  choiceValue: fast
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   847
		)
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   848
	       (MenuItem
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   849
		  enabled: hasSingleProjectSelected
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   850
		  label: 'Full commit'
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   851
		  translateLabel: true
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   852
		  choice: projectMenuSubversionCommitMode
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   853
		  choiceValue: full
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   854
		)
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   855
	       )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   856
	      nil
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   857
	      nil
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   858
	    )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   859
	  )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   860
	 )
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   861
	nil
aaa64c7d3f56 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   862
	nil
239
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   863
      )
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   864
! !
eb8760523bed *** empty log message ***
fm
parents: 230
diff changeset
   865
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   866
!URL methodsFor:'queries'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   867
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   868
isValidSvnRepositoryUrl
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   869
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   870
    ^#('file' 'http' 'https' 'svn' 'svn+ssh')
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   871
	includes: self method
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   872
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   873
    "Created: / 16-08-2009 / 16:39:38 / Jan Vrany <vranyj1@fel.cvut.cz>"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   874
! !
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   875
230
2e84ab798bb9 changed: #version_SVN
fm
parents: 119
diff changeset
   876
!XML::NodeSet methodsFor:'navigation'!
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   877
105
433e1cd1f448 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   878
@ attributeName
102
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   879
    "XPath like processing - if singleton set, answer an value of
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   880
    atribute named attributeName, error otherwise.
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   881
    This method is used in libsvn"
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   882
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   883
    self size = 1 ifTrue:[^self first @ attributeName].
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   884
    self error:'More than one element in node set'
61343482b6c7 *** empty log message ***
fm
parents: 101
diff changeset
   885
! !
516
c90cd02b9b48 *** empty log message ***
fm
parents: 430
diff changeset
   886
c90cd02b9b48 *** empty log message ***
fm
parents: 430
diff changeset
   887
!stx_libsvn class methodsFor:'documentation'!
c90cd02b9b48 *** empty log message ***
fm
parents: 430
diff changeset
   888
c90cd02b9b48 *** empty log message ***
fm
parents: 430
diff changeset
   889
extensionsVersion_CVS
c90cd02b9b48 *** empty log message ***
fm
parents: 430
diff changeset
   890
    ^ '$Header$'
c90cd02b9b48 *** empty log message ***
fm
parents: 430
diff changeset
   891
! !