SVN__CVSTask.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 08 Aug 2011 15:36:37 +0200
changeset 755 e179ad6a1952
parent 613 d125cb2cd63a
child 786 1fe365897492
permissions -rw-r--r--
changed: #version_CVS
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
     1
"
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
     2
 Copyright (c) 2007-2010 Jan Vrany
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
     3
 Copyright (c) 2009-2010 eXept Software AG
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
     4
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
     5
 Permission is hereby granted, free of charge, to any person
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
     6
 obtaining a copy of this software and associated documentation
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
     7
 files (the 'Software'), to deal in the Software without
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
     8
 restriction, including without limitation the rights to use,
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
     9
 copy, modify, merge, publish, distribute, sublicense, and/or sell
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    10
 copies of the Software, and to permit persons to whom the
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    11
 Software is furnished to do so, subject to the following
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    12
 conditions:
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    13
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    14
 The above copyright notice and this permission notice shall be
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    15
 included in all copies or substantial portions of the Software.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    16
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    17
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    18
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    19
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    20
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    21
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    22
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    23
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    24
 OTHER DEALINGS IN THE SOFTWARE.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    25
"
390
8a91b2cebd5a *** empty log message ***
fm
parents: 326
diff changeset
    26
"{ Package: 'stx:libsvn' }"
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    27
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    28
"{ NameSpace: SVN }"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    29
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
    30
Task subclass:#CVSTask
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    31
        instanceVariableNames:'packageDir tmpDir cvsRoot transcript'
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    32
        classVariableNames:'CVSRoot'
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    33
        poolDictionaries:''
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    34
        category:'SVN-Tasks'
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    35
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    36
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    37
!CVSTask class methodsFor:'documentation'!
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    38
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    39
copyright
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    40
"
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    41
 Copyright (c) 2007-2010 Jan Vrany
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    42
 Copyright (c) 2009-2010 eXept Software AG
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    43
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    44
 Permission is hereby granted, free of charge, to any person
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    45
 obtaining a copy of this software and associated documentation
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    46
 files (the 'Software'), to deal in the Software without
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    47
 restriction, including without limitation the rights to use,
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    48
 copy, modify, merge, publish, distribute, sublicense, and/or sell
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    49
 copies of the Software, and to permit persons to whom the
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    50
 Software is furnished to do so, subject to the following
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    51
 conditions:
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    52
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    53
 The above copyright notice and this permission notice shall be
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    54
 included in all copies or substantial portions of the Software.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    55
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    56
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    57
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    58
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    59
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    60
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    61
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    62
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    63
 OTHER DEALINGS IN THE SOFTWARE.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    64
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    65
"
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    66
! !
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    67
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    68
!CVSTask class methodsFor:'instance creation'!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    69
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    70
new
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    71
    ^ self basicNew initialize.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    72
! !
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    73
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    74
!CVSTask class methodsFor:'accessing'!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    75
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    76
cvsRoot
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    77
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    78
    ^CVSRoot
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    79
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    80
    "
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    81
        self cvsRoot
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    82
        self cvsRoot: '/home/jv/Projects/SmalltalkX/sandbox/cvs'
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    83
        self cvsRoot: '/home/jv/Repositories/mirrors/exept2.sytes.net/cvs/stx'         
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    84
    "
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    85
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    86
    "Created: / 25-05-2009 / 19:52:04 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    87
    "Modified: / 26-05-2009 / 18:26:31 / Jan Vrany <vranyj1@fel.cvut.cz>"
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    88
    "Modified: / 14-04-2011 / 19:44:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    89
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    90
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    91
cvsRoot: aString
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    92
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    93
    CVSRoot := aString
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    94
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    95
    "
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
    96
        CVSTask cvsRoot: '/home/jv/Projects/SmalltalkX/repositories/cvs' 
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    97
    "
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    98
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
    99
    "Created: / 25-05-2009 / 19:51:49 / Jan Vrany <vranyj1@fel.cvut.cz>"
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   100
    "Modified: / 23-09-2010 / 15:43:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   101
