SVN__CommitTask.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 13 Feb 2012 19:53:51 +0100
changeset 1042 e1e57dbcd43e
parent 1039 32df668f0aa6
child 1066 e05c09a0df44
permissions -rw-r--r--
changed: #doSanityChecks
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
675
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     1
"
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     2
 Copyright (c) 2007-2010 Jan Vrany
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     3
 Copyright (c) 2009-2010 eXept Software AG
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     4
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     5
 Permission is hereby granted, free of charge, to any person
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     6
 obtaining a copy of this software and associated documentation
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     7
 files (the 'Software'), to deal in the Software without
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     8
 restriction, including without limitation the rights to use,
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     9
 copy, modify, merge, publish, distribute, sublicense, and/or sell
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    10
 copies of the Software, and to permit persons to whom the
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    11
 Software is furnished to do so, subject to the following
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    12
 conditions:
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    13
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    14
 The above copyright notice and this permission notice shall be
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    15
 included in all copies or substantial portions of the Software.
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    16
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    17
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    18
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    19
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    20
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    21
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    22
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    23
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    24
 OTHER DEALINGS IN THE SOFTWARE.
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    25
"
383
014a38aee2e8 *** empty log message ***
fm
parents: 282
diff changeset
    26
"{ Package: 'stx:libsvn' }"
49
033a7e409639 initial checkin
fm
parents:
diff changeset
    27
033a7e409639 initial checkin
fm
parents:
diff changeset
    28
"{ NameSpace: SVN }"
033a7e409639 initial checkin
fm
parents:
diff changeset
    29
492
74ff0960961c *** empty log message ***
fm
parents: 383
diff changeset
    30
FileoutLikeTask subclass:#CommitTask
1005
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
    31
	instanceVariableNames:'message paths'
49
033a7e409639 initial checkin
fm
parents:
diff changeset
    32
	classVariableNames:''
033a7e409639 initial checkin
fm
parents:
diff changeset
    33
	poolDictionaries:''
033a7e409639 initial checkin
fm
parents:
diff changeset
    34
	category:'SVN-Tasks'
033a7e409639 initial checkin
fm
parents:
diff changeset
    35
!
033a7e409639 initial checkin
fm
parents:
diff changeset
    36
675
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    37
!CommitTask class methodsFor:'documentation'!
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    38
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    39
copyright
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    40
"
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    41
 Copyright (c) 2007-2010 Jan Vrany
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    42
 Copyright (c) 2009-2010 eXept Software AG
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    43
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    44
 Permission is hereby granted, free of charge, to any person
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    45
 obtaining a copy of this software and associated documentation
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    46
 files (the 'Software'), to deal in the Software without
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    47
 restriction, including without limitation the rights to use,
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    48
 copy, modify, merge, publish, distribute, sublicense, and/or sell
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    49
 copies of the Software, and to permit persons to whom the
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    50
 Software is furnished to do so, subject to the following
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    51
 conditions:
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    52
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    53
 The above copyright notice and this permission notice shall be
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    54
 included in all copies or substantial portions of the Software.
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    55
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    56
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    57
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    58
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    59
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    60
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    61
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    62
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    63
 OTHER DEALINGS IN THE SOFTWARE.
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    64
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    65
"
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    66
! !
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    67
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    68
!CommitTask class methodsFor:'others'!
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    69
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    70
version_CVS
887
712c4ef37cb7 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 675
diff changeset
    71
    ^ '$Header$'
675
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    72
! !
49
033a7e409639 initial checkin
fm
parents:
diff changeset
    73
033a7e409639 initial checkin
fm
parents:
diff changeset
    74
!CommitTask methodsFor:'accessing'!
033a7e409639 initial checkin
fm
parents:
diff changeset
    75
675
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    76
message
492
74ff0960961c *** empty log message ***
fm
parents: 383
diff changeset
    77
