SVN__CommitTask.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 02 Jul 2018 08:45:59 +0200
branchjv
changeset 1186 9e617064233f
parent 1115 9e43cb31c027
permissions -rw-r--r--
Tagged Smalltalk/X 8.0.0
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:[
1089
9b5c701b0ae6 changed: #message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1069
diff changeset
    79
        message := String streamContents: [:s|
9b5c701b0ae6 changed: #message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1069
diff changeset
    80
            | classes methods msg |    
9b5c701b0ae6 changed: #message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1069
diff changeset
    81
            classes := self classesToFileOut.
9b5c701b0ae6 changed: #message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1069
diff changeset
    82
            methods := self extensionMethodsToFileOut.
9b5c701b0ae6 changed: #message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1069
diff changeset
    83
            classes do:[:cls|
9b5c701b0ae6 changed: #message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1069
diff changeset
    84
                msg := SVNSourceCodeManager utilities goodInitialLogMessageForCheckinClassOfClass:cls.
9b5c701b0ae6 changed: #message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1069
diff changeset
    85
                msg notEmptyOrNil ifTrue: [
9b5c701b0ae6 changed: #message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1069
diff changeset
    86
                    s nextPutLine: ' - ', cls name.
9b5c701b0ae6 changed: #message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1069
diff changeset
    87
                    msg asStringCollection do:[:line|
9b5c701b0ae6 changed: #message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1069
diff changeset
    88
                        s nextPutAll:'    '; nextPutLine: line.
9b5c701b0ae6 changed: #message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1069
diff changeset
    89
                    ]
9b5c701b0ae6 changed: #message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1069
diff changeset
    90
                ].
9b5c701b0ae6 changed: #message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1069
diff changeset
    91
            ].
9b5c701b0ae6 changed: #message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1069
diff changeset
    92
            methods notEmptyOrNil ifTrue:[
9b5c701b0ae6 changed: #message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1069
diff changeset
    93
                s nextPutLine: ' - extensions'.
9b5c701b0ae6 changed: #message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1069
diff changeset
    94
                s nextPutLine: '    ...'.
9b5c701b0ae6 changed: #message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1069
diff changeset
    95
            ].
9b5c701b0ae6 changed: #message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1069
diff changeset
    96
        ]
9b5c701b0ae6 changed: #message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1069
diff changeset
    97
    ].
675
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    98
    ^message.
49
033a7e409639 initial checkin
fm
parents:
diff changeset
    99
1089
9b5c701b0ae6 changed: #message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1069
diff changeset
   100
    "Modified: / 03-04-2012 / 18:15:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
49
033a7e409639 initial checkin
fm
parents:
diff changeset
   101
!
033a7e409639 initial checkin
fm
parents:
diff changeset
   102
033a7e409639 initial checkin
fm
parents:
diff changeset
   103
message:aString
033a7e409639 initial checkin
fm
parents:
diff changeset
   104
    message := aString.
1005
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   105
!
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   106
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   107
paths
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   108
    ^ paths
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   109
!
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   110
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   111
paths:aCollection
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   112
    paths := aCollection.
49
033a7e409639 initial checkin
fm
parents:
diff changeset
   113
! !
033a7e409639 initial checkin
fm
parents:
diff changeset
   114
033a7e409639 initial checkin
fm
parents:
diff changeset
   115
!CommitTask methodsFor:'executing'!
033a7e409639 initial checkin
fm
parents:
diff changeset
   116
033a7e409639 initial checkin
fm
parents:
diff changeset
   117
do
033a7e409639 initial checkin
fm
parents:
diff changeset
   118
    self
675
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   119
        doPrepareWorkingCopy;
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   120
        doCommit
49
033a7e409639 initial checkin
fm
parents:
diff changeset
   121
033a7e409639 initial checkin
fm
parents:
diff changeset
   122
    "Created: / 23-03-2009 / 11:15:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
033a7e409639 initial checkin
fm
parents:
diff changeset
   123
    "Modified: / 17-06-2009 / 10:16:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
033a7e409639 initial checkin
fm
parents:
diff changeset
   124
!
033a7e409639 initial checkin
fm
parents:
diff changeset
   125
033a7e409639 initial checkin
fm
parents:
diff changeset
   126
doCommit
1066
e05c09a0df44 changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1042
diff changeset
   127
    |containers commitInfo commitLabel msg |
