SVN__MoveCommand.st
author Claus Gittinger <cg@exept.de>
Fri, 18 Nov 2016 16:14:26 +0100
changeset 1180 92753f6cc822
parent 882 10a25f92804d
permissions -rw-r--r--
#REFACTORING by cg class: SVNSourceCodeManager SVNVersionInfo is private
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
764
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     1
"
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     2
 Copyright (c) 2007-2010 Jan Vrany
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     3
 Copyright (c) 2009-2010 eXept Software AG
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     4
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     5
 Permission is hereby granted, free of charge, to any person
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     6
 obtaining a copy of this software and associated documentation
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     7
 files (the 'Software'), to deal in the Software without
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     8
 restriction, including without limitation the rights to use,
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     9
 copy, modify, merge, publish, distribute, sublicense, and/or sell
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    10
 copies of the Software, and to permit persons to whom the
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    11
 Software is furnished to do so, subject to the following
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    12
 conditions:
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    13
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    14
 The above copyright notice and this permission notice shall be
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    15
 included in all copies or substantial portions of the Software.
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    16
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    17
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    18
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    19
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    20
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    21
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    22
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    23
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    24
 OTHER DEALINGS IN THE SOFTWARE.
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    25
"
426
f21943b29622 *** empty log message ***
fm
parents: 291
diff changeset
    26
"{ Package: 'stx:libsvn' }"
70
cddc8452e241 initial checkin
fm
parents:
diff changeset
    27
cddc8452e241 initial checkin
fm
parents:
diff changeset
    28
"{ NameSpace: SVN }"
cddc8452e241 initial checkin
fm
parents:
diff changeset
    29
492
74ff0960961c *** empty log message ***
fm
parents: 426
diff changeset
    30
WCCommand subclass:#MoveCommand
70
cddc8452e241 initial checkin
fm
parents:
diff changeset
    31
	instanceVariableNames:'src dst'
cddc8452e241 initial checkin
fm
parents:
diff changeset
    32
	classVariableNames:''
cddc8452e241 initial checkin
fm
parents:
diff changeset
    33
	poolDictionaries:''
cddc8452e241 initial checkin
fm
parents:
diff changeset
    34
	category:'SVN-Private-Commands'
cddc8452e241 initial checkin
fm
parents:
diff changeset
    35
!
cddc8452e241 initial checkin
fm
parents:
diff changeset
    36
764
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    37
!MoveCommand class methodsFor:'documentation'!
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    38
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    39
copyright
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    40
"
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    41
 Copyright (c) 2007-2010 Jan Vrany
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    42
 Copyright (c) 2009-2010 eXept Software AG
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    43
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    44
 Permission is hereby granted, free of charge, to any person
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    45
 obtaining a copy of this software and associated documentation
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    46
 files (the 'Software'), to deal in the Software without
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    47
 restriction, including without limitation the rights to use,
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    48
 copy, modify, merge, publish, distribute, sublicense, and/or sell
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    49
 copies of the Software, and to permit persons to whom the
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    50
 Software is furnished to do so, subject to the following
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    51
 conditions:
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    52
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    53
 The above copyright notice and this permission notice shall be
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    54
 included in all copies or substantial portions of the Software.
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    55
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    56
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    57
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    58
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    59
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    60
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    61
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    62
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    63
 OTHER DEALINGS IN THE SOFTWARE.
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    64
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    65
"
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    66
! !
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    67
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    68
!MoveCommand class methodsFor:'others'!
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    69
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    70
version_CVS
882
10a25f92804d checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
    71
    ^ '$Header$'
764
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    72
! !
70
cddc8452e241 initial checkin
fm
parents:
diff changeset
    73
cddc8452e241 initial checkin
fm
parents:
diff changeset
    74
!MoveCommand methodsFor:'accessing'!
cddc8452e241 initial checkin
fm
parents:
diff changeset
    75
cddc8452e241 initial checkin
fm
parents:
diff changeset
    76
dst
cddc8452e241 initial checkin
fm
parents:
diff changeset
    77
    ^ dst
cddc8452e241 initial checkin
fm
parents:
diff changeset
    78
cddc8452e241 initial checkin
fm
parents:
diff changeset
    79
    "Created: / 16-03-2008 / 10:22:26 / janfrog"
cddc8452e241 initial checkin
fm
parents:
diff changeset
    80
!
cddc8452e241 initial checkin
fm
parents:
diff changeset
    81
cddc8452e241 initial checkin
fm
parents:
diff changeset
    82
dst:something
cddc8452e241 initial checkin
fm
parents:
diff changeset
    83
    dst := something.
cddc8452e241 initial checkin
fm
parents:
diff changeset
    84
cddc8452e241 initial checkin
fm
parents:
diff changeset
    85
    "Created: / 16-03-2008 / 10:22:26 / janfrog"