675
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    78
    message ifNil:[
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    79
        | changedClasses changedMethods |
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    80
        changedClasses := OrderedSet new.
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    81
        changedMethods := OrderedSet new.
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    82
        (ChangeSet current changesForPackage: package) do:
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    83
            [:chg| | chgCls |        
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    84
            chg isClassChange ifTrue:
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    85
                [(chgCls := chg changeClass theNonMetaclass) package == package
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    86
                    ifTrue:
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    87
                        [(classes isNil or:[classes includes: chgCls]) ifTrue:
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    88
                            [changedClasses add: chgCls]]
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    89
                    ifFalse:
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    90
                        [chg isMethodDefinitionChange ifTrue:
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    91
                            [changedMethods add: chg changeMethod]]]].
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    92
        message := String streamContents:
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    93
            [:s|
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    94
            s cr.
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    95
            changedClasses isEmpty ifFalse:
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    96
                [s nextPutLine:'## Changed classes:'.
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    97
                changedClasses do:
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    98
                    [:cls|s nextPutAll:'##   ';nextPutAll: cls name; cr]].
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    99
            changedMethods isEmpty ifFalse:
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   100
                [s nextPutLine:'## Changed methods:'.
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   101
                changedMethods do:
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   102
                    [:m|
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   103
                    s   nextPutAll:'##   '; nextPutAll: m mclass name; 
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   104
                        nextPutAll:' >> #'; nextPutAll: m selector;  cr]].     
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   105
            s nextPutLine:'##'.
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   106
            s nextPutLine:'## Lines starting with ## will be removed'.
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   107
    ]].
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   108
    ^message.
49
033a7e409639 initial checkin
fm
parents:
diff changeset
   109
675
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   110
    "Modified: / 01-08-2010 / 13:02:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
49
033a7e409639 initial checkin
fm
parents:
diff changeset
   111
!
033a7e409639 initial checkin
fm
parents:
diff changeset
   112
033a7e409639 initial checkin
fm
parents:
diff changeset
   113
message:aString
033a7e409639 initial checkin
fm
parents:
diff changeset
   114
    message := aString.
1005
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   115
!
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   116
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   117
paths
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   118
    ^ paths
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   119
!
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   120
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   121
paths:aCollection
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   122
    paths := aCollection.
49
033a7e409639 initial checkin
fm
parents:
diff changeset
   123
! !
033a7e409639 initial checkin
fm
parents:
diff changeset
   124
033a7e409639 initial checkin
fm
parents:
diff changeset
   125
!CommitTask methodsFor:'executing'!
033a7e409639 initial checkin
fm
parents:
diff changeset
   126
033a7e409639 initial checkin
fm
parents:
diff changeset
   127
do
033a7e409639 initial checkin
fm
parents:
diff changeset
   128
    self
675
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   129
        doPrepareWorkingCopy;
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   130
        doCommit
49
033a7e409639 initial checkin
fm
parents:
diff changeset
   131
033a7e409639 initial checkin
fm
parents:
diff changeset
   132
    "Created: / 23-03-2009 / 11:15:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
033a7e409639 initial checkin
fm
parents:
diff changeset
   133
    "Modified: / 17-06-2009 / 10:16:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
033a7e409639 initial checkin
fm
parents:
diff changeset
   134
!
033a7e409639 initial checkin
fm
parents:
diff changeset
   135
033a7e409639 initial checkin
fm
parents:
diff changeset
   136
