SVN__WorkingCopy.st
author Merge Script
Fri, 08 Apr 2016 07:05:48 +0200
branchjv
changeset 1167 18d0e8994a34
parent 1164 08f37a1c41f7
parent 1165 d4d3563f8b06
child 1185 a92f18c040fb
permissions -rw-r--r--
Merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
     1
"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
     2
 Copyright (c) 2007-2010 Jan Vrany
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
     3
 Copyright (c) 2009-2010 eXept Software AG
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
     4
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
     5
 Permission is hereby granted, free of charge, to any person
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
     6
 obtaining a copy of this software and associated documentation
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
     7
 files (the 'Software'), to deal in the Software without
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
     8
 restriction, including without limitation the rights to use,
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
     9
 copy, modify, merge, publish, distribute, sublicense, and/or sell
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    10
 copies of the Software, and to permit persons to whom the
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    11
 Software is furnished to do so, subject to the following
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    12
 conditions:
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    13
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    14
 The above copyright notice and this permission notice shall be
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    15
 included in all copies or substantial portions of the Software.
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    16
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    17
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    18
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    19
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    20
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    21
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    22
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    23
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    24
 OTHER DEALINGS IN THE SOFTWARE.
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    25
"
384
28457041100b *** empty log message ***
fm
parents: 316
diff changeset
    26
"{ Package: 'stx:libsvn' }"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    27
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    28
"{ NameSpace: SVN }"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    29
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    30
Object subclass:#WorkingCopy
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    31
	instanceVariableNames:'path repository branch packageClassesChanged
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    32
		packageExtensionsChanged'
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    33
	classVariableNames:''
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    34
	poolDictionaries:''
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    35
	category:'SVN-Core'
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    36
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    37
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    38
!WorkingCopy class methodsFor:'documentation'!
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    39
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    40
copyright
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    41
"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    42
 Copyright (c) 2007-2010 Jan Vrany
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    43
 Copyright (c) 2009-2010 eXept Software AG
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    44
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    45
 Permission is hereby granted, free of charge, to any person
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    46
 obtaining a copy of this software and associated documentation
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    47
 files (the 'Software'), to deal in the Software without
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    48
 restriction, including without limitation the rights to use,
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    49
 copy, modify, merge, publish, distribute, sublicense, and/or sell
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    50
 copies of the Software, and to permit persons to whom the
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    51
 Software is furnished to do so, subject to the following
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    52
 conditions:
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    53
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    54
 The above copyright notice and this permission notice shall be
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    55
 included in all copies or substantial portions of the Software.
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    56
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    57
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    58
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    59
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    60
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    61
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    62
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    63
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    64
 OTHER DEALINGS IN THE SOFTWARE.
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    65
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    66
"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    67
! !
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    68
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    69
!WorkingCopy class methodsFor:'instance creation'!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    70
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    71
branch: aBranch path: aStringOrFilename
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    72
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    73
    ^self new 
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    74
        branch: aBranch; 
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    75
        path: aStringOrFilename;
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    76
        yourself
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    77
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    78
    "Created: / 19-08-2009 / 11:25:06 / Jan Vrany <vranyj1@fel.cvut.cz>"
998
c8ae684f562c added lost changes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 973
diff changeset
    79
!
c8ae684f562c added lost changes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 973
diff changeset
    80
c8ae684f562c added lost changes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 973
diff changeset
    81
path: aStringOrFilename
c8ae684f562c added lost changes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 973
diff changeset
    82
c8ae684f562c added lost changes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 973
diff changeset
    83
    ^self new 
c8ae684f562c added lost changes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 973
diff changeset
    84
        path: aStringOrFilename;
c8ae684f562c added lost changes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 973
diff changeset
    85
        yourself
c8ae684f562c added lost changes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 973
diff changeset
    86
c8ae684f562c added lost changes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 973
diff changeset
    87
    "Created: / 19-08-2009 / 11:25:06 / Jan Vrany <vranyj1@fel.cvut.cz>"
c8ae684f562c added lost changes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 973
diff changeset
    88
    "Created: / 07-02-2012 / 22:31:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    89
! !
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    90
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    91
!WorkingCopy methodsFor:'accessing'!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    92
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    93
branch
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    94
    branch ifNil:[ 
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    95
        branch := self isValid
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    96
                    ifTrue:[self branchFromWorkingCopy]
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    97
                    ifFalse:[self branchFromQuery].
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
    98
        branch ifNil:[branch := self defaultBranch]].
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
    99
    ^ branch value
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   100
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   101
    "Created: / 31-03-2008 / 12:50:17 / janfrog"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   102
    "Modified: / 14-04-2008 / 12:44:25 / Jan Vrany <vranyj1@fel.cvut.cz>"
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   103
    "Modified: / 09-01-2010 / 12:10:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   104
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   105
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   106
branch: branchOrString
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   107
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   108
    branch := branchOrString isString
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   109
        ifFalse:
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   110
            [repository := branchOrString repository.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   111
            branchOrString]
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   112
        ifTrue:
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   113
            ["Do it in separate thread to speedup things"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   114
            Promise value:
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   115
                [branch := 
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   116
                    repository branches
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   117
                        detect:[:branch|branch path = branchOrString]
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   118
                        ifNone:[self error:'No such branch: ', branchOrString]]].
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   119
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   120
    "Created: / 31-03-2008 / 13:29:13 / janfrog"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   121
    "Modified: / 19-08-2009 / 11:22:45 / Jan Vrany <vranyj1@fel.cvut.cz>"
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   122
    "Modified: / 09-01-2010 / 12:12:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   123