! !
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   102
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   103
!CVSTask class methodsFor:'execution'!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   104
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   105
doFor:packages
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   106
    self doFor:packages
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   107
        logOn:Filename defaultTempDirectoryName pathName
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   108
                , Filename separatorString , 'convert.log'
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   109
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   110
    "Created: / 26-05-2009 / 18:20:25 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   111
    "Modified: / 28-05-2009 / 11:41:56 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   112
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   113
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   114
doFor: pkgs logOn: log
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   115
    | transcript  packages failed |
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   116
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   117
    packages := pkgs isString ifTrue: [ Array with: pkgs ] ifFalse: [ pkgs ].
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   118
    transcript := SplittingWriteStream
613
d125cb2cd63a Rename SVN::Error to SVN::SvnError for stc compatibility
Stefan Vogel <sv@exept.de>
parents: 492
diff changeset
   119
                    on: Transcript
d125cb2cd63a Rename SVN::Error to SVN::SvnError for stc compatibility
Stefan Vogel <sv@exept.de>
parents: 492
diff changeset
   120
                    and: log asFilename writeStream.
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   121
    transcript showCR: 'Logging on ' , log asString.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   122
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   123
    failed := false.
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   124
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   125
    packages do:
613
d125cb2cd63a Rename SVN::Error to SVN::SvnError for stc compatibility
Stefan Vogel <sv@exept.de>
parents: 492
diff changeset
   126
        [:pkg|
d125cb2cd63a Rename SVN::Error to SVN::SvnError for stc compatibility
Stefan Vogel <sv@exept.de>
parents: 492
diff changeset
   127
        [self new package: pkg; transcript: transcript; do]
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   128
            on: Error do:
613
d125cb2cd63a Rename SVN::Error to SVN::SvnError for stc compatibility
Stefan Vogel <sv@exept.de>
parents: 492
diff changeset
   129
                [:ex|
d125cb2cd63a Rename SVN::Error to SVN::SvnError for stc compatibility
Stefan Vogel <sv@exept.de>
parents: 492
diff changeset
   130
                transcript showCR: 'ERROR: Synchronization of ' , pkg , ' failed!!'.
d125cb2cd63a Rename SVN::Error to SVN::SvnError for stc compatibility
Stefan Vogel <sv@exept.de>
parents: 492
diff changeset
   131
                ex suspendedContext fullPrintAllOn:transcript.
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   132
                OperatingSystem getLoginName = 'jv' ifTrue:[ex pass].
613
d125cb2cd63a Rename SVN::Error to SVN::SvnError for stc compatibility
Stefan Vogel <sv@exept.de>
parents: 492
diff changeset
   133
                failed := true]].
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   134
    failed ifTrue:
613
d125cb2cd63a Rename SVN::Error to SVN::SvnError for stc compatibility
Stefan Vogel <sv@exept.de>
parents: 492
diff changeset
   135
        [transcript
d125cb2cd63a Rename SVN::Error to SVN::SvnError for stc compatibility
Stefan Vogel <sv@exept.de>
parents: 492
diff changeset
   136
            showCR:'Synchronization of one or more packages failed!!';
d125cb2cd63a Rename SVN::Error to SVN::SvnError for stc compatibility
Stefan Vogel <sv@exept.de>
parents: 492
diff changeset
   137
            showCR:'See the log for details'].
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   138
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   139
    transcript outStream2 close.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   140
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   141
    "Created: / 26-05-2009 / 18:08:41 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   142
    "Modified: / 19-08-2009 / 12:39:35 / Jan Vrany <vranyj1@fel.cvut.cz>"
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   143
    "Modified: / 14-04-2011 / 14:42:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   144
