common/SCMAbstractCommitTask.st
author Claus Gittinger <cg@exept.de>
Sat, 30 Jun 2018 18:43:05 +0200
branchcvs_MAIN
changeset 819 2b69985cec1b
parent 790 cc3f01d02e56
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     1
"
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
     2
stx:libscm - a new source code management library for Smalltalk/X
509
f92210d4585b Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 472
diff changeset
     3
Copyright (C) 2012-2015 Jan Vrany
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
     4
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
     5
This library is free software; you can redistribute it and/or
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
     6
modify it under the terms of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
     7
License as published by the Free Software Foundation; either
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
     8
version 2.1 of the License. 
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     9
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    10
This library is distributed in the hope that it will be useful,
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    11
but WITHOUT ANY WARRANTY; without even the implied warranty of
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    13
Lesser General Public License for more details.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    14
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    15
You should have received a copy of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    16
License along with this library; if not, write to the Free Software
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    17
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    18
"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    19
"{ Package: 'stx:libscm/common' }"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    20
790
cc3f01d02e56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
    21
"{ NameSpace: Smalltalk }"
cc3f01d02e56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
    22
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    23
SCMAbstractFileoutLikeTask subclass:#SCMAbstractCommitTask
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    24
	instanceVariableNames:'message paths'
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    25
	classVariableNames:''
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    26
	poolDictionaries:''
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    27
	category:'SCM-Common-StX-Tasks'
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    28
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    29
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    30
!SCMAbstractCommitTask class methodsFor:'documentation'!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    31
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    32
copyright
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    33
"
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    34
stx:libscm - a new source code management library for Smalltalk/X
509
f92210d4585b Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 472
diff changeset
    35
Copyright (C) 2012-2015 Jan Vrany
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    36
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    37
This library is free software; you can redistribute it and/or
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    38
modify it under the terms of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    39
License as published by the Free Software Foundation; either
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    40
version 2.1 of the License. 
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    41
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    42
This library is distributed in the hope that it will be useful,
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    43
but WITHOUT ANY WARRANTY; without even the implied warranty of
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    44
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    45
Lesser General Public License for more details.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    46
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    47
You should have received a copy of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    48
License along with this library; if not, write to the Free Software
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 282
diff changeset
    49
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    50
"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    51
! !
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    52
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    53
!SCMAbstractCommitTask methodsFor:'accessing'!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    54
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    55
message
408
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    56
    "Returns initial commit message"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    57
