SVN__UpdateTask.st
author Claus Gittinger <cg@exept.de>
Tue, 16 Jan 2018 22:26:58 +0100
changeset 1183 8af078552bae
parent 869 c701e19b75aa
permissions -rw-r--r--
flyByHelpSpec -> helpSpec
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
720
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
     1
"
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
     2
 Copyright (c) 2007-2010 Jan Vrany
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
     3
 Copyright (c) 2009-2010 eXept Software AG
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
     4
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
     5
 Permission is hereby granted, free of charge, to any person
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
     6
 obtaining a copy of this software and associated documentation
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
     7
 files (the 'Software'), to deal in the Software without
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
     8
 restriction, including without limitation the rights to use,
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
     9
 copy, modify, merge, publish, distribute, sublicense, and/or sell
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    10
 copies of the Software, and to permit persons to whom the
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    11
 Software is furnished to do so, subject to the following
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    12
 conditions:
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    13
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    14
 The above copyright notice and this permission notice shall be
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    15
 included in all copies or substantial portions of the Software.
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    16
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    17
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    18
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    19
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    20
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    21
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    22
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    23
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    24
 OTHER DEALINGS IN THE SOFTWARE.
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    25
"
412
ce79b10f0c0b *** empty log message ***
fm
parents: 277
diff changeset
    26
"{ Package: 'stx:libsvn' }"
77
b27f361cc834 initial checkin
fm
parents:
diff changeset
    27
b27f361cc834 initial checkin
fm
parents:
diff changeset
    28
"{ NameSpace: SVN }"
b27f361cc834 initial checkin
fm
parents:
diff changeset
    29
720
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    30
UpdateLikeTask subclass:#UpdateTask
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    31
	instanceVariableNames:'revision loadChangeSet mergeDiffSet updateChangeSet'
77
b27f361cc834 initial checkin
fm
parents:
diff changeset
    32
	classVariableNames:''
b27f361cc834 initial checkin
fm
parents:
diff changeset
    33
	poolDictionaries:''
b27f361cc834 initial checkin
fm
parents:
diff changeset
    34
	category:'SVN-Tasks'
b27f361cc834 initial checkin
fm
parents:
diff changeset
    35
!
b27f361cc834 initial checkin
fm
parents:
diff changeset
    36
720
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    37
!UpdateTask class methodsFor:'documentation'!
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    38
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    39
copyright
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    40
"
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    41
 Copyright (c) 2007-2010 Jan Vrany
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    42
 Copyright (c) 2009-2010 eXept Software AG
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    43
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    44
 Permission is hereby granted, free of charge, to any person
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    45
 obtaining a copy of this software and associated documentation
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    46
 files (the 'Software'), to deal in the Software without
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    47
 restriction, including without limitation the rights to use,
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    48
 copy, modify, merge, publish, distribute, sublicense, and/or sell
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    49
 copies of the Software, and to permit persons to whom the
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    50
 Software is furnished to do so, subject to the following
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    51
 conditions:
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    52
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    53
 The above copyright notice and this permission notice shall be
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    54
 included in all copies or substantial portions of the Software.
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    55
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    56
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    57
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    58
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    59
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    60
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    61
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    62
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    63
 OTHER DEALINGS IN THE SOFTWARE.
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    64
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    65
"
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    66
! !
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    67
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    68
!UpdateTask class methodsFor:'others'!
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    69
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    70
version_CVS
869
c701e19b75aa checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 720
diff changeset
    71
    ^ '$Header$'
720
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    72
! !
77
b27f361cc834 initial checkin
fm
parents:
diff changeset
    73
b27f361cc834 initial checkin
fm
parents:
diff changeset
    74
!UpdateTask methodsFor:'accessing'!
b27f361cc834 initial checkin
fm
parents:
diff changeset
    75
b27f361cc834 initial checkin
fm
parents:
diff changeset
    76
revision
b27f361cc834 initial checkin
fm
parents:
diff changeset
    77
    ^ revision
b27f361cc834 initial checkin
fm
parents:
diff changeset
    78
b27f361cc834 initial checkin
fm
parents:
diff changeset
    79
    "Modified: / 09-04-2009 / 09:39:42 / Jan Vrany <vranyj1@fel.cvut.cz>"
b27f361cc834 initial checkin
fm
parents:
diff changeset
    80
!
b27f361cc834 initial checkin
fm
parents:
diff changeset
    81
b27f361cc834 initial checkin
fm
parents:
diff changeset
    82
revision:aRevision
b27f361cc834 initial checkin
fm
parents:
diff changeset
    83
    revision := aRevision.
b27f361cc834 initial checkin
fm
parents:
diff changeset
    84
    loadChangeSet := mergeDiffSet := updateChangeSet := nil.
b27f361cc834 initial checkin
fm
parents:
diff changeset
    85
b27f361cc834 initial checkin
fm
parents:
diff changeset
    86
    "Modified: / 23-03-2009 / 18:40:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
b27f361cc834 initial checkin
fm
parents:
diff changeset
    87
! !
b27f361cc834 initial checkin
fm
parents:
diff changeset
    88
b27f361cc834 initial checkin
fm
parents:
diff changeset
    89
!UpdateTask methodsFor:'executing'!
b27f361cc834 initial checkin
fm
parents:
diff changeset
    90
720
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    91
doApplyUpdates
77
b27f361cc834 initial checkin
fm
parents:
diff changeset
    92