!
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   124
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   125
branchOrNil           
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   126
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   127
    | branches |
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   128
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   129
    branch ifNil:
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   130
        [branches := repository branches.
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   131
        branches size = 1 ifTrue:[^branch := branches anyOne].
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   132
        repository preferredBranch 
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   133
            ifNotNil:
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   134
                [branch := branches 
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   135
                    detect:[:branch|branch asString = repository preferredBranch]
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   136
                    ifNone:[nil]]].
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   137
    ^branch
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   138
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   139
    "Created: / 31-03-2008 / 12:50:17 / janfrog"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   140
    "Modified: / 14-04-2008 / 12:44:25 / Jan Vrany <vranyj1@fel.cvut.cz>"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   141
    "Modified: / 29-03-2010 / 13:58:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   142
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   143
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   144
commitMode
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   145
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   146
    "UI Helper"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   147
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   148
    ^self packageClassesChanged ifTrue:[#full] ifFalse:[#fast]
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   149
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   150
    "Created: / 13-08-2009 / 15:12:41 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   151
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   152
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   153
commitMode: mode
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   154
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   155
    mode == #full ifTrue:[packageClassesChanged := true].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   156
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   157
    "Created: / 13-08-2009 / 15:13:08 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   158
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   159
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   160
defaultBranch
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   161
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   162
    ^repository branches 
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   163
        detect:[:branch | branch isTrunk ]
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   164
        ifNone:[self error: 'No branch!!'].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   165
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   166
    "Created: / 11-04-2008 / 13:15:34 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   167
    "Modified: / 14-04-2008 / 11:53:04 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   168
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   169
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   170
manager
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   171
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   172
    ^repository manager
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   173
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   174
    "Created: / 11-06-2009 / 13:33:17 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   175
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   176
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   177
package
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   178
1006
f318a4c6a09d Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 998
diff changeset
   179
    ^self branch package
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   180
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   181
    "Created: / 31-03-2008 / 13:04:52 / janfrog"
1006
f318a4c6a09d Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 998
diff changeset
   182
    "Modified: / 08-02-2012 / 18:25:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   183
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   184
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   185
packageClasses
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   186
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   187
    ^self packageClassesWithPrivate reject:[:cls|cls owningClass notNil]
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   188
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   189
    "Created: / 31-03-2008 / 13:06:13 / janfrog"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   190
    "Modified: / 23-03-2009 / 12:16:51 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   191
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   192
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   193
packageClassesChanged
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   194
    packageClassesChanged :=
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   195
        (packageClassesChanged == true)
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   196
            or:[self computePackageClassesChanged].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   197
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   198
    ^ packageClassesChanged
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   199
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   200
    "Modified: / 13-08-2009 / 10:21:19 / Jan Vrany <vranyj1@fel.cvut.cz>"
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   201
    "Modified: / 21-04-2010 / 23:29:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   202
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   203
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   204
packageClassesFiltered: classFilter
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   205
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   206
    ^self packageClasses select: [:class|classFilter value: class].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   207
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   208
    "Created: / 23-03-2009 / 12:04:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   209
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   210
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   211
packageClassesWithPrivate
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   212
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   213
    ^ProjectDefinition searchForClassesWithProject: self package
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   214
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   215
    "Created: / 23-03-2009 / 12:06:58 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   216
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   217
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   218
packageClassesWithPrivateFiltered: classFilter
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   219
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   220
    ^self packageClassesWithPrivate select: [:class|classFilter value: class].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   221
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   222
    "Created: / 23-03-2009 / 12:07:58 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   223
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   224
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   225
packageDefinition
1101
ffc2b5e1104f comment/format in: #computePackageExtensionsChanged
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1065
diff changeset
   226
    ^LibraryDefinition definitionClassForPackage:self package createIfAbsent:true
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   227
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   228
    "Created: / 15-06-2009 / 12:41:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
1101
ffc2b5e1104f comment/format in: #computePackageExtensionsChanged
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1065
diff changeset
   229
    "Modified: / 04-05-2012 / 17:15:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   230
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   231
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   232
packageExtensions
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   233
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   234
    ^ProjectDefinition searchForExtensionsWithProject: self package
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   235
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   236
    "Created: / 31-03-2008 / 13:06:13 / janfrog"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   237
    "Modified: / 11-04-2008 / 08:25:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   238
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   239
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   240
packageExtensionsChanged
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   241
    packageExtensionsChanged :=
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   242
        (packageExtensionsChanged == true)
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   243
            or:[self computePackageExtensionsChanged].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   244
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   245
    ^ packageExtensionsChanged
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   246
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   247
    "Modified: / 13-08-2009 / 10:22:23 / Jan Vrany <vranyj1@fel.cvut.cz>"
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   248
    "Modified: / 21-04-2010 / 23:30:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   249
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   250
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   251
packageExtensionsFiltered:aBlock
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   252
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   253
    ^self packageExtensions select:aBlock
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   254
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   255
    "Created: / 11-06-2009 / 13:37:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   256
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   257
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   258
path
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   259
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   260
    ^ path
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   261
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   262
    "Created: / 31-03-2008 / 12:42:42 / janfrog"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   263
    "Modified: / 21-08-2009 / 17:47:30 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   264
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   265
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   266
path:aStringOrFilename
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   267
    path := aStringOrFilename asFilename.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   268
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   269
    "Created: / 31-03-2008 / 12:42:42 / janfrog"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   270
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   271
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   272
pathBase
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   273
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   274
    ^self manager workingCopyBase.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   275
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   276
    "Created: / 11-06-2009 / 13:32:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   277
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   278
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   279
repository
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   280
    ^ repository
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   281
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   282
    "Created: / 31-03-2008 / 12:42:22 / janfrog"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   283
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   284
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   285
repository:aRepository
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   286
    repository := aRepository.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   287
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   288
    "Created: / 31-03-2008 / 12:42:22 / janfrog"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   289
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   290
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   291
url
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   292
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   293
    ^branch url
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   294
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   295
    "Created: / 31-03-2008 / 13:05:01 / janfrog"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   296
! !
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   297
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   298
!WorkingCopy methodsFor:'accessing - change sets'!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   299
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   300
changeSet
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   301
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   302
    ^self changeSetIgnoreAutoloaded: false
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   303
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   304
    "Created: / 23-03-2009 / 18:57:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   305
    "Modified: / 12-08-2009 / 14:26:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   306
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   307
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   308
changeSetForContainer: containerName
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   309
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   310
    ^(ChangeSet fromStream:
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   311
        (self containerReadStreamFor: containerName))
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   312
        name: containerName;
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   313
        yourself
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   314
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   315
    "Created: / 09-10-2008 / 20:21:56 / Jan Vrany <vranyj1@fel.cvut.cz>"
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   316
    "Modified: / 07-07-2011 / 21:47:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   317
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   318
1027
1f9bcfa5013b - added compare against HEAD & compare against BASE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1006
diff changeset
   319
changeSetForContainer: containerName revision: rev
1f9bcfa5013b - added compare against HEAD & compare against BASE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1006
diff changeset
   320
    | containerContents |
1f9bcfa5013b - added compare against HEAD & compare against BASE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1006
diff changeset
   321
1f9bcfa5013b - added compare against HEAD & compare against BASE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1006
diff changeset
   322
    containerContents := self cat: containerName revision: rev.
1f9bcfa5013b - added compare against HEAD & compare against BASE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1006
diff changeset
   323
    ^(ChangeSet fromStream: containerContents readStream)
1f9bcfa5013b - added compare against HEAD & compare against BASE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1006
diff changeset
   324
        name: containerName , ' (' , rev printString , ')';
1f9bcfa5013b - added compare against HEAD & compare against BASE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1006
diff changeset
   325
        yourself
1f9bcfa5013b - added compare against HEAD & compare against BASE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1006
diff changeset
   326
1f9bcfa5013b - added compare against HEAD & compare against BASE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1006
diff changeset
   327
    "Created: / 10-02-2012 / 09:57:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1f9bcfa5013b - added compare against HEAD & compare against BASE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1006
diff changeset
   328
!
1f9bcfa5013b - added compare against HEAD & compare against BASE
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1006
diff changeset
   329
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   330
changeSetForUpdate
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   331
    |diffSet classesToRemove|
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   332
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   333
    diffSet := self diffSetBetweenImageAndWorkingCopy.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   334
    classesToRemove := Set new.
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   335
    ActivityNotification notify:'Computing update change set'.
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   336
     "self = image, arg = revision"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   337
    ^ (diffSet onlyInArg) 
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   338
        , (diffSet changed collect:[:changePair | changePair second ]) 
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   339
            , (diffSet onlyInReceiver 
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   340
                    select:[:change | change isClassDefinitionChange ]
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   341
                    thenCollect:[:change | 
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   342
                        classesToRemove add:change className.
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   343
                        ClassRemoveChange className:change className
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   344
                    ]) 
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   345
            , (diffSet onlyInReceiver 
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   346
                    select:[:change | 
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   347
                        change isMethodDefinitionChange 
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   348
                            and:[ (classesToRemove includes:change className) not ]
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   349
                    ]
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   350
                    thenCollect:[:change | 
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   351
                        MethodRemoveChange className:change className selector:change selector
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   352
                    ])
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   353
                 "Created: / 24-03-2009 / 08:17:19 / Jan Vrany <vranyj1@fel.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   354
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   355
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   356
changeSetIgnoreAutoloaded: ignoreAutoloaded
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   357
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   358
    | containersToIgnore changeSet |
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   359
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   360
    containersToIgnore :=
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   361
        (self packageClassesFiltered:[:cls|cls isLoaded not])
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   362
            collect:[:cls|repository containerNameForClass: cls].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   363
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   364
    changeSet := ChangeSet new.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   365
    self containers do:
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   366
        [:container |
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   367
        (containersToIgnore includes: container)
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   368
            ifFalse:
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   369
                [changeSet addAll: 
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   370
                    (self changeSetForContainer: container)]].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   371
    ^changeSet
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   372
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   373
    "Created: / 12-08-2009 / 14:26:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   374
! !
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   375
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   376
!WorkingCopy methodsFor:'accessing - containers'!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   377
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   378
containerFilenameFor: containerName
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   379
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   380
    ^self path construct: containerName
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   381
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   382
    "Created: / 09-10-2008 / 20:25:02 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   383
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   384
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   385
containerReadStreamFor: containerName
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   386
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   387
    | containerFile containerStream |
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   388
    containerFile := self containerFilenameFor: containerName. 
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   389
    OperatingSystem isMSWINDOWSlike
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   390
        ifTrue:
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   391
            ["
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   392
            Dirty hack for MS Windows:
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   393
            Windows do not allow me to open some files for the first
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   394
            time (OpenError is raised). Second try after some time is usually OK.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   395
            I don't know why this happens. Claus, do you have any idea?
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   396
            "
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   397
            [ containerStream := containerFile readStream ]
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   398
                on: OpenError do: 
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   399
                    [Delay waitForMilliseconds: 100. "A magic constant here :-("
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   400
                    containerStream := containerFile readStream]]
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   401
        ifFalse:
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   402
            ["
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   403
            Unix behaves pretty fine :-)
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   404
            "
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   405
            containerStream := containerFile readStream].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   406
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   407
    ^containerStream
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   408
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   409
    "Created: / 09-10-2008 / 20:26:03 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   410
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   411
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   412
containerSuffixes
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   413
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   414
    ^ProgrammingLanguage all collect:[:each|each sourceFileSuffix]
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   415
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   416
    "Created: / 23-03-2009 / 18:53:56 / Jan Vrany <vranyj1@fel.cvut.cz>"
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   417
    "Modified: / 30-12-2009 / 18:15:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   418
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   419
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   420
containerWriteStreamFor: containerName
1121
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
   421
    | filename directory |
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   422
1121
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
   423
    filename := self containerFilenameFor: containerName.
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
   424
    (directory := filename directory) exists ifFalse:[
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
   425
        directory recursiveMakeDirectory
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
   426
    ].
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
   427
    ^filename writeStream
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   428
        eolMode: #nl;
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   429
        yourself
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   430
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   431
    "Created: / 09-10-2008 / 20:24:44 / Jan Vrany <vranyj1@fel.cvut.cz>"