408
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    58
"/  NO, do not generate commit message based on changes in code.
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    59
"/  Such commit message is completely useless!!
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    60
    ^ ''
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    61
408
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    62
"/    message isNil ifTrue:[
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    63
"/        self isPackageCommit ifTrue:[
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    64
"/            message := String streamContents: [:s|
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    65
"/                | klasses methods msg |    
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    66
"/                klasses := OrderedCollection streamContents:[:s|packages do:[:each | s nextPutAll: (self classesToFileOutFor: each) ]].
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    67
"/                methods := OrderedCollection streamContents:[:s|packages do:[:each | s nextPutAll: (self extensionMethodsToFileOutFor: each) ]].     .
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    68
"/                klasses do:[:cls|
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    69
"/                    msg := SCMAbstractSourceCodeManager utilities goodInitialLogMessageForCheckinClassOfClass:cls.
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    70
"/                    msg notEmptyOrNil ifTrue: [
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    71
"/                        s nextPutAll: ' - '; nextPutLine: cls name.
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    72
"/                        msg asStringCollection do:[:line|
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    73
"/                            s nextPutAll:'    '; nextPutLine: line.
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    74
"/                        ]
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    75
"/                    ].
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    76
"/                ].
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    77
"/                methods notEmptyOrNil ifTrue:[
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    78
"/                    s nextPutLine: ' - extensions'.
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    79
"/                    s nextPutLine: '    ...'.
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    80
"/                ].
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    81
"/            ]
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    82
"/        ].
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    83
"/    ].
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    84
"/    ^message.
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    85
9b24602affa1 Fix for issue #30 - Commit button is disabled even if commit message is not empty (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 389
diff changeset
    86
    "Modified: / 26-03-2014 / 15:01:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    87
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    88
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    89
message:aString
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    90
    message := aString.
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    91
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    92
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    93
paths
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    94
    ^ paths
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    95
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    96
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    97
paths:aCollection
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    98
    paths := aCollection.
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    99
! !
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   100
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   101
!SCMAbstractCommitTask methodsFor:'executing'!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   102
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   103
do
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   104
    self
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   105
        doPrepareWorkingCopy;
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   106
        doCommit
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   107
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   108
    "Created: / 23-03-2009 / 11:15:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   109
    "Modified: / 17-06-2009 / 10:16:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   110
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   111
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   112
doCommit
56
c183805e5eb1 Few hacks to make Mercurial commits working.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 53
diff changeset
   113
    |containers commitLabel msg |
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   114
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   115
    msg := ((message ? '<no commit message>') asStringCollection
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   116
                reject: [:line|line size >= 2 and:[line first == $# and:[line second == $#]]])
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   117
                asString.
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   118
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   119
    self do:[                             
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   120
        self isPackageCommit ifFalse:[
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   121
            paths notEmptyOrNil ifTrue:[
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   122
                commitLabel := paths size > 2
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   123
                    ifTrue:[((paths upTo: 2) asStringWith:', ') , (' and %1 others' bindWith: paths size - 3)]
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   124
                    ifFalse:[paths asStringWith:', '].
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   125
            ] ifFalse:[
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   126
                commitLabel := temporaryWorkingCopy pathName.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   127
            ].
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   128
            containers := paths
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   129
        ] ifTrue:[
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   130
            commitLabel := (paths isEmptyOrNil or:[paths size > 2]) 
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   131
                            ifTrue:[packages size == 1 ifTrue:[ packages anElement name ] ifFalse:[ packages first name , ', ...' ]]
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   132
                            ifFalse:[paths asStringWith:', '].
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   133
            containers := paths isEmptyOrNil 
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   134
                ifTrue:[self isSelectiveFileoutTask 
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   135
                                ifTrue:[self containersToFileOut]
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   136
                                ifFalse:[nil "Meaning - all modified files will be commited"]]
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   137
                ifFalse:[paths].
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   138
        ].
72
66345356fa65 Fix in SCMAbstractCommitTask>>doCommit
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 68
diff changeset
   139
        (containers isNil or:[containers notEmpty]) ifTrue: [ 
60
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 56
diff changeset
   140
            ActivityNotification notify:'Commiting ' , commitLabel.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 56
diff changeset
   141
            self doCommit: msg files: containers.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 56
diff changeset
   142
        ].
56
c183805e5eb1 Few hacks to make Mercurial commits working.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 53
diff changeset
   143
        ActivityNotification notify:'Shrinking changes'.
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   144
        self isPackageCommit ifTrue:[
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   145
            self doShrinkChanges.
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   146
        ].
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   147
    ].
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   148
    self isPackageCommit ifTrue:[
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   149
        packages do:[:each | each isVirtual ifFalse: [ each commited ] ]
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   150
    ].
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   151
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   152
    "Created: / 11-04-2008 / 09:20:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   153
    "Modified: / 19-08-2009 / 12:27:44 / Jan Vrany <vranyj1@fel.cvut.cz>"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   154
    "Modified: / 14-03-2012 / 17:42:25 / jv"
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   155
    "Modified: / 27-02-2014 / 22:54:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
56
c183805e5eb1 Few hacks to make Mercurial commits working.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 53
diff changeset
   156
!
c183805e5eb1 Few hacks to make Mercurial commits working.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 53
diff changeset
   157
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   158
doPrepareWorkingCopy
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   159
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   160
    self doPrepareWorkingCopy1.
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   161
    self doPrepareWorkingCopy2.
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   162
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   163
    "Created: / 11-04-2008 / 09:19:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   164
    "Modified: / 17-08-2009 / 18:28:34 / Jan Vrany <vranyj1@fel.cvut.cz>"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   165
    "Modified: / 07-10-2012 / 09:32:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   166
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   167
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   168
doPrepareWorkingCopy1
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   169
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   170
    self isPackageCommit ifTrue:[
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   171
        self do:[
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   172
            self doUpdateCode.
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   173
        ]
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   174
    ].
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   175
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   176
    "Created: / 10-05-2012 / 17:08:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   177
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   178
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   179
doPrepareWorkingCopy2
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   180
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   181
    self isPackageCommit ifTrue:[
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   182
        self do:[
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   183
            | p |
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   184
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   185
            p := packages anElement.
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   186
            p ensureTemporaryWorkingCopy.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   187
            self doFileOut
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   188
        ]
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   189
    ].
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   190
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   191
    "Created: / 10-05-2012 / 17:08:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   192
    "Modified: / 21-02-2014 / 23:28:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
122
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   193
! !
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   194
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   195
!SCMAbstractCommitTask methodsFor:'executing-private'!
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   196
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   197
doCommit: msg files: containers
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   198
    "Actually commit the changes, To be overridden by subclasses"
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   199
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   200
    self synchronized:[
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   201
        self halt: 'Have to be smart here!!!!!!'.
122
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   202
        self package workingCopy commit: msg files: containers.
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   203
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   204
"/      "Update the working copy. We need svn info
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   205
"/       to report commited revision"
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   206
"/      (UpdateCommand new)
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   207
"/          workingCopy:self workingCopy;
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   208
"/          execute
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   209
    ].
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   210
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   211
    "Created: / 15-11-2012 / 09:39:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   212
    "Modified: / 21-02-2014 / 23:27:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   213
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   214
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   215
doSanityChecks
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   216
    "Perform some sanity checks on the package
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   217
     (or individual classes and/or methods). 
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   218
     Return a project checker. Use #problems to get the
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   219
     list of problems"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   220
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   221
    | checker |
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   222
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   223
    self isPackageCommit ifFalse:[ ^ nil ].
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   224
    (ConfigurableFeatures includesFeature:#ProjectChecker) ifFalse:[ ^ nil ].
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   225
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   226
    checker := ProjectChecker new.
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   227
    packages do:[:each | each isVirtual ifFalse: [ checker package: each name ] ].
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   228
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   229
    checker
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   230
        classes: classes;
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   231
        methods: (extensionMethods = #() ifTrue:[nil] ifFalse:[extensionMethods]);
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   232
        check.
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   233
    ^ checker
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   234
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   235
    "Created: / 11-04-2008 / 09:19:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   236
    "Modified: / 17-08-2009 / 18:28:34 / Jan Vrany <vranyj1@fel.cvut.cz>"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   237
    "Created: / 13-02-2012 / 16:36:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   238
    "Modified: / 27-02-2014 / 22:54:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
56
c183805e5eb1 Few hacks to make Mercurial commits working.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 53
diff changeset
   239
!
c183805e5eb1 Few hacks to make Mercurial commits working.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 53
diff changeset
   240
c183805e5eb1 Few hacks to make Mercurial commits working.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 53
diff changeset
   241
doShrinkChanges
c183805e5eb1 Few hacks to make Mercurial commits working.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 53
diff changeset
   242
c183805e5eb1 Few hacks to make Mercurial commits working.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 53
diff changeset
   243
    "Do this only iff this is a package commit"
c183805e5eb1 Few hacks to make Mercurial commits working.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 53
diff changeset
   244
    self isPackageCommit ifTrue:[
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   245
        packages do:[:each |
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   246
            each isVirtual ifFalse: [ 
471
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   247
               self doShrinkChangesFor: each.
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   248
            ]
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   249
        ]
56
c183805e5eb1 Few hacks to make Mercurial commits working.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 53
diff changeset
   250
    ].
c183805e5eb1 Few hacks to make Mercurial commits working.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 53
diff changeset
   251
c183805e5eb1 Few hacks to make Mercurial commits working.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 53
diff changeset
   252
    "Created: / 15-11-2012 / 09:41:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
471
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   253
    "Modified: / 15-11-2014 / 00:37:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   254
!
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   255
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   256
doShrinkChangesFor: package
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   257
    paths isNil ifTrue:[ 
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   258
        (ChangeSet current)
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   259
           condenseChangesForPackageAfterCommit:package name;
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   260
           condenseChangesForExtensionsInPackage:package name;
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   261
           flushChangedClassesCache;
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   262
            yourself.
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   263
    ] ifFalse:[            
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   264
        | root commitedClasses commitedExtensions |
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   265
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   266
        "/ paths is list of !!!!!!absolute filenames!!!!!!, so we have to construct full name
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   267
        "/ furtunately, that's easy...
472
e037e301b4e5 Fixes for #24: Session ChangeSet compression after a commit is broken [2/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 471
diff changeset
   268
        root := package temporaryWorkingCopyRoot asFilename.
471
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   269
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   270
        commitedClasses := Set new.
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   271
        package classes do:[:class | 
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   272
            | container |
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   273
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   274
            container := (root / (package containerNameForClass: class)) pathName.
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   275
            (paths includes: container) ifTrue:[ 
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   276
                commitedClasses add: class.
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   277
            ].
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   278
        ].
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   279
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   280
        commitedExtensions := #().
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   281
        (paths includes: ((root / package containerNameForExtensions) pathName)) ifTrue:[ 
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   282
            commitedExtensions := package extensions.
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   283
        ].
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   284
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   285
        commitedClasses do:[:each |  
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   286
            ChangeSet current condenseChangesForClass: each.    
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   287
        ].
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   288
        commitedExtensions do:[:each |
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   289
            ChangeSet current condenseChangesForClass: each mclass selector: each selector.    
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   290
        ]
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   291
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   292
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   293
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   294
    ].
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   295
44664f7f71c5 Fixes for #24: Session ChangeSet compression after a commit is broken [1/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 408
diff changeset
   296
    "Created: / 15-11-2014 / 00:37:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
472
e037e301b4e5 Fixes for #24: Session ChangeSet compression after a commit is broken [2/3]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 471
diff changeset
   297
    "Modified: / 16-11-2014 / 08:47:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   298
! !
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   299
389
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   300
!SCMAbstractCommitTask methodsFor:'queries'!
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   301
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   302
isCommitingAllChangedPackages
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   303
    "Return true, if package group contain all changed packages
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   304
     of given repository, false otherwise."
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   305
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   306
    ^ packages containsAllChangedPackages
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   307
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   308
    "Created: / 03-03-2014 / 00:12:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   309
! !
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   310
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   311
!SCMAbstractCommitTask methodsFor:'testing'!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   312
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   313
isPackageCommit
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   314
    "Returns true iff this task is for a package
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   315
     (or part of it). False if this is ad-hoc commit task -
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   316
    for example ad-hoc commit from a file browser"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   317
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   318
    ^ packages notEmpty" and:[paths isEmptyOrNil]"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   319
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   320
    "Modified: / 14-03-2012 / 17:27:17 / jv"
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   321
    "Modified: / 21-02-2014 / 22:54:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   322
! !
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   323
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   324
!SCMAbstractCommitTask class methodsFor:'documentation'!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   325
790
cc3f01d02e56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   326
version_CVS
cc3f01d02e56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   327
    ^ '$Header$'
cc3f01d02e56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   328
!
cc3f01d02e56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   329
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   330
version_GIT
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   331
    "Never, ever change this method. Ask JV or CG why"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   332
    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   333
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   334
53
8043f7b6f41a - More common code refactored
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 44
diff changeset
   335
version_HG
114
8b27cb46af9a version_HG changed to return String.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 85
diff changeset
   336
8b27cb46af9a version_HG changed to return String.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 85
diff changeset
   337
    ^ '$Changeset: <not expanded> $'
53
8043f7b6f41a - More common code refactored
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 44
diff changeset
   338
!
8043f7b6f41a - More common code refactored
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 44
diff changeset
   339
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   340
version_SVN
790
cc3f01d02e56 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   341
    ^ '$Id$'
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   342
! !
282
fb71143ed353 Fixes for commiting from filebrowser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
   343