675
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   128
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   129
    msg := ((message ? '<no commit message>') asStringCollection
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   130
                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
   131
                asString.
49
033a7e409639 initial checkin
fm
parents:
diff changeset
   132
1066
e05c09a0df44 changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1042
diff changeset
   133
    self do:[                             
1067
fd43642bb21f changed: #doCommit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1066
diff changeset
   134
        self isPackageCommit ifFalse:[
1069
6c7aa539a81f changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1067
diff changeset
   135
            paths size > 2 ifTrue:[
6c7aa539a81f changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1067
diff changeset
   136
                commitLabel := ((paths upTo: 2) asStringWith:', ') , (' and %1 others' bindWith: paths size - 3).
1066
e05c09a0df44 changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1042
diff changeset
   137
            ] ifFalse:[
e05c09a0df44 changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1042
diff changeset
   138
                commitLabel := paths asStringWith:', '
e05c09a0df44 changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1042
diff changeset
   139
            ].
e05c09a0df44 changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1042
diff changeset
   140
            containers := paths
1067
fd43642bb21f changed: #doCommit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1066
diff changeset
   141
        ] ifTrue:[
1069
6c7aa539a81f changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1067
diff changeset
   142
            paths size > 2 ifTrue:[
6c7aa539a81f changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1067
diff changeset
   143
                commitLabel := self package ? ''.
6c7aa539a81f changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1067
diff changeset
   144
            ] ifFalse:[
6c7aa539a81f changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1067
diff changeset
   145
                commitLabel := paths asStringWith:', '
6c7aa539a81f changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1067
diff changeset
   146
            ].
1092
21d5467c88ef fix in #doCommit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1089
diff changeset
   147
            paths isEmptyOrNil ifTrue:[
21d5467c88ef fix in #doCommit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1089
diff changeset
   148
                self isSelectiveFileoutTask ifTrue:[
21d5467c88ef fix in #doCommit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1089
diff changeset
   149
                    containers := self containersToFileOut
21d5467c88ef fix in #doCommit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1089
diff changeset
   150
                ] ifFalse:[ 
21d5467c88ef fix in #doCommit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1089
diff changeset
   151
                    containers := #() 
21d5467c88ef fix in #doCommit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1089
diff changeset
   152
                ]
21d5467c88ef fix in #doCommit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1089
diff changeset
   153
            ] ifFalse:[
21d5467c88ef fix in #doCommit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1089
diff changeset
   154
                containers := paths
1005
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   155
            ]
daa3cfe06560 Improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 887
diff changeset
   156
        ].
1066
e05c09a0df44 changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1042
diff changeset
   157
        ActivityNotification notify:'Commiting ' , commitLabel.
e05c09a0df44 changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1042
diff changeset
   158
1037
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   159
        (paths notNil and:[paths isEmpty]) ifFalse:[
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   160
            self 
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   161
                synchronized:[
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   162
                    commitInfo := (CommitCommand new)
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   163
                                workingCopy:self workingCopy;
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   164
                                message: msg;
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   165
                                paths:containers;
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
                     "Update the working copy. We need svn info
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   168
                     to report commited revision"
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   169
                    (UpdateCommand new)
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   170
                        workingCopy:self workingCopy;
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   171
                        execute
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   172
                ].
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   173
            "Do this only iff this is a package commit"
1066
e05c09a0df44 changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1042
diff changeset
   174
            self isPackageCommit ifTrue:[
1037
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   175
                self doCompileSvnRevisionNrMethod:true.
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   176
                self doCompileSvnRepositoryUrlStringMethod.        
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   177
                ActivityNotification notify:'Shrinking changes'.
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   178
                (ChangeSet current)
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   179
                    condenseChangesForPackage2:self package;
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   180
                    condenseChangesForExtensionsInPackage:self package;
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   181
                    flushChangedClassesCache;
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   182
                    yourself.
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   183
                ].
8ab6f4e9a1fb fixes in commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1019
diff changeset
   184
        ]
675
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   185
    ].
49
033a7e409639 initial checkin
fm
parents:
diff changeset
   186
    self workingCopy commited.
033a7e409639 initial checkin
fm
parents:
diff changeset
   187
    ^ commitInfo
033a7e409639 initial checkin
fm
parents:
diff changeset
   188
033a7e409639 initial checkin
fm
parents:
diff changeset
   189
    "Created: / 11-04-2008 / 09:20:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
033a7e409639 initial checkin
fm
parents:
diff changeset
   190
    "Modified: / 19-08-2009 / 12:27:44 / Jan Vrany <vranyj1@fel.cvut.cz>"
1066
e05c09a0df44 changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1042
diff changeset
   191
    "Modified: / 14-03-2012 / 17:42:25 / jv"
1092
21d5467c88ef fix in #doCommit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1089
diff changeset
   192
    "Modified: / 04-04-2012 / 17:39:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
49
033a7e409639 initial checkin
fm
parents:
diff changeset
   193
!
033a7e409639 initial checkin
fm
parents:
diff changeset
   194
675
cdbc7651a0a0 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   195
doPrepareWorkingCopy
1019
57e0efa7b31c improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1005
diff changeset
   196
1039
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   197
    self isPackageCommit ifTrue:[
1019
57e0efa7b31c improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1005
diff changeset
   198
        self do:[
57e0efa7b31c improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1005
diff changeset
   199
            self workingCopy ensureIsValid.
57e0efa7b31c improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1005
diff changeset
   200
            self doFileOutAll
57e0efa7b31c improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1005
diff changeset
   201
        ]
57e0efa7b31c improvements for CommitDialog2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1005
diff changeset
   202
    ].
49
033a7e409639 initial checkin
fm
parents:
diff changeset
   203
033a7e409639 initial checkin
fm
parents:
diff changeset
   204
    "Created: / 11-04-2008 / 09:19:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
033a7e409639 initial checkin
fm
parents:
diff changeset
   205
    "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
   206
    "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
   207
!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   208
1104
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   209
doPrepareWorkingCopy1
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   210
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   211
    self isPackageCommit ifTrue:[
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   212
        self do:[
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   213
            self doUpdateCode.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   214
        ]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   215
    ].
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   216
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   217
    "Created: / 10-05-2012 / 17:08:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   218
!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   219
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   220
doPrepareWorkingCopy2
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   221
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   222
    self isPackageCommit ifTrue:[
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   223
        self do:[
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   224
            self workingCopy ensureIsValid.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   225
            self doFileOut
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   226
        ]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   227
    ].
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   228
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   229
    "Created: / 10-05-2012 / 17:08:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   230
!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1095
diff changeset
   231
1039
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   232
doSanityChecks
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   233
    "Perform some sanity checks on the package
1115
9e43cb31c027 Changes required by ProjectChecker(Browser) refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1104
diff changeset
   234
     (or individual classes and/or methods). 
9e43cb31c027 Changes required by ProjectChecker(Browser) refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1104
diff changeset
   235
     Return a project checker. Use #problems to get the
9e43cb31c027 Changes required by ProjectChecker(Browser) refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1104
diff changeset
   236
     list of problems"
1039
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   237
1042
e1e57dbcd43e changed: #doSanityChecks
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1039
diff changeset
   238
    self isPackageCommit ifFalse:[ ^ nil ].
1089
9b5c701b0ae6 changed: #message
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1069
diff changeset
   239
    (ConfigurableFeatures includesFeature:#ProjectChecker) ifFalse:[ ^ nil ].
1039
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   240
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   241
    ^ProjectChecker new 
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   242
        package: self package;
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   243
        classes: classes;
1095
ad868d3af03d changed: #doSanityChecks
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1092
diff changeset
   244
        methods: (extensionMethods = #() ifTrue:[nil] ifFalse:[extensionMethods]);
1039
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   245
        check;
1115
9e43cb31c027 Changes required by ProjectChecker(Browser) refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1104
diff changeset
   246
        yourself
1039
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   247
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   248
    "Created: / 11-04-2008 / 09:19:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   249
    "Modified: / 17-08-2009 / 18:28:34 / Jan Vrany <vranyj1@fel.cvut.cz>"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   250
    "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
   251
! !
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   252
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   253
!CommitTask methodsFor:'testing'!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   254
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   255
isPackageCommit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   256
    "Returns true iff this task is for a package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   257
     (or part of it). False if this is ad-hoc commit task -
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   258
    for example ad-hoc commit from a file browser"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   259
1069
6c7aa539a81f changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1067
diff changeset
   260
    ^ self package notNil" and:[paths isEmptyOrNil]"
1039
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1037
diff changeset
   261
1066
e05c09a0df44 changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1042
diff changeset
   262
    "Modified: / 14-03-2012 / 17:27:17 / jv"
1069
6c7aa539a81f changed:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1067
diff changeset
   263
    "Modified: / 17-03-2012 / 19:49:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
49
033a7e409639 initial checkin
fm
parents:
diff changeset
   264
! !
033a7e409639 initial checkin
fm
parents:
diff changeset
   265
033a7e409639 initial checkin
fm
parents:
diff changeset
   266
!CommitTask class methodsFor:'documentation'!
033a7e409639 initial checkin
fm
parents:
diff changeset
   267
033a7e409639 initial checkin
fm
parents:
diff changeset
   268
version
887
712c4ef37cb7 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 675
diff changeset
   269
    ^ '$Header$'
198
9942a71487d0 changed: #version_SVN
fm
parents: 49
diff changeset
   270
!
9942a71487d0 changed: #version_SVN
fm
parents: 49
diff changeset
   271
9942a71487d0 changed: #version_SVN
fm
parents: 49
diff changeset
   272
version_SVN
887
712c4ef37cb7 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 675
diff changeset
   273
    ^ '§Id: SVN__CommitTask.st 371 2011-09-28 18:47:07Z vranyj1 §'
49
033a7e409639 initial checkin
fm
parents:
diff changeset
   274
! !