1121
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
   432
    "Modified: / 04-09-2012 / 23:44:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   433
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   434
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   435
containerWriteStreamForExtensions: aProgrammingLanguage
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   436
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   437
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   438
    ^self containerWriteStreamFor: 
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   439
        (Repository containerNameForExtensions: aProgrammingLanguage)
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   440
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   441
    "Created: / 30-12-2009 / 18:14:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   442
    "Modified: / 30-12-2009 / 22:00:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   443
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   444
1121
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
   445
containerWriteStreamForExtensions: aProgrammingLanguage javaClass: aJavaClass
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
   446
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
   447
    ^self containerWriteStreamFor: 
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
   448
        ('java' , Filename separator , 'extensions' , Filename separator , 
1133
e9572eb610f8 changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1132
diff changeset
   449
            ((aJavaClass theNonMetaclass name copyReplaceAll: $/ with: (Filename separator)) , '.' ,aProgrammingLanguage sourceFileSuffix))
1121
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
   450
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
   451
    "Created: / 04-09-2012 / 23:17:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1133
e9572eb610f8 changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1132
diff changeset
   452
    "Modified: / 07-11-2012 / 23:40:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1121
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
   453
!
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
   454
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   455
containers
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   456
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   457
    ^(self path directoryContents 
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   458
        select:
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   459
            [:container|self containerSuffixes anySatisfy:
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   460
                [:suffix|container endsWith:suffix]]) asSet
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   461
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   462
    "Created: / 23-03-2009 / 18:52:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   463
    "Modified: / 12-06-2009 / 21:44:06 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   464
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   465
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   466
containersToKeep
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   467
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   468
    | containers extensions |
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   469
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   470
    containers := self packageClasses 
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   471
        collect:[:cls|self repository containerNameForClass: cls].
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   472
    (extensions := self packageExtensions) notEmpty ifTrue:
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   473
        [| languages |
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   474
        languages :=  (extensions collect:[:each|each programmingLanguage]) asSet.
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   475
        languages do:
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   476
            [:lang|containers add: (Repository containerNameForExtensions: lang)]].    
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   477
    "Keep all directories"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   478
    path directoryContents do:
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   479
        [:f|
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   480
        (f ~= '.svn' and: [(path / f) isDirectory]) ifTrue:
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   481
            [containers add: f]].
905
58dc08c9d3b4 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 795
diff changeset
   482
    "Keep all .st files that are for with other operating systems"
58dc08c9d3b4 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 795
diff changeset
   483