cddc8452e241 initial checkin
fm
parents:
diff changeset
    86
!
cddc8452e241 initial checkin
fm
parents:
diff changeset
    87
cddc8452e241 initial checkin
fm
parents:
diff changeset
    88
src
cddc8452e241 initial checkin
fm
parents:
diff changeset
    89
    ^ src
cddc8452e241 initial checkin
fm
parents:
diff changeset
    90
cddc8452e241 initial checkin
fm
parents:
diff changeset
    91
    "Created: / 16-03-2008 / 10:22:26 / janfrog"
cddc8452e241 initial checkin
fm
parents:
diff changeset
    92
!
cddc8452e241 initial checkin
fm
parents:
diff changeset
    93
cddc8452e241 initial checkin
fm
parents:
diff changeset
    94
src:something
cddc8452e241 initial checkin
fm
parents:
diff changeset
    95
    src := something.
cddc8452e241 initial checkin
fm
parents:
diff changeset
    96
cddc8452e241 initial checkin
fm
parents:
diff changeset
    97
    "Created: / 16-03-2008 / 10:22:26 / janfrog"
cddc8452e241 initial checkin
fm
parents:
diff changeset
    98
! !
cddc8452e241 initial checkin
fm
parents:
diff changeset
    99
cddc8452e241 initial checkin
fm
parents:
diff changeset
   100
!MoveCommand methodsFor:'executing - private'!
cddc8452e241 initial checkin
fm
parents:
diff changeset
   101
cddc8452e241 initial checkin
fm
parents:
diff changeset
   102
svnCmd
cddc8452e241 initial checkin
fm
parents:
diff changeset
   103
    "raise an error: must be redefined in concrete subclass(es)"
cddc8452e241 initial checkin
fm
parents:
diff changeset
   104
cddc8452e241 initial checkin
fm
parents:
diff changeset
   105
    ^'move'
cddc8452e241 initial checkin
fm
parents:
diff changeset
   106
cddc8452e241 initial checkin
fm
parents:
diff changeset
   107
    "Created: / 16-03-2008 / 10:22:26 / janfrog"
cddc8452e241 initial checkin
fm
parents:
diff changeset
   108
!
cddc8452e241 initial checkin
fm
parents:
diff changeset
   109
492
74ff0960961c *** empty log message ***
fm
parents: 426
diff changeset
   110
svnCmdArgumentsOn:arg
70
cddc8452e241 initial checkin
fm
parents:
diff changeset
   111
    "raise an error: must be redefined in concrete subclass(es)"
cddc8452e241 initial checkin
fm
parents:
diff changeset
   112
764
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   113
    | srcArg dstArg wcPath |
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   114
    wcPath := workingCopy path pathName.
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   115
    srcArg := (src startsWith: wcPath) 
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   116
                ifTrue:[src copyFrom: wcPath size + 2]
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   117
                ifFalse:[src].
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   118
    dstArg := (src startsWith: wcPath) 
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   119
                ifTrue:[dst copyFrom: wcPath size + 2]
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   120
                ifFalse:[dst].
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   121
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   122
70
cddc8452e241 initial checkin
fm
parents:
diff changeset
   123
    super svnCmdArgumentsOn:arg.
492
74ff0960961c *** empty log message ***
fm
parents: 426
diff changeset
   124
    arg
764
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   125
        nextPut: srcArg;
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   126
        nextPut: dstArg
70
cddc8452e241 initial checkin
fm
parents:
diff changeset
   127
cddc8452e241 initial checkin
fm
parents:
diff changeset
   128
    "Created: / 16-03-2008 / 10:22:26 / janfrog"
764
7c2893222b28 Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   129
    "Modified: / 28-07-2010 / 22:29:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
70
cddc8452e241 initial checkin
fm
parents:
diff changeset
   130
! !
cddc8452e241 initial checkin
fm
parents:
diff changeset
   131
cddc8452e241 initial checkin
fm
parents:
diff changeset
   132
!MoveCommand class methodsFor:'documentation'!
cddc8452e241 initial checkin
fm
parents:
diff changeset
   133
cddc8452e241 initial checkin
fm
parents:
diff changeset
   134
version
882
10a25f92804d checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
   135
    ^ '$Header$'
169
466b1ccdcd13 changed: #version_SVN
fm
parents: 70
diff changeset
   136
!
466b1ccdcd13 changed: #version_SVN
fm
parents: 70
diff changeset
   137
466b1ccdcd13 changed: #version_SVN
fm
parents: 70
diff changeset
   138
version_SVN
882
10a25f92804d checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
   139
    ^ '§Id: SVN__MoveCommand.st 363 2011-08-08 13:49:48Z vranyj1 §'
70
cddc8452e241 initial checkin
fm
parents:
diff changeset
   140
! !