doCommit
675
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   137
    |containers commitInfo msg|
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   138
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   139
    msg := ((message ? '<no commit message>') asStringCollection
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   140
                reject: [:line|line size >= 2 and:[line first == $# and:[line second == $#]]])
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   141
                asString.
49
033a7e409639 initial checkin
fm
parents:
diff changeset
   142
675
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   143
    self do:[
1005
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   144
        ActivityNotification notify:'Commiting ' , (self package ? '').
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   145
        containers := paths notNil ifTrue:[
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   146
            paths
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   147
        ] ifFalse:[
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   148
            self isSelectiveFileoutTask ifTrue:[
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   149
                self containersToFileOut
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   150
            ] ifFalse:[ 
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   151
                #() 
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   152
            ]
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   153
        ].
1037
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   154
        (paths notNil and:[paths isEmpty]) ifFalse:[
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   155
            self 
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   156
                synchronized:[
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   157
                    commitInfo := (CommitCommand new)
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   158
                                workingCopy:self workingCopy;
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   159
                                message: msg;
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   160
                                paths:containers;
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   161
                                execute.
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   162
                     "Update the working copy. We need svn info
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   163
                     to report commited revision"
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   164
                    (UpdateCommand new)
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   165
                        workingCopy:self workingCopy;
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   166
                        execute
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   167
                ].
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   168
            "Do this only iff this is a package commit"
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   169
            package notNil ifTrue:[
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   170
                self doCompileSvnRevisionNrMethod:true.
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   171
                self doCompileSvnRepositoryUrlStringMethod.        
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   172
                ActivityNotification notify:'Shrinking changes'.
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   173
                (ChangeSet current)
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   174
                    condenseChangesForPackage2:self package;
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   175
                    condenseChangesForExtensionsInPackage:self package;
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   176
                    flushChangedClassesCache;
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   177
                    yourself.
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   178
                ].
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   179
        ]
675
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   180
    ].
49
033a7e409639 initial checkin
fm
parents:
diff changeset
   181
    self workingCopy commited.
033a7e409639 initial checkin
fm
parents:
diff changeset
   182
    ^ commitInfo
033a7e409639 initial checkin
fm
parents:
diff changeset
   183
033a7e409639 initial checkin
fm
parents:
diff changeset
   184
    "Created: / 11-04-2008 / 09:20:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
033a7e409639 initial checkin
fm
parents:
diff changeset
   185
    "Modified: / 19-08-2009 / 12:27:44 / Jan Vrany <vranyj1@fel.cvut.cz>"
1037
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   186
    "Modified: / 10-02-2012 / 15:28:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
49
033a7e409639 initial checkin
fm
parents:
diff changeset
   187
!
033a7e409639 initial checkin
fm
parents:
diff changeset
   188
675
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   189
doPrepareWorkingCopy
1019
57e0efa7b31c improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1005
diff changeset
   190
1039
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   191
    self isPackageCommit ifTrue:[
1019
57e0efa7b31c improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1005
diff changeset
   192
        self do:[
57e0efa7b31c improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1005
diff changeset
   193
            self workingCopy ensureIsValid.
57e0efa7b31c improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1005
diff changeset
   194
            self doFileOutAll
57e0efa7b31c improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1005
diff changeset
   195
        ]
57e0efa7b31c improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1005
diff changeset
   196
    ].
49
033a7e409639 initial checkin
fm
parents:
diff changeset
   197
033a7e409639 initial checkin
fm
parents:
diff changeset
   198
    "Created: / 11-04-2008 / 09:19:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
033a7e409639 initial checkin
fm
parents:
diff changeset
   199
    "Modified: / 17-08-2009 / 18:28:34 / Jan Vrany <vranyj1@fel.cvut.cz>"
1039
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   200
    "Modified: / 13-02-2012 / 16:38:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   201
!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   202
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   203
doSanityChecks
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   204
    "Perform some sanity checks on the package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   205
     (or individual classes and/or methods). Returns
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   206
     a collection (possibly empty) of found issues."
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   207
1042
e1e57dbcd43e changed: #doSanityChecks
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1039
diff changeset
   208
    self isPackageCommit ifFalse:[ ^ nil ].
e1e57dbcd43e changed: #doSanityChecks
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1039
diff changeset
   209
    OperatingSystem getLoginName ~= 'jv' ifTrue:[^nil].
1039
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   210
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   211
    ^ProjectChecker new 
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   212
        package: self package;
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   213
        classes: classes;
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   214
        methods: extensionMethods;
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   215
        check;
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   216
        problems
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   217
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   218
    "Created: / 11-04-2008 / 09:19:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   219
    "Modified: / 17-08-2009 / 18:28:34 / Jan Vrany <vranyj1@fel.cvut.cz>"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   220
    "Created: / 13-02-2012 / 16:36:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   221
! !
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   222
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   223
!CommitTask methodsFor:'testing'!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   224
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   225
isPackageCommit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   226
    "Returns true iff this task is for a package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   227
     (or part of it). False if this is ad-hoc commit task -
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   228
    for example ad-hoc commit from a file browser"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   229
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   230
    ^ self package notNil
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   232
    "Modified (comment): / 13-02-2012 / 16:38:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
49
033a7e409639 initial checkin
fm
parents:
diff changeset
   233
! !
033a7e409639 initial checkin
fm
parents:
diff changeset
   234
033a7e409639 initial checkin
fm
parents:
diff changeset
   235
!CommitTask class methodsFor:'documentation'!
033a7e409639 initial checkin
fm
parents:
diff changeset
   236
033a7e409639 initial checkin
fm
parents:
diff changeset
   237
version
887
712c4ef37cb7 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 675
diff changeset
   238
    ^ '$Header$'
198
9942a71487d0 changed: #version_SVN
fm
parents: 49
diff changeset
   239
!
9942a71487d0 changed: #version_SVN
fm
parents: 49
diff changeset
   240
9942a71487d0 changed: #version_SVN
fm
parents: 49
diff changeset
   241
version_SVN
887
712c4ef37cb7 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 675
diff changeset
   242
    ^ '§Id: SVN__CommitTask.st 371 2011-09-28 18:47:07Z vranyj1 §'
49
033a7e409639 initial checkin
fm
parents:
diff changeset
   243
! !