58dc08c9d3b4 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 795
diff changeset
   484
    self packageDefinition classNamesAndAttributesDo: [:nm :attributes|
58dc08c9d3b4 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 795
diff changeset
   485
        attributes do:[:attr|
58dc08c9d3b4 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 795
diff changeset
   486
            (#(win32 unix vms autoload) includes: attr) ifTrue:[
58dc08c9d3b4 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 795
diff changeset
   487
                containers add: ((SVN::Repository containerNameWithoutSuffixForClassNamed: nm) , '.st')
58dc08c9d3b4 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 795
diff changeset
   488
            ]
58dc08c9d3b4 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 795
diff changeset
   489
        ]
58dc08c9d3b4 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 795
diff changeset
   490
    ].
58dc08c9d3b4 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 795
diff changeset
   491
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   492
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   493
    ^containers asSet.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   494
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   495
    "Created: / 12-06-2009 / 21:27:12 / Jan Vrany <vranyj1@fel.cvut.cz>"
905
58dc08c9d3b4 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 795
diff changeset
   496
    "Modified: / 28-09-2011 / 17:15:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   497
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   498
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   499
containersWriteStreamForClass:cls 
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   500
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   501
    ^self containerWriteStreamFor: (repository containerNameForClass:cls)
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   502
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   503
    "Created: / 09-10-2008 / 20:23:59 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   504
! !
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   505
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   506
!WorkingCopy methodsFor:'accessing - diff sets'!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   507
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   508
diffSetBetweenImageAndWorkingCopy
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   509
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   510
    | imageChangeSet revisionChangeSet |
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   511
    imageChangeSet := ChangeSet forPackage: self package ignoreAutoloaded: true.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   512
    revisionChangeSet := self changeSetIgnoreAutoloaded: true.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   513
    ^imageChangeSet diffSetsAgainst: revisionChangeSet
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   514
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   515
    "Created: / 24-03-2009 / 08:17:26 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   516
    "Modified: / 12-08-2009 / 14:32:03 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   517
! !
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   518
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   519
!WorkingCopy methodsFor:'accessing - tasks'!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   520
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   521
commitTask
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   522
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   523
    ^CommitTask new workingCopy: self
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   524
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   525
    "Created: / 23-03-2009 / 11:47:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   526
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   527
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   528
mergeTask
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   529
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   530
    ^MergeTask new workingCopy: self
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   531
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   532
    "Created: / 25-11-2009 / 17:16:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   533
!
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   534
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   535
updateTask
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   536
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   537
    ^UpdateTask new workingCopy: self
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   538
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   539
    "Created: / 24-03-2009 / 15:13:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   540
! !
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   541
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   542
!WorkingCopy methodsFor:'commands'!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   543
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   544
cat: file
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   545
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   546
    ^self cat: file revision: SVN::Revision head
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   547
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   548
    "Created: / 19-04-2008 / 10:52:22 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   549
    "Modified: / 09-10-2008 / 20:16:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   550
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   551
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   552
cat: file revision: revision
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   553
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   554
    ^CatCommand new
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   555
        workingCopy: self;
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   556
        path: file;
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   557
        revision: revision;
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   558
        execute.
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   559
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   560
    "Created: / 19-04-2008 / 10:51:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   561
    "Modified: / 19-08-2009 / 10:00:59 / Jan Vrany <vranyj1@fel.cvut.cz>"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   562
    "Modified: / 02-01-2010 / 13:20:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   563
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   564
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   565
checkout
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   566
    |pkgDef|
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   567
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   568
    pkgDef := self packageDefinition.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   569
    self 
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   570
        checkout:(pkgDef ifNotNil:[ pkgDef svnRevision ] ifNil:[ SVN::Revision head ])
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   571
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   572
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   573
checkout:revision 
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   574
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   575
    "Checkout a working copy. If full is true, then
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   576
     full checkout is performed, i.e., whole subtree
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   577
     is checked out. If not, only project files and
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   578
     common subdirectories are check out"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   579
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   580
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   581
    ^self checkout: revision full: false
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   582
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   583
    "Created: / 31-03-2008 / 12:57:58 / janfrog"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   584
    "Modified: / 21-08-2009 / 17:45:43 / Jan Vrany <vranyj1@fel.cvut.cz>"
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   585
    "Modified: / 25-04-2011 / 15:19:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   586
!
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   587
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   588
checkout:revision full: full
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   589
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   590
    "Checkout a working copy. If full is true, then
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   591
     full checkout is performed, i.e., whole subtree
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   592
     is checked out. If not, only project files and
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   593
     common subdirectories are check out"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   594
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   595
    |checkoutInfo pkg |
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   596
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   597
    pkg := self package.
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   598
    self 
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   599
        synchronized:[
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   600
            self ensurePathExists.
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   601
            ActivityNotification notify:'Checking out ' , pkg.
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   602
            full ifTrue:[
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   603
                checkoutInfo := (CheckoutCommand new)
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   604
                                    revision:revision;
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   605
                                    depth: 'infinity';
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   606
                                    workingCopy:self;
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   607
                                    execute
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   608
            ] ifFalse:[
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   609
                "JV@2011-06-13: TODO: rewrite it so it does not set
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   610
                 inifinite depth on subpackages. This requires to
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   611
                 split this method..."
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   612
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   613
                | subdirs |
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   614
                checkoutInfo := (CheckoutCommand new)
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   615
                                    revision:revision;
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   616
                                    depth: 'immediates';
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   617
                                    workingCopy:self;
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   618
                                    execute.
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   619
                "Checkout common subdirs"
1121
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
   620
                subdirs := #('resources' 'bitmaps' 'autopackage' 'builder' 'java')
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   621
                                select:[:e| (path / e) isDirectory].
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   622
                checkoutInfo addAll:
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   623
                    (UpdateCommand new
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   624
                        workingCopy: self;
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   625
                        setDepth: 'infinity';
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   626
                        paths: subdirs;
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   627
                        execute
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   628
                    ).
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   629
                "Checkout nested packages"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   630
                subdirs := OrderedCollection new.
1165
d4d3563f8b06 #REFACTORING by mawalch
mawalch
parents: 1133
diff changeset
   631
                Smalltalk allPackageIDs do:
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   632
                    [:each |
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   633
                    (each size > pkg size and:[(each at: pkg size + 1) == $/ and:[each startsWith: pkg]]) ifTrue:
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   634
                        [subdirs add: ((each copyFrom: self package size + 2) replaceAll:$/ with: Filename separator)]].
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   635
                subdirs notEmpty ifTrue:[
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   636
                    subdirs := subdirs asSortedCollection:[:a :b| a size < b size].
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   637
                    checkoutInfo addAll:
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   638
                        (UpdateCommand new
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   639
                            workingCopy: self;
970
821fe8d5f76d changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 905
diff changeset
   640
                            setDepth: 'empty';
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   641
                            paths: subdirs;
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   642
                            execute
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   643
                    ).
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   644
                ]
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   645
            ]
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   646
        ].
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   647
    ^ checkoutInfo
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   648
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   649
    "Modified: / 21-08-2009 / 17:45:43 / Jan Vrany <vranyj1@fel.cvut.cz>"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   650
    "Created: / 25-04-2011 / 15:19:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1121
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
   651
    "Modified: / 04-09-2012 / 23:25:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   652
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   653
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   654
cleanup
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   655
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   656
    self ensurePathExists.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   657
    self isValid ifFalse:[^self].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   658
    ^CleanupCommand new
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   659
        workingCopy: self path;
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   660
        execute.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   661
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   662
    "Created: / 08-11-2008 / 08:12:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   663
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   664
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   665
commit:message 
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   666
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   667
    ^self commitTask
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   668
        message: message;
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   669
        do
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   670
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   671
    "Created: / 31-03-2008 / 13:11:15 / janfrog"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   672
    "Modified: / 07-04-2008 / 08:52:13 / janfrog"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   673
    "Modified: / 23-03-2009 / 11:48:06 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   674
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   675
1065
35d1106a2336 added: #commit:files:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1063
diff changeset
   676