720
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    93
    super doApplyUpdates.
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    94
    self doCompileSvnRevisionNrMethod:true;
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    95
         doCompileSvnRepositoryUrlStringMethod.
77
b27f361cc834 initial checkin
fm
parents:
diff changeset
    96
720
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    97
    "Created: / 26-11-2009 / 14:50:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
    98
    "Modified: / 08-04-2011 / 15:59:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
77
b27f361cc834 initial checkin
fm
parents:
diff changeset
    99
! !
b27f361cc834 initial checkin
fm
parents:
diff changeset
   100
b27f361cc834 initial checkin
fm
parents:
diff changeset
   101
!UpdateTask methodsFor:'executing - private'!
b27f361cc834 initial checkin
fm
parents:
diff changeset
   102
720
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
   103
doUpdate
77
b27f361cc834 initial checkin
fm
parents:
diff changeset
   104
720
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
   105
    | containers |
77
b27f361cc834 initial checkin
fm
parents:
diff changeset
   106
720
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
   107
    ActivityNotification notify:'Updating working copy'.
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
   108
    containers := self isSelectiveFileoutTask 
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
   109
                        ifTrue:[self containersToFileOut] 
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
   110
                        ifFalse:[ #() ].
77
b27f361cc834 initial checkin
fm
parents:
diff changeset
   111
b27f361cc834 initial checkin
fm
parents:
diff changeset
   112
    notifications := (UpdateCommand new)
720
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
   113
                workingCopy:self workingCopy;
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
   114
                revision:self revision;
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
   115
                paths:containers;
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
   116
                execute
77
b27f361cc834 initial checkin
fm
parents:
diff changeset
   117
b27f361cc834 initial checkin
fm
parents:
diff changeset
   118
    "Modified: / 19-08-2009 / 12:22:49 / Jan Vrany <vranyj1@fel.cvut.cz>"
720
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
   119
    "Modified: / 10-12-2009 / 12:31:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
77
b27f361cc834 initial checkin
fm
parents:
diff changeset
   120
! !
b27f361cc834 initial checkin
fm
parents:
diff changeset
   121
b27f361cc834 initial checkin
fm
parents:
diff changeset
   122
!UpdateTask methodsFor:'private'!
b27f361cc834 initial checkin
fm
parents:
diff changeset
   123
b27f361cc834 initial checkin
fm
parents:
diff changeset
   124
filterChangeSet: aChangeSet 
b27f361cc834 initial checkin
fm
parents:
diff changeset
   125
    "
b27f361cc834 initial checkin
fm
parents:
diff changeset
   126
        Removes changes for methods that are not interesting
b27f361cc834 initial checkin
fm
parents:
diff changeset
   127
        (such as version methods & autogenerated package description
b27f361cc834 initial checkin
fm
parents:
diff changeset
   128
        methods)"
b27f361cc834 initial checkin
fm
parents:
diff changeset
   129
    
b27f361cc834 initial checkin
fm
parents:
diff changeset
   130
    | changesToRemove |
b27f361cc834 initial checkin
fm
parents:
diff changeset
   131
b27f361cc834 initial checkin
fm
parents:
diff changeset
   132
    changesToRemove := aChangeSet 
b27f361cc834 initial checkin
fm
parents:
diff changeset
   133
                select: [:change | change isForGeneratedSubject ].
b27f361cc834 initial checkin
fm
parents:
diff changeset
   134
    aChangeSet removeAll: changesToRemove.
b27f361cc834 initial checkin
fm
parents:
diff changeset
   135
    ^ aChangeSet
b27f361cc834 initial checkin
fm
parents:
diff changeset
   136
b27f361cc834 initial checkin
fm
parents:
diff changeset
   137
    "Created: / 08-04-2009 / 09:53:49 / Jan Vrany <vranyj1@fel.cvut.cz>"
b27f361cc834 initial checkin
fm
parents:
diff changeset
   138
! !
b27f361cc834 initial checkin
fm
parents:
diff changeset
   139
720
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
   140
!UpdateTask methodsFor:'testing'!
77
b27f361cc834 initial checkin
fm
parents:
diff changeset
   141
720
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
   142
isUpdateTask
83423e26c9b2 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 412
diff changeset
   143
    ^ true
77
b27f361cc834 initial checkin
fm
parents:
diff changeset
   144
! !
b27f361cc834 initial checkin
fm
parents:
diff changeset
   145
b27f361cc834 initial checkin
fm
parents:
diff changeset
   146
!UpdateTask class methodsFor:'documentation'!
b27f361cc834 initial checkin
fm
parents:
diff changeset
   147
b27f361cc834 initial checkin
fm
parents:
diff changeset
   148
version
869
c701e19b75aa checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 720
diff changeset
   149
    ^ '$Header$'
207
1f90147b8b31 changed: #version_SVN
fm
parents: 77
diff changeset
   150
!
1f90147b8b31 changed: #version_SVN
fm
parents: 77
diff changeset
   151
1f90147b8b31 changed: #version_SVN
fm
parents: 77
diff changeset
   152
version_SVN
869
c701e19b75aa checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 720
diff changeset
   153
    ^ '§Id: SVN__UpdateTask.st 363 2011-08-08 13:49:48Z vranyj1 §'
77
b27f361cc834 initial checkin
fm
parents:
diff changeset
   154
! !