SVN__CommitTask.st
author fm
Tue, 29 Sep 2009 17:19:49 +0200
changeset 198 9942a71487d0
parent 49 033a7e409639
child 249 d150a88bc21f
permissions -rw-r--r--
changed: #version_SVN
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
49
033a7e409639 initial checkin
fm
parents:
diff changeset
     1
"{ Package: 'cvut:stx/goodies/libsvn' }"
033a7e409639 initial checkin
fm
parents:
diff changeset
     2
033a7e409639 initial checkin
fm
parents:
diff changeset
     3
"{ NameSpace: SVN }"
033a7e409639 initial checkin
fm
parents:
diff changeset
     4
033a7e409639 initial checkin
fm
parents:
diff changeset
     5
FileoutLikeTask subclass:#CommitTask
033a7e409639 initial checkin
fm
parents:
diff changeset
     6
	instanceVariableNames:'extensionMethods message'
033a7e409639 initial checkin
fm
parents:
diff changeset
     7
	classVariableNames:''
033a7e409639 initial checkin
fm
parents:
diff changeset
     8
	poolDictionaries:''
033a7e409639 initial checkin
fm
parents:
diff changeset
     9
	category:'SVN-Tasks'
033a7e409639 initial checkin
fm
parents:
diff changeset
    10
!
033a7e409639 initial checkin
fm
parents:
diff changeset
    11
033a7e409639 initial checkin
fm
parents:
diff changeset
    12
033a7e409639 initial checkin
fm
parents:
diff changeset
    13
!CommitTask methodsFor:'accessing'!
033a7e409639 initial checkin
fm
parents:
diff changeset
    14
033a7e409639 initial checkin
fm
parents:
diff changeset
    15
buildSupportFilesFor: pkgDef
033a7e409639 initial checkin
fm
parents:
diff changeset
    16
033a7e409639 initial checkin
fm
parents:
diff changeset
    17
    | common |
033a7e409639 initial checkin
fm
parents:
diff changeset
    18
    common := #('abbrev.stc' 'Make.proto' 'Make.spec').    
033a7e409639 initial checkin
fm
parents:
diff changeset
    19
    ^pkgDef isApplicationDefinition
033a7e409639 initial checkin
fm
parents:
diff changeset
    20
        ifTrue:[common]
033a7e409639 initial checkin
fm
parents:
diff changeset
    21
        ifFalse:[common copyWith: 'libInit.cc']
033a7e409639 initial checkin
fm
parents:
diff changeset
    22
        
033a7e409639 initial checkin
fm
parents:
diff changeset
    23
    "
033a7e409639 initial checkin
fm
parents:
diff changeset
    24
        SVN::CommitTask basicNew buildSupportFilesFor: stx_goodies_libsvn
033a7e409639 initial checkin
fm
parents:
diff changeset
    25
    "
033a7e409639 initial checkin
fm
parents:
diff changeset
    26
033a7e409639 initial checkin
fm
parents:
diff changeset
    27
    "Created: / 20-06-2009 / 12:03:51 / Jan Vrany <vranyj1@fel.cvut.cz>"
033a7e409639 initial checkin
fm
parents:
diff changeset
    28
!
033a7e409639 initial checkin
fm
parents:
diff changeset
    29
033a7e409639 initial checkin
fm
parents:
diff changeset
    30
extensionMethods
033a7e409639 initial checkin
fm
parents:
diff changeset
    31
    ^ extensionMethods
033a7e409639 initial checkin
fm
parents:
diff changeset
    32
!
033a7e409639 initial checkin
fm
parents:
diff changeset
    33
033a7e409639 initial checkin
fm
parents:
diff changeset
    34
extensionMethods:aCollection"of Methods"
033a7e409639 initial checkin
fm
parents:
diff changeset
    35
033a7e409639 initial checkin
fm
parents:
diff changeset
    36
    extensionMethods := aCollection.
033a7e409639 initial checkin
fm
parents:
diff changeset
    37