commit:message files: files
35d1106a2336 added: #commit:files:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1063
diff changeset
   677
35d1106a2336 added: #commit:files:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1063
diff changeset
   678
    ^self commitTask
35d1106a2336 added: #commit:files:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1063
diff changeset
   679
        message: message;
35d1106a2336 added: #commit:files:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1063
diff changeset
   680
        paths: files;
35d1106a2336 added: #commit:files:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1063
diff changeset
   681
        do
35d1106a2336 added: #commit:files:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1063
diff changeset
   682
35d1106a2336 added: #commit:files:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1063
diff changeset
   683
    "Created: / 31-03-2008 / 13:11:15 / janfrog"
35d1106a2336 added: #commit:files:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1063
diff changeset
   684
    "Modified: / 07-04-2008 / 08:52:13 / janfrog"
35d1106a2336 added: #commit:files:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1063
diff changeset
   685
    "Modified: / 23-03-2009 / 11:48:06 / Jan Vrany <vranyj1@fel.cvut.cz>"
35d1106a2336 added: #commit:files:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1063
diff changeset
   686
    "Created: / 14-03-2012 / 17:15:25 / jv"
35d1106a2336 added: #commit:files:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1063
diff changeset
   687
!
35d1106a2336 added: #commit:files:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1063
diff changeset
   688
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   689
info: paths
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   690
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   691
    ^SVN::InfoCommand new
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   692
        workingCopy: self;
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   693
        paths: paths;
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   694
        execute
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   695
!
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   696
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   697
log
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   698
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   699
    ^self branch log
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   700
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   701
    "Created: / 19-04-2008 / 10:52:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   702
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   703
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   704
log: aString
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   705
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   706
    ^self branch log: aString
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   707
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   708
    "Created: / 19-04-2008 / 10:53:06 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   709
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   710
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   711
revert
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   712
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   713
    self ensurePathExists.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   714
    self isValid ifFalse:[^self checkout].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   715
    ^RevertCommand new
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   716
        workingCopy: self path;
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   717
        execute.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   718
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   719
    "Created: / 22-10-2008 / 16:46:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   720
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   721
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   722
revert: containers
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   723
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   724
    | revertInfo |
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   725
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   726
    self ensurePathExists.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   727
    self isValid ifFalse:[^self checkout].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   728
    self synchronized:
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   729
        [revertInfo := RevertCommand new
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   730
                            workingCopy: self;
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   731
                            paths: containers;
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   732
                            execute].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   733
    ^revertInfo
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   734
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   735
    "Created: / 03-11-2008 / 21:20:38 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   736
    "Modified: / 07-11-2008 / 08:54:38 / Jan Vrany <vranyj1@fel.cvut.cz>"
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   737
    "Modified: / 05-12-2009 / 20:16:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   738
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   739
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   740
status
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   741
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   742
    | status |
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   743
    self ensureIsValid.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   744
    self synchronized:
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   745
        [status := StatusCommand new
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   746
                    workingCopy: self;
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   747
                    execute].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   748
    ^status
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   749
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   750
    "Created: / 11-04-2008 / 09:22:13 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   751
    "Modified: / 19-08-2009 / 14:35:49 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   752
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   753
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   754
update
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   755
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   756
    | updateInfo |
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   757
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   758
    self ensurePathExists.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   759
    self isValid ifFalse:[^self checkout].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   760
    self synchronized:
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   761
        [updateInfo := UpdateCommand new
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   762
                            workingCopy: self path;
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   763
                            execute].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   764
    ^updateInfo
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   765
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   766
    "Created: / 21-05-2008 / 09:44:56 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   767
    "Modified: / 19-08-2009 / 12:25:15 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   768
! !
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   769
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   770
!WorkingCopy methodsFor:'error reporting'!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   771
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   772
error
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   773
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   774
    self error:'Unknown error'
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   775
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   776
    "Created: / 31-03-2008 / 12:44:06 / janfrog"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   777
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   778
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   779
error: aString
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   780
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   781
    WCError raiseWith:#error: errorString:aString
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   782
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   783
    "Created: / 31-03-2008 / 12:43:51 / janfrog"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   784
! !
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   785
795
79b13f902c1b changed: #inspector2TabBrowser
Claus Gittinger <cg@exept.de>
parents: 678
diff changeset
   786
!WorkingCopy methodsFor:'inspecting'!
79b13f902c1b changed: #inspector2TabBrowser
Claus Gittinger <cg@exept.de>
parents: 678
diff changeset
   787
1043
63ec5f7c5762 Added #browse
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1027
diff changeset
   788
browse
63ec5f7c5762 Added #browse
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1027
diff changeset
   789
    "Opens a file browser on the working copy"
63ec5f7c5762 Added #browse
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1027
diff changeset
   790
63ec5f7c5762 Added #browse
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1027
diff changeset
   791
    UserPreferences current fileBrowserClass
63ec5f7c5762 Added #browse
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1027
diff changeset
   792
        openOnDirectory: path asFilename
63ec5f7c5762 Added #browse
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1027
diff changeset
   793
63ec5f7c5762 Added #browse
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1027
diff changeset
   794
    "Created: / 04-02-2012 / 17:14:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
63ec5f7c5762 Added #browse
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1027
diff changeset
   795
!
63ec5f7c5762 Added #browse
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1027
diff changeset
   796
795
79b13f902c1b changed: #inspector2TabBrowser
Claus Gittinger <cg@exept.de>
parents: 678
diff changeset
   797
inspector2TabBrowser
79b13f902c1b changed: #inspector2TabBrowser
Claus Gittinger <cg@exept.de>
parents: 678
diff changeset
   798