! !
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   145
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   146
!CVSTask class methodsFor:'others'!
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   147
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   148
version_CVS
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   149
    ^ '$Header$'
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   150
! !
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   151
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   152
!CVSTask methodsFor:'accessing'!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   153
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   154
cvsRoot
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   155
    ^ cvsRoot
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   156
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   157
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   158
cvsRoot:aStringOrFilename
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   159
    cvsRoot := aStringOrFilename asFilename.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   160
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   161
    "Modified: / 25-05-2009 / 19:54:38 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   162
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   163
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   164
obsoleteFileNames
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   165
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   166
    ^#(
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   167
       '.cvsignore'
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   168
    )
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   169
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   170
    "Created: / 30-05-2009 / 15:48:32 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   171
    "Modified: / 02-06-2009 / 13:38:33 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   172
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   173
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   174
package
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   175
    ^ package
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   176
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   177
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   178
package: aStringOrSymbol
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   179
    package := aStringOrSymbol asSymbol.
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   180
    packageDir := (aStringOrSymbol asString copyReplaceAll: $: with: $/)
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   181
                asSymbol.
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   182
    workingCopy := self svnWorkingCopy.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   183
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   184
    "Modified: / 19-08-2009 / 11:26:24 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   185
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   186
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   187
svnWorkingCopyPath
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   188
    ^ (tmpDir construct: 'svn-working-copy') construct: (packageDir asFilename baseName)
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   189
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   190
    "Modified: / 19-08-2009 / 11:25:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   191
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   192
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   193
transcript
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   194
    ^ transcript
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   195
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   196
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   197
transcript:something
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   198
    transcript := something.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   199
! !
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   200
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   201
!CVSTask methodsFor:'executing'!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   202
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   203
doCleanup
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   204
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   205
    tmpDir recursiveRemove
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   206
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   207
    "Created: / 29-05-2009 / 17:17:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   208
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   209
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   210
doFixPackageContentIn: dir
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   211
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   212
    dir baseName = '.svn' ifTrue:[^self].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   213
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   214
    self
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   215
       doRemoveObsoleteFilesIn: dir;
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   216
       doNormalizeClassContainerNamesIn: dir;
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   217
       doNormalizeEndOfLineIn: dir;
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   218
       doNormalizeVersionMethodIn: dir.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   219
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   220
    self
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   221
        doSVNSetSvnEolStylePropertyIn: dir for: #( '*.st' );
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   222
        doSVNSetSvnKeywordPropertyIn: dir  for: #( '*.st' ).
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   223
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   224
    dir directoryContentsAsFilenames do:
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   225
        [:file|
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   226
        file isDirectory ifTrue:[self doFixPackageContentIn: file]]
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   227
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   228
    "Created: / 02-06-2009 / 17:31:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   229
    "Modified: / 14-04-2011 / 20:00:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   230