033a7e409639 initial checkin
fm
parents:
diff changeset
    38
    "Modified: / 14-05-2009 / 13:38:15 / Jan Vrany <vranyj1@fel.cvut.cz>"
033a7e409639 initial checkin
fm
parents:
diff changeset
    39
!
033a7e409639 initial checkin
fm
parents:
diff changeset
    40
033a7e409639 initial checkin
fm
parents:
diff changeset
    41
message
033a7e409639 initial checkin
fm
parents:
diff changeset
    42
    ^ message
033a7e409639 initial checkin
fm
parents:
diff changeset
    43
!
033a7e409639 initial checkin
fm
parents:
diff changeset
    44
033a7e409639 initial checkin
fm
parents:
diff changeset
    45
message:aString
033a7e409639 initial checkin
fm
parents:
diff changeset
    46
    message := aString.
033a7e409639 initial checkin
fm
parents:
diff changeset
    47
! !
033a7e409639 initial checkin
fm
parents:
diff changeset
    48
033a7e409639 initial checkin
fm
parents:
diff changeset
    49
!CommitTask methodsFor:'executing'!
033a7e409639 initial checkin
fm
parents:
diff changeset
    50
033a7e409639 initial checkin
fm
parents:
diff changeset
    51
do
033a7e409639 initial checkin
fm
parents:
diff changeset
    52
033a7e409639 initial checkin
fm
parents:
diff changeset
    53
    self
033a7e409639 initial checkin
fm
parents:
diff changeset
    54
        doUpdateWorkingCopy;
033a7e409639 initial checkin
fm
parents:
diff changeset
    55
        doCommit
033a7e409639 initial checkin
fm
parents:
diff changeset
    56
033a7e409639 initial checkin
fm
parents:
diff changeset
    57
    "Created: / 23-03-2009 / 11:15:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
033a7e409639 initial checkin
fm
parents:
diff changeset
    58
    "Modified: / 17-06-2009 / 10:16:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
033a7e409639 initial checkin
fm
parents:
diff changeset
    59
!
033a7e409639 initial checkin
fm
parents:
diff changeset
    60
033a7e409639 initial checkin
fm
parents:
diff changeset
    61
doCommit
033a7e409639 initial checkin
fm
parents:
diff changeset
    62
    | containers  commitInfo |
033a7e409639 initial checkin
fm
parents:
diff changeset
    63
033a7e409639 initial checkin
fm
parents:
diff changeset
    64
    self do: 
