SVN__CVSTask.st
author convert-repo
Tue, 09 Aug 2016 03:35:30 +0000
changeset 1178 3a6dad9479fd
parent 971 091f557e9a46
permissions -rw-r--r--
update tags
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
966
c0ba7fa12c62 changed: #doNormalizeVersionMethodInFile: (do not mormalize obsolete #version method)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 897
diff changeset
    31
	instanceVariableNames:'packageDir tmpDir cvsRoot transcript'
c0ba7fa12c62 changed: #doNormalizeVersionMethodInFile: (do not mormalize obsolete #version method)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 897
diff changeset
    32
	classVariableNames:'CVSRoot'
c0ba7fa12c62 changed: #doNormalizeVersionMethodInFile: (do not mormalize obsolete #version method)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 897
diff changeset
    33
	poolDictionaries:''
c0ba7fa12c62 changed: #doNormalizeVersionMethodInFile: (do not mormalize obsolete #version method)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 897
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
    "
971
091f557e9a46 more examples for ImportFromCVS task
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 966
diff changeset
    96
        CVSTask cvsRoot: '/home/jv/Repositories/mirrors/dialin.exept.de/cvs/stx' 
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>"
971
091f557e9a46 more examples for ImportFromCVS task
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 966
diff changeset
   101
    "Modified (comment): / 27-01-2012 / 22:47:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   102
! !
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   103
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   104
!CVSTask class methodsFor:'execution'!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   105
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   106
doFor:packages
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   107
    self doFor:packages
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   108
        logOn:Filename defaultTempDirectoryName pathName
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   109
                , Filename separatorString , 'convert.log'
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   110
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   111
    "Created: / 26-05-2009 / 18:20:25 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   112
    "Modified: / 28-05-2009 / 11:41:56 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   113
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   114
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   115
doFor: pkgs logOn: log
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   116
    | transcript  packages failed |
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   117
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   118
    packages := pkgs isString ifTrue: [ Array with: pkgs ] ifFalse: [ pkgs ].
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   119
    transcript := SplittingWriteStream
613
d125cb2cd63a Rename SVN::Error to SVN::SvnError for stc compatibility
Stefan Vogel <sv@exept.de>
parents: 492
diff changeset
   120
                    on: Transcript
d125cb2cd63a Rename SVN::Error to SVN::SvnError for stc compatibility
Stefan Vogel <sv@exept.de>
parents: 492
diff changeset
   121
                    and: log asFilename writeStream.
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   122
    transcript showCR: 'Logging on ' , log asString.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   123
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   124
    failed := false.
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   125
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   126
    packages do:
613
d125cb2cd63a Rename SVN::Error to SVN::SvnError for stc compatibility
Stefan Vogel <sv@exept.de>
parents: 492
diff changeset
   127
        [:pkg|
d125cb2cd63a Rename SVN::Error to SVN::SvnError for stc compatibility
Stefan Vogel <sv@exept.de>
parents: 492
diff changeset
   128
        [self new package: pkg; transcript: transcript; do]
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   129
            on: Error do:
613
d125cb2cd63a Rename SVN::Error to SVN::SvnError for stc compatibility
Stefan Vogel <sv@exept.de>
parents: 492
diff changeset
   130
                [:ex|
d125cb2cd63a Rename SVN::Error to SVN::SvnError for stc compatibility
Stefan Vogel <sv@exept.de>
parents: 492
diff changeset
   131
                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
   132
                ex suspendedContext fullPrintAllOn:transcript.
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   133
                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
   134
                failed := true]].
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   135
    failed ifTrue:
613
d125cb2cd63a Rename SVN::Error to SVN::SvnError for stc compatibility
Stefan Vogel <sv@exept.de>
parents: 492
diff changeset
   136
        [transcript
d125cb2cd63a Rename SVN::Error to SVN::SvnError for stc compatibility
Stefan Vogel <sv@exept.de>
parents: 492
diff changeset
   137
            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
   138
            showCR:'See the log for details'].
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   139
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   140
    transcript outStream2 close.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   141
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   142
    "Created: / 26-05-2009 / 18:08:41 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   143
    "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
   144
    "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
   145