79b13f902c1b changed: #inspector2TabBrowser
Claus Gittinger <cg@exept.de>
parents: 678
diff changeset
   799
    self exists ifTrue:[
79b13f902c1b changed: #inspector2TabBrowser
Claus Gittinger <cg@exept.de>
parents: 678
diff changeset
   800
        ^self newInspector2Tab
79b13f902c1b changed: #inspector2TabBrowser
Claus Gittinger <cg@exept.de>
parents: 678
diff changeset
   801
           label: 'Working copy';
79b13f902c1b changed: #inspector2TabBrowser
Claus Gittinger <cg@exept.de>
parents: 678
diff changeset
   802
            priority: 35;
79b13f902c1b changed: #inspector2TabBrowser
Claus Gittinger <cg@exept.de>
parents: 678
diff changeset
   803
            application: (SVN::WorkingCopyBrowser on: self)
79b13f902c1b changed: #inspector2TabBrowser
Claus Gittinger <cg@exept.de>
parents: 678
diff changeset
   804
    ] ifFalse:[
79b13f902c1b changed: #inspector2TabBrowser
Claus Gittinger <cg@exept.de>
parents: 678
diff changeset
   805
        ^self newInspector2Tab
79b13f902c1b changed: #inspector2TabBrowser
Claus Gittinger <cg@exept.de>
parents: 678
diff changeset
   806
           label: 'Working copy';
79b13f902c1b changed: #inspector2TabBrowser
Claus Gittinger <cg@exept.de>
parents: 678
diff changeset
   807
           priority: 35;
79b13f902c1b changed: #inspector2TabBrowser
Claus Gittinger <cg@exept.de>
parents: 678
diff changeset
   808
           view: (Label new label:'Not yet checked out'; yourself)    
79b13f902c1b changed: #inspector2TabBrowser
Claus Gittinger <cg@exept.de>
parents: 678
diff changeset
   809
    ]
79b13f902c1b changed: #inspector2TabBrowser
Claus Gittinger <cg@exept.de>
parents: 678
diff changeset
   810
79b13f902c1b changed: #inspector2TabBrowser
Claus Gittinger <cg@exept.de>
parents: 678
diff changeset
   811
    "Modified: / 14-04-2011 / 17:42:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
79b13f902c1b changed: #inspector2TabBrowser
Claus Gittinger <cg@exept.de>
parents: 678
diff changeset
   812
    "Modified: / 13-09-2011 / 11:56:28 / cg"
79b13f902c1b changed: #inspector2TabBrowser
Claus Gittinger <cg@exept.de>
parents: 678
diff changeset
   813