033a7e409639 initial checkin
fm
parents:
diff changeset
    65
            [ SVN::ActivityNotification notify: 'Commiting ' , self package.
033a7e409639 initial checkin
fm
parents:
diff changeset
    66
            containers := self isSelectiveFileoutTask 
033a7e409639 initial checkin
fm
parents:
diff changeset
    67
                        ifTrue: [ self containersToFileOut ]
033a7e409639 initial checkin
fm
parents:
diff changeset
    68
                        ifFalse: [ #() ].
033a7e409639 initial checkin
fm
parents:
diff changeset
    69
            self synchronized: 
033a7e409639 initial checkin
fm
parents:
diff changeset
    70
                    [ commitInfo := (CommitCommand new)
033a7e409639 initial checkin
fm
parents:
diff changeset
    71
                                workingCopy: self workingCopy;
033a7e409639 initial checkin
fm
parents:
diff changeset
    72
                                message: message ? '<no message>';
033a7e409639 initial checkin
fm
parents:
diff changeset
    73
                                paths: containers;
033a7e409639 initial checkin
fm
parents:
diff changeset
    74
                                execute.
033a7e409639 initial checkin
fm
parents:
diff changeset
    75
                     "Update the working copy. We need svn info
033a7e409639 initial checkin
fm
parents:
diff changeset
    76
                     to report commited revision"
033a7e409639 initial checkin
fm
parents:
diff changeset
    77
                    (UpdateCommand new)
033a7e409639 initial checkin
fm
parents:
diff changeset
    78
                        workingCopy: self workingCopy;
033a7e409639 initial checkin
fm
parents:
diff changeset
    79
                        execute ].
033a7e409639 initial checkin
fm
parents:
diff changeset
    80
            self doCompileSvnRevisionNrMethod: true.
033a7e409639 initial checkin
fm
parents:
diff changeset
    81
            SVN::ActivityNotification notify: 'Shrinking changes'.
033a7e409639 initial checkin
fm
parents:
diff changeset
    82
            (ChangeSet current)
033a7e409639 initial checkin
fm
parents:
diff changeset
    83
                condenseChangesForPackage2: self package;
033a7e409639 initial checkin
fm
parents:
diff changeset
    84
                condenseChangesForExtensionsInPackage: self package;
033a7e409639 initial checkin
fm
parents:
diff changeset
    85
                flushChangedClassesCache;
033a7e409639 initial checkin
fm
parents:
diff changeset
    86
                yourself. ].
033a7e409639 initial checkin
fm
parents:
diff changeset
    87
    self workingCopy commited.
033a7e409639 initial checkin
fm
parents:
diff changeset
    88
    ^ commitInfo
033a7e409639 initial checkin
fm
parents:
diff changeset
    89
033a7e409639 initial checkin
fm
parents:
diff changeset
    90
    "Created: / 11-04-2008 / 09:20:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
033a7e409639 initial checkin
fm
parents:
diff changeset
    91
    "Modified: / 19-08-2009 / 12:27:44 / Jan Vrany <vranyj1@fel.cvut.cz>"
033a7e409639 initial checkin
fm
parents:
diff changeset
    92
!
033a7e409639 initial checkin
fm
parents:
diff changeset
    93
033a7e409639 initial checkin
fm
parents:
diff changeset
    94
doUpdateWorkingCopy
033a7e409639 initial checkin
fm
parents:
diff changeset
    95
033a7e409639 initial checkin
fm
parents:
diff changeset
    96
    self do:[
033a7e409639 initial checkin
fm
parents:
diff changeset
    97
        self workingCopy ensureIsValid.
033a7e409639 initial checkin
fm
parents:
diff changeset
    98
        self doFileOutAll
033a7e409639 initial checkin
fm
parents:
diff changeset
    99
    ]
033a7e409639 initial checkin
fm
parents:
diff changeset
   100
033a7e409639 initial checkin
fm
parents:
diff changeset
   101
    "Created: / 11-04-2008 / 09:19:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
033a7e409639 initial checkin
fm
parents:
diff changeset
   102
    "Modified: / 17-08-2009 / 18:28:34 / Jan Vrany <vranyj1@fel.cvut.cz>"
033a7e409639 initial checkin
fm
parents:
diff changeset
   103
! !
033a7e409639 initial checkin
fm
parents:
diff changeset
   104
033a7e409639 initial checkin
fm
parents:
diff changeset
   105
!CommitTask class methodsFor:'documentation'!
033a7e409639 initial checkin
fm
parents:
diff changeset
   106
033a7e409639 initial checkin
fm
parents:
diff changeset
   107
version
033a7e409639 initial checkin
fm
parents:
diff changeset
   108
    ^ '$Header$'
198
9942a71487d0 changed: #version_SVN
fm
parents: 49
diff changeset
   109
!
9942a71487d0 changed: #version_SVN
fm
parents: 49
diff changeset
   110
9942a71487d0 changed: #version_SVN
fm
parents: 49
diff changeset
   111
version_CVS
9942a71487d0 changed: #version_SVN
fm
parents: 49
diff changeset
   112
    ^ '$Header$'
9942a71487d0 changed: #version_SVN
fm
parents: 49
diff changeset
   113
!
9942a71487d0 changed: #version_SVN
fm
parents: 49
diff changeset
   114
9942a71487d0 changed: #version_SVN
fm
parents: 49
diff changeset
   115
version_SVN
9942a71487d0 changed: #version_SVN
fm
parents: 49
diff changeset
   116
    ^'Id: SVN__CommitTask.st 110 2009-08-19 13:21:10Z vranyj1 '
49
033a7e409639 initial checkin
fm
parents:
diff changeset
   117
! !