! !
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   146
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   147
!CVSTask methodsFor:'accessing'!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   148
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   149
cvsRoot
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   150
    ^ cvsRoot
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   151
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   152
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   153
cvsRoot:aStringOrFilename
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   154
    cvsRoot := aStringOrFilename asFilename.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   155
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   156
    "Modified: / 25-05-2009 / 19:54:38 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   157
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   158
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   159
obsoleteFileNames
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   160
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   161
    ^#(
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   162
       '.cvsignore'
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   163
    )
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   164
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   165
    "Created: / 30-05-2009 / 15:48:32 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   166
    "Modified: / 02-06-2009 / 13:38:33 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   167
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   168
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   169
package
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   170
    ^ package
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   171
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   172
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   173
package: aStringOrSymbol
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   174
    package := aStringOrSymbol asSymbol.
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   175
    packageDir := (aStringOrSymbol asString copyReplaceAll: $: with: $/)
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   176
                asSymbol.
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   177
    workingCopy := self svnWorkingCopy.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   178
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   179
    "Modified: / 19-08-2009 / 11:26:24 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   180
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   181
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   182
svnWorkingCopyPath
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   183
    ^ (tmpDir construct: 'svn-working-copy') construct: (packageDir asFilename baseName)
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   184
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   185
    "Modified: / 19-08-2009 / 11:25:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   186
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   187
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   188
transcript
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   189
    ^ transcript
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   190
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   191
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   192
transcript:something
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   193
    transcript := something.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   194
! !
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   195
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   196
!CVSTask methodsFor:'executing'!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   197
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   198
doCleanup
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   199
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   200
    tmpDir recursiveRemove
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   201
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   202
    "Created: / 29-05-2009 / 17:17:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   203
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   204
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   205
doFixPackageContentIn: dir
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   206
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   207
    dir baseName = '.svn' ifTrue:[^self].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   208
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   209
    self
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   210
       doRemoveObsoleteFilesIn: dir;
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   211
       doNormalizeClassContainerNamesIn: dir;
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   212
       doNormalizeEndOfLineIn: dir;
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   213
       doNormalizeVersionMethodIn: dir.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   214
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   215
    self
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   216
        doSVNSetSvnEolStylePropertyIn: dir for: #( '*.st' );
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   217
        doSVNSetSvnKeywordPropertyIn: dir  for: #( '*.st' ).
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   218
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   219
    dir directoryContentsAsFilenames do:
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   220
        [:file|
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   221
        file isDirectory ifTrue:[self doFixPackageContentIn: file]]
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   222
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   223
    "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
   224
    "Modified: / 14-04-2011 / 20:00:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   225