! !
79b13f902c1b changed: #inspector2TabBrowser
Claus Gittinger <cg@exept.de>
parents: 678
diff changeset
   814
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   815
!WorkingCopy methodsFor:'private'!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   816
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   817
branchFromQuery
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   818
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   819
    ^BranchQuery new 
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   820
        repository: repository;
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   821
        raiseRequest.
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   822
!
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   823
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   824
branchFromWorkingCopy
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   825
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   826
    | info bpath |
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   827
    info := (self info:#('.')) anyOne.
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   828
    bpath := info url copyFrom: info root size + 1.
1006
f318a4c6a09d Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 998
diff changeset
   829
    repository isNil ifTrue:[
f318a4c6a09d Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 998
diff changeset
   830
        repository := Repository package: nil url: info root.
f318a4c6a09d Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 998
diff changeset
   831
    ].
f318a4c6a09d Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 998
diff changeset
   832
    ^path isEmptyOrNil
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   833
        ifTrue:[nil]
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   834
        ifFalse:[Branch repository: repository path: bpath].
1006
f318a4c6a09d Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 998
diff changeset
   835
f318a4c6a09d Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 998
diff changeset
   836
    "Modified: / 08-02-2012 / 18:20:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   837
!
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   838
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   839
commited
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   840
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   841
    packageExtensionsChanged := false.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   842
    packageClassesChanged := false.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   843
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   844
    "Created: / 13-08-2009 / 10:23:19 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   845
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   846
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   847
computePackageClassesChanged
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   848
    "
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   849
        Answers true iff package classes differs from
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   850
        those listed in ProjectDefinition>>classNamesAndAttributes"
1123
68bc201d0f7e changed: #computePackageClassesChanged
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1121
diff changeset
   851
68bc201d0f7e changed: #computePackageClassesChanged
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1121
diff changeset
   852
    |listedClasses realClasses pkgDef |
68bc201d0f7e changed: #computePackageClassesChanged
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1121
diff changeset
   853
68bc201d0f7e changed: #computePackageClassesChanged
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1121
diff changeset
   854
    (pkgDef := self packageDefinition) isNil ifTrue:[^true].
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   855
1123
68bc201d0f7e changed: #computePackageClassesChanged
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1121
diff changeset
   856
    listedClasses :=    pkgDef compiled_classNames_common ,
68bc201d0f7e changed: #computePackageClassesChanged
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1121
diff changeset
   857
                        pkgDef compiled_classNamesForPlatform ,
68bc201d0f7e changed: #computePackageClassesChanged
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1121
diff changeset
   858
                        pkgDef autoloaded_classNames.
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   859
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   860
    realClasses := self  packageClasses collect:[:cls | cls fullName ].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   861
    listedClasses size ~= realClasses size 
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   862
        ifTrue:[^ true].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   863
    (realClasses allSatisfy:[:realClass | listedClasses includes:realClass ])
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   864
        ifFalse:[^true].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   865
    ^false
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   866
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   867
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   868
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   869
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   870
    "
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   871
        (CommitTask new package: 'stx:libsvn')
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   872
            computePackageClassesChanged
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   873
        (CommitTask new package: 'cvut:fel/smallruby')
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   874
            computePackageClassesChanged
1123
68bc201d0f7e changed: #computePackageClassesChanged
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1121
diff changeset
   875
        (SVN::RepositoryManager workingCopyForPackage: #'stx:libbasic')
68bc201d0f7e changed: #computePackageClassesChanged
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1121
diff changeset
   876
            computePackageClassesChanged 
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   877
    "
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   878
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   879
    "Created: / 16-06-2009 / 10:08:28 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   880
    "Modified: / 18-08-2009 / 10:47:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
1123
68bc201d0f7e changed: #computePackageClassesChanged
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1121
diff changeset
   881
    "Modified (comment): / 07-09-2012 / 11:43:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   882
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   883
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   884
computePackageExtensionsChanged
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   885
    "
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   886
        Answers true iff package extension method differs from
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   887
        those listed in ProjectDefinition>>extensionMethodNames"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   888
    
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   889
    |listedExtensions listedExtensionsDictionary realExtensions|
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   890
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   891
    realExtensions := self  packageExtensions.
1101
ffc2b5e1104f comment/format in: #computePackageExtensionsChanged
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1065
diff changeset
   892
    listedExtensions := self packageDefinition 
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   893
                extensionMethodNames.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   894
    (listedExtensions size / 2) ~= realExtensions size ifTrue:[
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   895
        ^ true
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   896
    ].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   897
    listedExtensionsDictionary := Dictionary new.
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   898
    listedExtensions 
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   899
        pairWiseDo:[:className :selector | 
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   900
            (listedExtensionsDictionary at:className
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   901
                ifAbsentPut:[ OrderedCollection new ]) add:selector
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   902
        ].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   903
    ^ (realExtensions 
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   904
        allSatisfy:[:mth | 
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   905
            (listedExtensionsDictionary includesKey:mth mclass name) 
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   906
                and:[ (listedExtensionsDictionary at:mth mclass name) includes:mth selector ]
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   907
        ]) 
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   908
            not
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   909
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   910
    "
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   911
        (CommitTask new package: 'stx:libsvn')
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   912
            packageExtensionsHasChanged"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   913
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   914
    "Created: / 16-06-2009 / 10:11:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   915
    "Modified: / 13-08-2009 / 10:27:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
1101
ffc2b5e1104f comment/format in: #computePackageExtensionsChanged
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1065
diff changeset
   916
    "Modified (format): / 04-05-2012 / 17:12:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   917
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   918
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   919
ensureIsValid
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   920
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   921
    self isValid ifFalse:
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   922
        [self checkout].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   923
    self isValid ifFalse:[self error:'Cannot create working copy']
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   924
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   925
    "Created: / 08-04-2008 / 14:19:28 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   926
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   927
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   928
ensureMethodsHasAbsoluteSourceFiles
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   929
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   930
    Smalltalk allClassesDo:
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   931
        [:cls| | tryLocalSourceFirst makeLocalSource |
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   932
        makeLocalSource :=  
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   933
            [:mth|
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   934
            mth package = self package ifTrue:
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   935
                [mth makeSourceFileAbsolute]].
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   936
        tryLocalSourceFirst := Class tryLocalSourceFirst.
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   937
        Class tryLocalSourceFirst: true.
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   938
        cls methodsDo: makeLocalSource.
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   939
        cls class methodsDo: makeLocalSource.
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   940
        Class tryLocalSourceFirst: tryLocalSourceFirst.].
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   941
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   942
    "Created: / 21-08-2009 / 17:33:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   943
    "Modified: / 09-01-2010 / 16:07:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   944
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   945
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   946
ensurePathExists
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   947
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   948
     [path exists ifFalse:
1063
75f4338d821a changed: #ensurePathExists
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1043
diff changeset
   949
        ["/self ensureMethodsHasAbsoluteSourceFiles.
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   950
        path recursiveMakeDirectory
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   951
        ]]
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   952
        on: Smalltalk::Error do:[:ex|self error:'Cannot create working copy'].
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   953
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   954
    "Created: / 08-04-2008 / 14:26:56 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   955
    "Modified: / 21-08-2009 / 17:46:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   956
    "Modified: / 09-01-2010 / 16:07:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1063
75f4338d821a changed: #ensurePathExists
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1043
diff changeset
   957
    "Modified: / 14-03-2012 / 11:17:21 / jv"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   958
! !
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   959
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   960
!WorkingCopy methodsFor:'private - file out'!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   961
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   962
fileOutClass:cls
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   963
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   964
    |stream|
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   965
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   966
    [stream := self  containersWriteStreamForClass:cls.
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   967
    self fileOutClass:cls on:stream]
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   968
        ensure:[ stream ifNotNil:[ stream close ]]
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   969
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   970
    "Modified: / 11-06-2009 / 16:18:19 / Jan Vrany <vranyj1@fel.cvut.cz>"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   971
    "Created: / 30-12-2009 / 19:04:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   972
!
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   973
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   974
fileOutClass:cls on:clsStream
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   975
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   976
"/    cls methodDictionary do:
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   977
"/        [:each|each makeLocalStringSource].
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   978
"/
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   979
"/    cls class methodDictionary do:
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   980
"/        [:each|each makeLocalStringSource].
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   981
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   982
    SVNSourceCodeManager
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   983
                fileOutSourceCodeOf:cls 
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   984
                                 on:clsStream 
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   985
                      withTimeStamp:false 
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   986
                     withInitialize:true 
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   987
                     withDefinition:true
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   988
                       methodFilter:[:mth | mth package = self package ]
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   989
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   990
    "
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   991
        String streamContents:[:s|
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   992
            (SVN::RepositoryManager repositoryForPackage: Setup::ML package)
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   993
                workingCopy
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   994
                fileOutClass: Setup::ML on: s
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   995
        ]
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   996
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
   997
    "
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   998
6453ecf86e2e initial checkin
fm
parents:
diff changeset
   999
    "Created: / 19-04-2008 / 09:58:11 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
  1000
    "Modified: / 11-06-2009 / 16:18:19 / Jan Vrany <vranyj1@fel.cvut.cz>"
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1001
    "Modified: / 07-07-2011 / 20:21:59 / jv"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1002
    "Modified (format): / 07-07-2011 / 20:29:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1003
!
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1004
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1005
fileOutExtensions: extensionMethods
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1006
1121
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1007
    ^self fileOutExtensions: extensionMethods in: self path
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1008
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1009
    "Created: / 30-12-2009 / 19:01:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
  1010
!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
  1011
1121
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1012
fileOutExtensions: extensionMethods in: directory
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1013
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1014
    ProgrammingLanguage all do:[:lang| 
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1015
        | stream methods |
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1016
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1017
        methods := extensionMethods select:[:mth|mth programmingLanguage = lang].
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1018
        methods notEmpty ifTrue: [
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1019
            ActivityNotification notify:'Filing out extension methods (', lang name , ')'.
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1020
            self fileOutExtensions: methods in: directory language: lang
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1021
        ]
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1022
    ]
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1023
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1024
    "Created: / 04-09-2012 / 22:56:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1025
!
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1026
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1027
fileOutExtensions: extensionMethods in: directory language: lang
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1028
    "Given a directory, files out extensions methods in given language.
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1029
     Takes care about Java extensions, as they are filed out separately
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1030
     in per-classe .st file in <package dir>/java/extensions/<package>/<java classname>.st"
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1031
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1032
    | stream nonJavaExtensionsMethod javaExtensionsMethods |
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1033
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1034
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1035
    stream := self containerWriteStreamForExtensions: lang.
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1036
    [
1132
00958c45023c fixed #fileOutExtensions:in:language: (filing out of Java extensions)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1123
diff changeset
  1037
        nonJavaExtensionsMethod := extensionMethods reject:[:each|each mclass theNonMetaclass isJavaClass].
1121
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1038
        self fileOutExtensions: nonJavaExtensionsMethod on: stream language: lang.
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1039
    ] ensure:[
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1040
        stream close
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1041
    ].
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1042
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1043
    javaExtensionsMethods := Dictionary new.
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1044
    extensionMethods do:[:mthd|
1132
00958c45023c fixed #fileOutExtensions:in:language: (filing out of Java extensions)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1123
diff changeset
  1045
        mthd mclass  theNonMetaclass isJavaClass ifTrue:[
1121
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1046
            (javaExtensionsMethods at: mthd mclass ifAbsentPut:[OrderedCollection new]) add: mthd.
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1047
        ].
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1048
    ].
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1049
    javaExtensionsMethods keysAndValuesDo:[:cls :methods|
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1050
        [
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1051
            stream := self containerWriteStreamForExtensions: lang javaClass: cls.
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1052
            self fileOutExtensions: methods on: stream language: lang.
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1053
        ] ensure:[
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1054
            stream close.
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1055
        ]
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1056
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1057
    ]
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1058
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1059
    "Created: / 04-09-2012 / 23:05:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1132
00958c45023c fixed #fileOutExtensions:in:language: (filing out of Java extensions)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1123
diff changeset
  1060
    "Modified: / 05-11-2012 / 00:09:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1121
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1061
!
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1062
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1063
fileOutExtensions: extensionMethods on:stream language: language 
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1064
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1065
    extensionMethods do:[:each|each makeLocalStringSource].
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1066
973
3cbefbe6ddc2 changed: #fileOutExtensions:on:language:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 970
diff changeset
  1067
    "Special hack for Smalltalk - use SourceCodeManager routine"
1133
e9572eb610f8 changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1132
diff changeset
  1068
    (language isSmalltalk and:[extensionMethods anyOne mclass theNonMetaclass isJavaClass not]) ifTrue:[
1121
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1069
        SVNSourceCodeManager fileOutSourceCodeExtensions: extensionMethods package: self package on: stream.
58f2f87dd37e Support for Java extension methods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1101
diff changeset
  1070
        ^self.
973
3cbefbe6ddc2 changed: #fileOutExtensions:on:language:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 970
diff changeset
  1071
    ].
3cbefbe6ddc2 changed: #fileOutExtensions:on:language:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 970
diff changeset
  1072
3cbefbe6ddc2 changed: #fileOutExtensions:on:language:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 970
diff changeset
  1073
    "/ Generic fileout "
3cbefbe6ddc2 changed: #fileOutExtensions:on:language:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 970
diff changeset
  1074
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1075
    language sourceFileWriterClass new
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1076
        fileOutPackageDefinition: self package on: stream;
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1077
        fileOutMethods: extensionMethods on: stream
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1078
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1079
    "Modified: / 15-06-2009 / 11:55:26 / Jan Vrany <vranyj1@fel.cvut.cz>"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1080
    "Created: / 30-12-2009 / 19:01:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1133
e9572eb610f8 changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1132
diff changeset
  1081
    "Modified: / 07-11-2012 / 23:54:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1082
! !
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1083
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1084
!WorkingCopy methodsFor:'queries'!
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
  1085
678
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1086
exists
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1087
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1088
    ^self isValid
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1089
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1090
    "Created: / 09-12-2010 / 23:36:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1091
!
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1092
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1093
hasBranch
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1094
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1095
    branch ifNotNil:[^true].
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1096
    ^repository preferredBranch 
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1097
        ifNotNil:[self branchOrNil notNil]
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1098
        ifNil:[repository branches size == 1]
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1099
b63530301573 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 384
diff changeset
  1100
    "Modified: / 29-03-2010 / 13:57:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
  1101
! !
6453ecf86e2e initial checkin
fm
parents:
diff changeset
  1102
6453ecf86e2e initial checkin
fm
parents:
diff changeset
  1103
!WorkingCopy methodsFor:'testing'!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
  1104
6453ecf86e2e initial checkin
fm
parents:
diff changeset
  1105
isValid
6453ecf86e2e initial checkin
fm
parents:
diff changeset
  1106
1101
ffc2b5e1104f comment/format in: #computePackageExtensionsChanged
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1065
diff changeset
  1107
    | svnMetadataDir contents |
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
  1108
970
821fe8d5f76d changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 905
diff changeset
  1109
    svnMetadataDir := self path / '.svn'.
821fe8d5f76d changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 905
diff changeset
  1110
    svnMetadataDir exists ifFalse:[ ^false ].
1162
6558c17e1a7f Fixed for use with SVN 1.7+
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1133
diff changeset
  1111
    (svnMetadataDir / 'wc.db') exists ifTrue:[ ^ true ].
970
821fe8d5f76d changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 905
diff changeset
  1112
    (svnMetadataDir / 'entries') exists  ifFalse:[ ^false ].
821fe8d5f76d changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 905
diff changeset
  1113
    (svnMetadataDir / 'text-base') exists ifFalse:[ ^false ].
821fe8d5f76d changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 905
diff changeset
  1114
1101
ffc2b5e1104f comment/format in: #computePackageExtensionsChanged
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1065
diff changeset
  1115
    ((contents := self path directoryContents) size = 1 
ffc2b5e1104f comment/format in: #computePackageExtensionsChanged
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1065
diff changeset
  1116
        and:[contents anElement ~= '.svn']) ifTrue:[ ^ false ].
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
  1117
6453ecf86e2e initial checkin
fm
parents:
diff changeset
  1118
    ^true
6453ecf86e2e initial checkin
fm
parents:
diff changeset
  1119
6453ecf86e2e initial checkin
fm
parents:
diff changeset
  1120
    "Created: / 08-04-2008 / 14:17:03 / Jan Vrany <vranyj1@fel.cvut.cz>"
6453ecf86e2e initial checkin
fm
parents:
diff changeset
  1121
    "Modified: / 16-07-2009 / 13:57:03 / Jan Vrany <vranyj1@fel.cvut.cz>"
1162
6558c17e1a7f Fixed for use with SVN 1.7+
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1133
diff changeset
  1122
    "Modified: / 15-01-2016 / 23:14:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
  1123
! !
6453ecf86e2e initial checkin
fm
parents:
diff changeset
  1124
6453ecf86e2e initial checkin
fm
parents:
diff changeset
  1125
!WorkingCopy class methodsFor:'documentation'!
6453ecf86e2e initial checkin
fm
parents:
diff changeset
  1126
905
58dc08c9d3b4 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 795
diff changeset
  1127
version
58dc08c9d3b4 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 795
diff changeset
  1128
    ^ '$Header$'
58dc08c9d3b4 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 795
diff changeset
  1129
!
58dc08c9d3b4 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 795
diff changeset
  1130
1133
e9572eb610f8 changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1132
diff changeset
  1131
version_CVS
e9572eb610f8 changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1132
diff changeset
  1132
    ^ '$Header$'
e9572eb610f8 changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1132
diff changeset
  1133
!
e9572eb610f8 changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1132
diff changeset
  1134
137
c262be330384 changed: #version_SVN
fm
parents: 57
diff changeset
  1135
version_SVN
1165
d4d3563f8b06 #REFACTORING by mawalch
mawalch
parents: 1133
diff changeset
  1136
    ^ '$Id$'
57
6453ecf86e2e initial checkin
fm
parents:
diff changeset
  1137
! !
1165
d4d3563f8b06 #REFACTORING by mawalch
mawalch
parents: 1133
diff changeset
  1138