! !
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   231
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   232
!CVSTask methodsFor:'executing - helpers'!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   233
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   234
doNormalizeClassContainerNamesIn: dir
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   235
    | files |
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   236
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   237
    self notify: 'Normalizing class container names'.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   238
    files := dir directoryContentsAsFilenamesMatching: '*.st'.
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   239
    files do:
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   240
            [:file |
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   241
            | changeset change |
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   242
            changeset := ChangeSet fromFile: file.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   243
            changeset isEmpty ifFalse:[change := changeset first].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   244
            (change notNil and:[change isClassDefinitionChange])
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   245
                ifTrue:
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   246
                    [ | oldName  newName |
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   247
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   248
                    oldName := file baseName.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   249
                    newName := (change className replaceAll: $: with: $_) , '.st'.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   250
                    oldName ~= newName
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   251
                        ifTrue:
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   252
                            [ | sed  files |
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   253
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   254
                            self renameFile: (dir / oldName) to: (dir / newName).
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   255
                             "
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   256
                             Also, we have to update makefiles. Grrr, I hate this
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   257
                             build system.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   258
                            "
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   259
                            files := dir directoryContentsMatching: #( 'Make.*' 'Makefile' 'makefile' '*.mak' 'abbrev.stc' ).
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   260
                            files isEmpty ifFalse:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   261
                            sed := (OSProcess new)
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   262
                                        executable: '/bin/sed';
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   263
                                        workdir: dir;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   264
                                        arguments: (Array
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   265
                                                    with: '-i'
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   266
                                                    with: '-e'
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   267
                                                    with: ('"s/' , (oldName upTo: $.) , '/' , (newName upTo: $.) , '/g"'))
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   268
                                                        , (dir
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   269
                                                                directoryContentsMatching: #( 'Make.*' 'Makefile' 'makefile' '*.mak' 'abbrev.stc' ));
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   270
                                        stdout: transcript;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   271
                                        stderr: transcript.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   272
                            sed execute.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   273
                            self assert: sed exitValue = 0
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   274
                                message: 'sed failed to finish properly. Check transcript'. ] ] ] ].
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   275
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   276
    "Created: / 29-05-2009 / 18:27:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   277
    "Modified: / 03-06-2009 / 12:19:41 / Jan Vrany <vranyj1@fel.cvut.cz>"
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   278
    "Modified: / 14-04-2011 / 20:05:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   279
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   280
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   281
doNormalizeEndOfLineIn: dir
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   282
    | files  sed |
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   283
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   284
    self notify: 'Normalizing end-of-lines'.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   285
    files := dir directoryContentsAsFilenames select: [:e | e suffix = 'st' ].
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   286
        files isEmpty ifTrue:[^self].
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   287
    sed := (OSProcess new)
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   288
                executable: '/bin/sed';
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   289
                arguments: (Array
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   290
                            with: '-i'
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   291
                            with: '-e'
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   292
                            with: 's/\r[^\n]/\n/g') , (files collect: [:e | e pathName ]);
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   293
                stdout: transcript;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   294
                stderr: transcript.
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   295
    sed execute.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   296
    self assert: sed exitValue = 0
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   297
        message: 'sed failed to finish properly. Check transcript'.
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   298
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   299
    "Created: / 29-05-2009 / 18:27:21 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   300
    "Modified: / 30-05-2009 / 16:06:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   301
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   302
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   303
doNormalizeVersionMethodIn: dir
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   304
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   305
    self doNormalizeVersionMethodIn: dir doCopy: false
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   306
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   307
    "Created: / 29-05-2009 / 18:27:29 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   308
    "Modified: / 03-06-2009 / 11:22:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   309
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   310
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   311
doNormalizeVersionMethodIn: dir doCopy: doCopy
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   312
    | files sed script |
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   313
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   314
    self notify: 'Normalizing #version methods'.
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   315
    files := dir
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   316
                directoryContentsAsFilenamesMatching: #( '*.st' "/ 'Make.*' 'Makefile' 'makefile' '*.mak' '*.c' '*.cc'
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   317
    ).
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   318
    files isEmpty ifTrue:[^self].
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   319
    doCopy
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   320
        ifTrue:
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   321
            [ files do: [:f | f copyTo: (f pathName , '~') asFilename ].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   322
            files := files collect: [:f | (f pathName , '~') asFilename ] ].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   323
    files do: [:file |
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   324
        self doNormalizeVersionMethodInFile: file
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   325
    ].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   326
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   327
        
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   328
    
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   329
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   330
"/Old, probably buggy code (umlaut-remover?)
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   331
"/    sed := (OSProcess new)
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   332
"/                executable: '/bin/sed';
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   333
"/                arguments: (Array
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   334
"/                            with: '-i'
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   335
"/                            with: '-f'
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   336
"/                            with: script pathName)
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   337
"/                               , (files collect: [:e | e pathName ]);
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   338
"/                stdout: transcript;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   339
"/                stderr: transcript.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   340
"/    sed execute.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   341
"/    self assert: sed exitValue = 0
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   342
"/        message: 'sed failed to finish properly. Check transcript'.
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   343
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   344
    "Created: / 03-06-2009 / 11:26:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   345
    "Modified: / 14-04-2011 / 19:51:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   346
    "Modified: / 05-07-2011 / 12:39:27 / jv"
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   347
!
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   348
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   349
doNormalizeVersionMethodInFile: file
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   350
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   351
    | tmp src dst line line2 versionMethodSelector |
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   352
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   353
    versionMethodSelector := nil.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   354
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   355
    tmp := Filename newTemporary.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   356
    [
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   357
        src := file asFilename readStream.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   358
        dst := tmp writeStream.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   359
        [ src atEnd ] whileFalse:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   360
            line := src nextLine.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   361
            (line includes: '"{ Encoding: ') ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   362
                (line includes: '"{ Encoding: utf8') ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   363
                    src := EncodedStream stream: src encoder: CharacterEncoder encoderForUTF8.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   364
                    dst :=  EncodedStream stream: dst encoder: CharacterEncoder encoderForUTF8.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   365
                ] ifFalse:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   366
                    (line includes: '"{ Encoding: iso8859-1') ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   367
                        src := EncodedStream stream: src encoder: (CharacterEncoder encoderFor:#'iso8859-1').
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   368
                        dst :=  EncodedStream stream: dst encoder: (CharacterEncoder encoderFor:#'iso8859-1')
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   369
                    ] ifFalse:[ 
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   370
                        self error: 'Unsupported encoding in a chunk, see chunk variable'.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   371
                        ^self.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   372
                    ]
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   373
                ]            
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   374
            ].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   375
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   376
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   377
            ((line = 'version') or:[line startsWith: 'version_']) ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   378
                versionMethodSelector := line asSymbol.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   379
            ].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   380
            versionMethodSelector notNil ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   381
                (#(version version_SVN) includes: versionMethodSelector) ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   382
                    "Fix for bad version_SVN in some .st files"
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   383
                    line =  '    ^ '' Id ''' ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   384
                    line := '    ^ ''Id'''                
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   385
                    ].  
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   386
                    (line startsWith: '    ^ '' Id: ') ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   387
                        line := '    ^ ''',$$,'Id: ' , (line copyFrom: 13 to: (line lastIndexOf: $') - 1) , '$'''.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   388
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   389
                    ] ifFalse:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   390
                        ((line startsWith: '    ^ ''$Header: ' ) and:[versionMethodSelector == #version]) ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   391
                            line := '    ^ ''', $$ , 'Id: ' , (line copyFrom: 17 to: (line lastIndexOf: $') - 1) , ''''.    
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   392
                        ].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   393
                    ].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   394
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   395
                    line2 := line copyReplaceAll: (Character codePoint:16rA7) "16rA7" with: $$.            
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   396
                    (line = line2) ifFalse:[versionMethodSelector := nil].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   397
                    line := line2.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   398
                ] ifFalse:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   399
                    line2 := line copyReplaceAll: $$ with: (Character codePoint:16rA7) "16rA7".            
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   400
                    (line = line2) ifFalse:[versionMethodSelector := nil].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   401
                    line := line2.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   402
                ].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   403
            ].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   404
            src atEnd ifFalse:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   405
                dst nextPutLine: line.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   406
            ] ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   407
                dst nextPutAll: line.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   408
            ]
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   409
        ].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   410
        src close.            
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   411
        dst close.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   412
        "
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   413
            tmp contents asString.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   414
        "
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   415
        tmp moveTo: file asFilename.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   416
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   417
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   418
    ] ensure: [
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   419
        src close.            
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   420
        dst close.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   421
        tmp exists ifTrue:[tmp remove].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   422
    ]
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   423
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   424
    "
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   425
        SVN::CVSTask basicNew doNormalizeVersionMethodInFile: 
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   426
            '/tmp/stx/libbasic/LongFloat.st'
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   427
    "
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   428
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   429
    "Created: / 05-07-2011 / 18:54:54 / jv"
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   430
    "Modified: / 18-07-2011 / 15:49:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   431
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   432
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   433
doRemoveDuplicateCommaVFilesInAtticIn:cvsDir
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   434
    |cvsAtticDir cvsDirContents|
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   435
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   436
    cvsAtticDir := cvsDir construct:'Attic'.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   437
    cvsDirContents := cvsDir directoryContents.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   438
    cvsAtticDir exists ifTrue:[
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   439
        cvsAtticDir
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   440
            directoryContentsAsFilenamesDo:[:atticFile |
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   441
                (cvsDirContents includes:atticFile baseName) ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   442
                    Transcript showCR:'removing stale file ' , atticFile baseName , ' in Attic'.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   443
                    atticFile isDirectory 
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   444
                        ifTrue:[atticFile recursiveRemove]
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   445
                        ifFalse:[atticFile remove]
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   446
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   447
                    "/cvsAtticDir remove.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   448
                ]
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   449
            ]
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   450
    ].
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   451
    cvsDir
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   452
        directoryContentsAsFilenamesDo:[:file |
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   453
            (file isDirectory and:[ file baseName ~= 'Attic' ]) ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   454
                self doRemoveDuplicateCommaVFilesInAtticIn:file
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   455
            ]
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   456
        ]
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   457
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   458
    "Created: / 25-05-2009 / 22:35:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   459
    "Modified: / 26-05-2009 / 18:27:06 / Jan Vrany <vranyj1@fel.cvut.cz>"
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   460
    "Modified: / 14-04-2011 / 18:01:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   461
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   462
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   463
doRemoveObsoleteFilesIn: dir
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   464
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   465
    self notify: 'Removing obsolete files'.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   466
    self removeFiles: self obsoleteFileNames.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   467
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   468
    "Created: / 30-05-2009 / 15:43:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   469
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   470
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   471
doSVNAddFilesFor: files
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   472
    self notify: 'Adding files'.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   473
    files isEmpty ifTrue: [ ^ self ].
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   474
    (AddCommand new)
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   475
        workingCopy: workingCopy;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   476
        paths: files;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   477
        execute
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   478
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   479
    "Created: / 02-06-2009 / 19:01:17 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   480
    "Modified: / 19-08-2009 / 11:26:57 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   481
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   482
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   483
doSVNSetProperty: propName to: propValue in: dir for: files
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   484
    |  |
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   485
    self notify: 'Setting ',propName,' property to ', propValue.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   486
    (dir asFilename / '.svn') exists ifFalse:[^self].
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   487
    files isEmpty ifTrue: [ ^ self ].
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   488
    (PropsetCommand new)
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   489
        workingCopy: (WorkingCopy branch: workingCopy branch path: dir);
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   490
        name:propName;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   491
        value: propValue;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   492
        paths: files;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   493
        execute
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   494
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   495
    "Modified: / 19-08-2009 / 11:27:02 / Jan Vrany <vranyj1@fel.cvut.cz>"
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   496
    "Created: / 14-04-2011 / 17:25:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   497
    "Modified: / 23-04-2011 / 12:20:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   498
!
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   499
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   500
doSVNSetSvnEolStylePropertyFor: files
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   501
    | realFiles |
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   502
    self notify: 'Setting svn:eol-style property to LF'.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   503
    files isEmpty ifTrue: [ ^ self ].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   504
    realFiles := files select:
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   505
        [:each|(workingCopy path / each) isRegularFile].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   506
    realFiles isEmpty ifTrue:[^self].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   507
    (PropsetCommand new)
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   508
        workingCopy: workingCopy;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   509
        name: 'svn:eol-style';
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   510
        value: 'LF';
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   511
        paths: realFiles;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   512
        execute
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   513
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   514
    "Modified: / 19-08-2009 / 11:27:02 / Jan Vrany <vranyj1@fel.cvut.cz>"
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   515
    "Modified: / 20-11-2009 / 13:27:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   516
!
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   517
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   518
doSVNSetSvnEolStylePropertyIn: dir for: files
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   519
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   520
    ^self doSVNSetProperty: 'svn:eol-style' to: 'LF' in: dir for: files.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   521
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   522
    "Modified: / 19-08-2009 / 11:27:02 / Jan Vrany <vranyj1@fel.cvut.cz>"
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   523
    "Modified: / 14-04-2011 / 17:26:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   524
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   525
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   526
doSVNSetSvnKeywordPropertyFor: files
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   527
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   528
    self doSVNSetSvnKeywordPropertyIn: workingCopy path for: files.
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   529
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   530
    "Modified: / 19-08-2009 / 11:27:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   531
    "Modified: / 14-04-2011 / 17:12:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   532
!
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   533
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   534
doSVNSetSvnKeywordPropertyIn: dir for: files
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   535
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   536
    ^self doSVNSetProperty: 'svn:keywords' to: 'Id HeadURL' in: dir for: files.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   537
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   538
    "Modified: / 19-08-2009 / 11:27:02 / Jan Vrany <vranyj1@fel.cvut.cz>"
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   539
    "Created: / 14-04-2011 / 17:18:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   540
! !
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   541
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   542
!CVSTask methodsFor:'executing - private'!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   543
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   544
doSVNCheckout
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   545
    self notify: 'Checking out'.
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   546
    workingCopy checkout: SVN::Revision head full: true
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   547
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   548
    "Modified: / 19-08-2009 / 12:42:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   549
    "Modified: / 04-05-2011 / 18:30:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   550
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   551
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   552
doSVNCommit
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   553
    "
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   554
        FileBrowserV2 openOnDirectory: workingCopy path
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   555
    "
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   556
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   557
    self notify: 'Commiting'.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   558
    (CommitCommand new)
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   559
        workingCopy: workingCopy;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   560
        message: self svnCommitMessage;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   561
        execute
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   562
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   563
    "Created: / 29-05-2009 / 18:13:41 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   564
    "Modified: / 19-08-2009 / 11:28:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   565
    "Modified: / 20-11-2009 / 10:11:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   566
! !
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   567
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   568
!CVSTask methodsFor:'initialization'!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   569
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   570
initialize
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   571
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   572
    cvsRoot := self class cvsRoot asFilename.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   573
    tmpDir := Filename newTemporaryDirectory.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   574
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   575
    "Modified: / 29-05-2009 / 17:13:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   576
! !
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   577
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   578
!CVSTask methodsFor:'private'!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   579
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   580
removeFiles:arg
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   581
    "raise an error: must be redefined in concrete subclass(es)"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   582
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   583
    ^ self subclassResponsibility
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   584
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   585
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   586
renameFile:arg1 to:arg2
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   587
    "raise an error: must be redefined in concrete subclass(es)"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   588
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   589
    ^ self subclassResponsibility
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   590
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   591
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   592
svnBranch
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   593
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   594
    ^Branch repository: self svnRepository path: self svnBranchPath
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   595
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   596
    "Created: / 19-08-2009 / 11:20:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   597
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   598
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   599
svnBranchPath
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   600
    "raise an error: must be redefined in concrete subclass(es)"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   601
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   602
    ^ self subclassResponsibility
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   603
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   604
    "Created: / 19-08-2009 / 11:18:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   605
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   606
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   607
svnCommitMessage
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   608
    "raise an error: must be redefined in concrete subclass(es)"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   609
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   610
    ^ self subclassResponsibility
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   611
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   612
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   613
svnRepository
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   614
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   615
    ^Repository package: package url: self svnRepositoryUrl
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   616
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   617
    "Created: / 19-08-2009 / 11:12:25 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   618
    "Modified: / 19-08-2009 / 12:23:58 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   619
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   620
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   621
svnRepositoryUrl
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   622
    "raise an error: must be redefined in concrete subclass(es)"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   623
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   624
    ^ self subclassResponsibility
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   625
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   626
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   627
svnWorkingCopy
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   628
    "raise an error: must be redefined in concrete subclass(es)"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   629
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   630
    ^WorkingCopy
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   631
        branch: self svnBranch
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   632
        path: self svnWorkingCopyPath
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   633
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   634
    "Created: / 19-08-2009 / 11:23:42 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   635
! !
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   636
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   637
!CVSTask class methodsFor:'documentation'!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   638
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   639
version
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   640
    ^ '$Header$'
131
e7cfd94e27fe changed: #version_SVN
fm
parents: 62
diff changeset
   641
!
e7cfd94e27fe changed: #version_SVN
fm
parents: 62
diff changeset
   642
e7cfd94e27fe changed: #version_SVN
fm
parents: 62
diff changeset
   643
version_CVS
e7cfd94e27fe changed: #version_SVN
fm
parents: 62
diff changeset
   644
    ^ '$Header$'
e7cfd94e27fe changed: #version_SVN
fm
parents: 62
diff changeset
   645
!
e7cfd94e27fe changed: #version_SVN
fm
parents: 62
diff changeset
   646
e7cfd94e27fe changed: #version_SVN
fm
parents: 62
diff changeset
   647
version_SVN
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   648
    ^ '§Id: SVN__CVSTask.st 358 2011-07-18 15:01:44Z vranyj1 §'
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   649
! !