! !
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   226
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   227
!CVSTask methodsFor:'executing - helpers'!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   228
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   229
doNormalizeClassContainerNamesIn: dir
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   230
    | files |
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   231
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   232
    self notify: 'Normalizing class container names'.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   233
    files := dir directoryContentsAsFilenamesMatching: '*.st'.
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   234
    files do:
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   235
            [:file |
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   236
            | changeset change |
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   237
            changeset := ChangeSet fromFile: file.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   238
            changeset isEmpty ifFalse:[change := changeset first].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   239
            (change notNil and:[change isClassDefinitionChange])
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   240
                ifTrue:
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   241
                    [ | oldName  newName |
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   242
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   243
                    oldName := file baseName.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   244
                    newName := (change className replaceAll: $: with: $_) , '.st'.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   245
                    oldName ~= newName
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   246
                        ifTrue:
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   247
                            [ | sed  files |
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   248
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   249
                            self renameFile: (dir / oldName) to: (dir / newName).
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   250
                             "
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   251
                             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
   252
                             build system.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   253
                            "
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   254
                            files := dir directoryContentsMatching: #( 'Make.*' 'Makefile' 'makefile' '*.mak' 'abbrev.stc' ).
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   255
                            files isEmpty ifFalse:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   256
                            sed := (OSProcess new)
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   257
                                        executable: '/bin/sed';
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   258
                                        workdir: dir;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   259
                                        arguments: (Array
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   260
                                                    with: '-i'
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   261
                                                    with: '-e'
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   262
                                                    with: ('"s/' , (oldName upTo: $.) , '/' , (newName upTo: $.) , '/g"'))
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   263
                                                        , (dir
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   264
                                                                directoryContentsMatching: #( 'Make.*' 'Makefile' 'makefile' '*.mak' 'abbrev.stc' ));
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   265
                                        stdout: transcript;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   266
                                        stderr: transcript.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   267
                            sed execute.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   268
                            self assert: sed exitValue = 0
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   269
                                message: 'sed failed to finish properly. Check transcript'. ] ] ] ].
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   270
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   271
    "Created: / 29-05-2009 / 18:27:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   272
    "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
   273
    "Modified: / 14-04-2011 / 20:05:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   274
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   275
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   276
doNormalizeEndOfLineIn: dir
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   277
    | files  sed |
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   278
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   279
    self notify: 'Normalizing end-of-lines'.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   280
    files := dir directoryContentsAsFilenames select: [:e | e suffix = 'st' ].
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   281
        files isEmpty ifTrue:[^self].
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   282
    sed := (OSProcess new)
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   283
                executable: '/bin/sed';
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   284
                arguments: (Array
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   285
                            with: '-i'
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   286
                            with: '-e'
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   287
                            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
   288
                stdout: transcript;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   289
                stderr: transcript.
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   290
    sed execute.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   291
    self assert: sed exitValue = 0
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   292
        message: 'sed failed to finish properly. Check transcript'.
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   293
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   294
    "Created: / 29-05-2009 / 18:27:21 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   295
    "Modified: / 30-05-2009 / 16:06:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   296
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   297
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   298
doNormalizeVersionMethodIn: dir
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   299
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   300
    self doNormalizeVersionMethodIn: dir doCopy: false
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   301
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   302
    "Created: / 29-05-2009 / 18:27:29 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   303
    "Modified: / 03-06-2009 / 11:22:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   304
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   305
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   306
doNormalizeVersionMethodIn: dir doCopy: doCopy
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   307
    | files sed script |
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   308
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   309
    self notify: 'Normalizing #version methods'.
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   310
    files := dir
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   311
                directoryContentsAsFilenamesMatching: #( '*.st' "/ 'Make.*' 'Makefile' 'makefile' '*.mak' '*.c' '*.cc'
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   312
    ).
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   313
    files isEmpty ifTrue:[^self].
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   314
    doCopy
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   315
        ifTrue:
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   316
            [ files do: [:f | f copyTo: (f pathName , '~') asFilename ].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   317
            files := files collect: [:f | (f pathName , '~') asFilename ] ].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   318
    files do: [:file |
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   319
        self doNormalizeVersionMethodInFile: file
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   320
    ].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   321
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   322
        
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   323
    
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   324
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   325
"/Old, probably buggy code (umlaut-remover?)
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   326
"/    sed := (OSProcess new)
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   327
"/                executable: '/bin/sed';
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   328
"/                arguments: (Array
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   329
"/                            with: '-i'
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   330
"/                            with: '-f'
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   331
"/                            with: script pathName)
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   332
"/                               , (files collect: [:e | e pathName ]);
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   333
"/                stdout: transcript;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   334
"/                stderr: transcript.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   335
"/    sed execute.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   336
"/    self assert: sed exitValue = 0
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   337
"/        message: 'sed failed to finish properly. Check transcript'.
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   338
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   339
    "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
   340
    "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
   341
    "Modified: / 05-07-2011 / 12:39:27 / jv"
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   342
!
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   343
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   344
doNormalizeVersionMethodInFile: file
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   345
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   346
    | tmp src dst line line2 versionMethodSelector |
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
    versionMethodSelector := nil.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   349
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   350
    tmp := Filename newTemporary.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   351
    [
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   352
        src := file asFilename readStream.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   353
        dst := tmp writeStream.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   354
        [ src atEnd ] whileFalse:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   355
            line := src nextLine.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   356
            (line includes: '"{ Encoding: ') ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   357
                (line includes: '"{ Encoding: utf8') ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   358
                    src := EncodedStream stream: src encoder: CharacterEncoder encoderForUTF8.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   359
                    dst :=  EncodedStream stream: dst encoder: CharacterEncoder encoderForUTF8.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   360
                ] ifFalse:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   361
                    (line includes: '"{ Encoding: iso8859-1') ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   362
                        src := EncodedStream stream: src encoder: (CharacterEncoder encoderFor:#'iso8859-1').
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   363
                        dst :=  EncodedStream stream: dst encoder: (CharacterEncoder encoderFor:#'iso8859-1')
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   364
                    ] ifFalse:[ 
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   365
                        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
   366
                        ^self.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   367
                    ]
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   368
                ]            
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   369
            ].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   370
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   371
966
c0ba7fa12c62 changed: #doNormalizeVersionMethodInFile: (do not mormalize obsolete #version method)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 897
diff changeset
   372
            ("(line = 'version')"false or:[line startsWith: 'version_']) ifTrue:[
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   373
                versionMethodSelector := line asSymbol.
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
            versionMethodSelector notNil ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   376
                (#(version version_SVN) includes: versionMethodSelector) ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   377
                    "Fix for bad version_SVN in some .st files"
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   378
                    line =  '    ^ '' Id ''' ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   379
                    line := '    ^ ''Id'''                
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   380
                    ].  
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   381
                    (line startsWith: '    ^ '' Id: ') ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   382
                        line := '    ^ ''',$$,'Id: ' , (line copyFrom: 13 to: (line lastIndexOf: $') - 1) , '$'''.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   383
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   384
                    ] ifFalse:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   385
                        ((line startsWith: '    ^ ''$Header: ' ) and:[versionMethodSelector == #version]) ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   386
                            line := '    ^ ''', $$ , 'Id: ' , (line copyFrom: 17 to: (line lastIndexOf: $') - 1) , ''''.    
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   387
                        ].
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
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   390
                    line2 := line copyReplaceAll: (Character codePoint:16rA7) "16rA7" with: $$.            
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   391
                    (line = line2) ifFalse:[versionMethodSelector := nil].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   392
                    line := line2.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   393
                ] ifFalse:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   394
                    line2 := line copyReplaceAll: $$ with: (Character codePoint:16rA7) "16rA7".            
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   395
                    (line = line2) ifFalse:[versionMethodSelector := nil].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   396
                    line := line2.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   397
                ].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   398
            ].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   399
            src atEnd ifFalse:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   400
                dst nextPutLine: line.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   401
            ] ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   402
                dst nextPutAll: line.
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
        ].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   405
        src close.            
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   406
        dst close.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   407
        "
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   408
            tmp contents asString.
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
        tmp moveTo: file asFilename.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   411
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
    ] ensure: [
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   414
        src close.            
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   415
        dst close.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   416
        tmp exists ifTrue:[tmp remove].
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
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   419
    "
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   420
        SVN::CVSTask basicNew doNormalizeVersionMethodInFile: 
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   421
            '/tmp/stx/libbasic/LongFloat.st'
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
    "Created: / 05-07-2011 / 18:54:54 / jv"
966
c0ba7fa12c62 changed: #doNormalizeVersionMethodInFile: (do not mormalize obsolete #version method)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 897
diff changeset
   425
    "Modified: / 19-01-2012 / 10:55:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   426
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   427
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   428
doRemoveDuplicateCommaVFilesInAtticIn:cvsDir
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   429
    |cvsAtticDir cvsDirContents|
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   430
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   431
    cvsAtticDir := cvsDir construct:'Attic'.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   432
    cvsDirContents := cvsDir directoryContents.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   433
    cvsAtticDir exists ifTrue:[
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   434
        cvsAtticDir
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   435
            directoryContentsAsFilenamesDo:[:atticFile |
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   436
                (cvsDirContents includes:atticFile baseName) ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   437
                    Transcript showCR:'removing stale file ' , atticFile baseName , ' in Attic'.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   438
                    atticFile isDirectory 
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   439
                        ifTrue:[atticFile recursiveRemove]
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   440
                        ifFalse:[atticFile remove]
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   441
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   442
                    "/cvsAtticDir remove.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   443
                ]
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   444
            ]
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   445
    ].
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   446
    cvsDir
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   447
        directoryContentsAsFilenamesDo:[:file |
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   448
            (file isDirectory and:[ file baseName ~= 'Attic' ]) ifTrue:[
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   449
                self doRemoveDuplicateCommaVFilesInAtticIn:file
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   450
            ]
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   451
        ]
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   452
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   453
    "Created: / 25-05-2009 / 22:35:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   454
    "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
   455
    "Modified: / 14-04-2011 / 18:01:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   456
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   457
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   458
doRemoveObsoleteFilesIn: dir
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   459
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   460
    self notify: 'Removing obsolete files'.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   461
    self removeFiles: self obsoleteFileNames.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   462
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   463
    "Created: / 30-05-2009 / 15:43:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   464
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   465
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   466
doSVNAddFilesFor: files
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   467
    self notify: 'Adding files'.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   468
    files isEmpty ifTrue: [ ^ self ].
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   469
    (AddCommand new)
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   470
        workingCopy: workingCopy;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   471
        paths: files;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   472
        execute
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   473
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   474
    "Created: / 02-06-2009 / 19:01:17 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   475
    "Modified: / 19-08-2009 / 11:26:57 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   476
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   477
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   478
doSVNSetProperty: propName to: propValue in: dir for: files
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   479
    |  |
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   480
    self notify: 'Setting ',propName,' property to ', propValue.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   481
    (dir asFilename / '.svn') exists ifFalse:[^self].
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   482
    files isEmpty ifTrue: [ ^ self ].
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   483
    (PropsetCommand new)
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   484
        workingCopy: (WorkingCopy branch: workingCopy branch path: dir);
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   485
        name:propName;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   486
        value: propValue;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   487
        paths: files;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   488
        execute
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   489
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   490
    "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
   491
    "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
   492
    "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
   493
!
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   494
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   495
doSVNSetSvnEolStylePropertyFor: files
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   496
    | realFiles |
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   497
    self notify: 'Setting svn:eol-style property to LF'.
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   498
    files isEmpty ifTrue: [ ^ self ].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   499
    realFiles := files select:
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   500
        [:each|(workingCopy path / each) isRegularFile].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   501
    realFiles isEmpty ifTrue:[^self].
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   502
    (PropsetCommand new)
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   503
        workingCopy: workingCopy;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   504
        name: 'svn:eol-style';
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   505
        value: 'LF';
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   506
        paths: realFiles;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   507
        execute
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   508
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   509
    "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
   510
    "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
   511
!
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   512
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   513
doSVNSetSvnEolStylePropertyIn: dir for: files
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   514
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   515
    ^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
   516
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   517
    "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
   518
    "Modified: / 14-04-2011 / 17:26:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   519
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   520
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   521
doSVNSetSvnKeywordPropertyFor: files
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   522
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   523
    self doSVNSetSvnKeywordPropertyIn: workingCopy path for: files.
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   524
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   525
    "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
   526
    "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
   527
!
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   528
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   529
doSVNSetSvnKeywordPropertyIn: dir for: files
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   530
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   531
    ^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
   532
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   533
    "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
   534
    "Created: / 14-04-2011 / 17:18:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   535
! !
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   536
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   537
!CVSTask methodsFor:'executing - private'!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   538
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   539
doSVNCheckout
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   540
    self notify: 'Checking out'.
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   541
    workingCopy checkout: SVN::Revision head full: true
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   542
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   543
    "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
   544
    "Modified: / 04-05-2011 / 18:30:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   545
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   546
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   547
doSVNCommit
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   548
    "
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   549
        FileBrowserV2 openOnDirectory: workingCopy path
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   550
    "
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   551
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   552
    self notify: 'Commiting'.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   553
    (CommitCommand new)
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   554
        workingCopy: workingCopy;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   555
        message: self svnCommitMessage;
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   556
        execute
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   557
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   558
    "Created: / 29-05-2009 / 18:13:41 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   559
    "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
   560
    "Modified: / 20-11-2009 / 10:11:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   561
! !
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   562
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   563
!CVSTask methodsFor:'initialization'!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   564
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   565
initialize
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   566
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   567
    cvsRoot := self class cvsRoot asFilename.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   568
    tmpDir := Filename newTemporaryDirectory.
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   569
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   570
    "Modified: / 29-05-2009 / 17:13:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   571
! !
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   572
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   573
!CVSTask methodsFor:'private'!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   574
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   575
removeFiles:arg
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   576
    "raise an error: must be redefined in concrete subclass(es)"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   577
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   578
    ^ self subclassResponsibility
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   579
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   580
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   581
renameFile:arg1 to:arg2
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   582
    "raise an error: must be redefined in concrete subclass(es)"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   583
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   584
    ^ self subclassResponsibility
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   585
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   586
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   587
svnBranch
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   588
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   589
    ^Branch repository: self svnRepository path: self svnBranchPath
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   590
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   591
    "Created: / 19-08-2009 / 11:20:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   592
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   593
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   594
svnBranchPath
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   595
    "raise an error: must be redefined in concrete subclass(es)"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   596
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   597
    ^ self subclassResponsibility
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   598
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   599
    "Created: / 19-08-2009 / 11:18:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   600
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   601
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   602
svnCommitMessage
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   603
    "raise an error: must be redefined in concrete subclass(es)"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   604
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   605
    ^ self subclassResponsibility
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   606
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   607
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   608
svnRepository
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   609
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   610
    ^Repository package: package url: self svnRepositoryUrl
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   611
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   612
    "Created: / 19-08-2009 / 11:12:25 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   613
    "Modified: / 19-08-2009 / 12:23:58 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   614
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   615
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   616
svnRepositoryUrl
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   617
    "raise an error: must be redefined in concrete subclass(es)"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   618
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   619
    ^ self subclassResponsibility
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   620
!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   621
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   622
svnWorkingCopy
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   623
    "raise an error: must be redefined in concrete subclass(es)"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   624
492
74ff0960961c *** empty log message ***
fm
parents: 390
diff changeset
   625
    ^WorkingCopy
755
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   626
        branch: self svnBranch
e179ad6a1952 changed: #version_CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 613
diff changeset
   627
        path: self svnWorkingCopyPath
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   628
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   629
    "Created: / 19-08-2009 / 11:23:42 / Jan Vrany <vranyj1@fel.cvut.cz>"
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   630
! !
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   631
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   632
!CVSTask class methodsFor:'documentation'!
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   633
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   634
version
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   635
    ^ '$Header$'
131
e7cfd94e27fe changed: #version_SVN
fm
parents: 62
diff changeset
   636
!
e7cfd94e27fe changed: #version_SVN
fm
parents: 62
diff changeset
   637
e7cfd94e27fe changed: #version_SVN
fm
parents: 62
diff changeset
   638
version_CVS
e7cfd94e27fe changed: #version_SVN
fm
parents: 62
diff changeset
   639
    ^ '$Header$'
e7cfd94e27fe changed: #version_SVN
fm
parents: 62
diff changeset
   640
!
e7cfd94e27fe changed: #version_SVN
fm
parents: 62
diff changeset
   641
e7cfd94e27fe changed: #version_SVN
fm
parents: 62
diff changeset
   642
version_SVN
897
481322cb68b3 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 786
diff changeset
   643
481322cb68b3 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 786
diff changeset
   644
    ^ '§Id: SVN__CVSTask.st 363 2011-08-08 13:49:48Z vranyj1 §'
62
bf3b0fc09373 initial checkin
fm
parents:
diff changeset
   645
! !