SVN__WCEntry.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 08 Aug 2011 15:15:17 +0200
changeset 711 f731cabd8efd
parent 438 830e69dc6812
child 840 33bdd246d160
permissions -rw-r--r--
Updates from SVN
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
711
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
     1
"
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
     2
 Copyright (c) 2007-2010 Jan Vrany
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
     3
 Copyright (c) 2009-2010 eXept Software AG
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
     4
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
     5
 Permission is hereby granted, free of charge, to any person
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
     6
 obtaining a copy of this software and associated documentation
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
     7
 files (the 'Software'), to deal in the Software without
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
     8
 restriction, including without limitation the rights to use,
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
     9
 copy, modify, merge, publish, distribute, sublicense, and/or sell
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    10
 copies of the Software, and to permit persons to whom the
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    11
 Software is furnished to do so, subject to the following
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    12
 conditions:
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    13
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    14
 The above copyright notice and this permission notice shall be
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    15
 included in all copies or substantial portions of the Software.
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    16
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    17
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    18
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    19
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    20
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    21
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    22
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    23
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    24
 OTHER DEALINGS IN THE SOFTWARE.
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    25
"
438
830e69dc6812 *** empty log message ***
fm
parents: 342
diff changeset
    26
"{ Package: 'stx:libsvn' }"
40
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    27
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    28
"{ NameSpace: SVN }"
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    29
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    30
Entry subclass:#WCEntry
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    31
	instanceVariableNames:'wc status'
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    32
	classVariableNames:''
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    33
	poolDictionaries:''
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    34
	category:'SVN-Working copy'
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    35
!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    36
711
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    37
!WCEntry class methodsFor:'documentation'!
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    38
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    39
copyright
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    40
"
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    41
 Copyright (c) 2007-2010 Jan Vrany
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    42
 Copyright (c) 2009-2010 eXept Software AG
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    43
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    44
 Permission is hereby granted, free of charge, to any person
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    45
 obtaining a copy of this software and associated documentation
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    46
 files (the 'Software'), to deal in the Software without
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    47
 restriction, including without limitation the rights to use,
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    48
 copy, modify, merge, publish, distribute, sublicense, and/or sell
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    49
 copies of the Software, and to permit persons to whom the
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    50
 Software is furnished to do so, subject to the following
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    51
 conditions:
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    52
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    53
 The above copyright notice and this permission notice shall be
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    54
 included in all copies or substantial portions of the Software.
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    55
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    56
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    57
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    58
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    59
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    60
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    61
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    62
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    63
 OTHER DEALINGS IN THE SOFTWARE.
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    64
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    65
"
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    66
! !
40
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    67
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    68
!WCEntry class methodsFor:'instance creation'!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    69
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    70
path: aString
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    71
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    72
    ^self new
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    73
        path: aString;
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    74
        yourself
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    75
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    76
    "Created: / 27-08-2009 / 08:19:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    77
!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    78
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    79
readFromXml: aXMLNode
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    80
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    81
    self assert: (aXMLNode isKindOf: XML::Node).
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    82
    ^self new readFromXml: aXMLNode
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    83
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    84
    "Created: / 18-08-2009 / 14:27:46 / Jan Vrany <vranyj1@fel.cvut.cz>"
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    85
! !
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    86
711
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    87
!WCEntry class methodsFor:'others'!
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    88
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    89
version_CVS
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    90
    ^ '$ÂHeader: /cvs/stx/stx/libsvn/SVN__WCEntry.st,v 1.4 2009/10/19 12:23:25 fm Exp Â$'
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    91
! !
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    92
40
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    93
!WCEntry methodsFor:'accessing'!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
    94
711
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    95
directory
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    96
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    97
    ^self file directory
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    98
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
    99
    "Created: / 23-11-2009 / 17:29:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   100
!
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   101
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   102
file
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   103
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   104
    ^wc path / path
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   105
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   106
    "Created: / 23-11-2009 / 17:29:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   107
!
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   108
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   109
fileMergeLeft
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   110
    "Base"
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   111
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   112
    | files revs |
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   113
    files := self directory directoryContentsAsFilenamesMatching: (path , '*.r*').
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   114
    files size = 0 ifTrue:[^nil].
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   115
    files size ~= 2 ifTrue:[self error:'Unfinished/interrupted merge in working copy?'].
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   116
    revs := files collect:[:each|(each suffix select:[:char|char isDigit]) asNumber].
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   117
    ^revs first < revs second
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   118
        ifTrue:[files first]
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   119
        ifFalse:[files second]
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   120
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   121
    "Created: / 23-11-2009 / 17:32:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   122
    "Modified: / 09-12-2009 / 21:24:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   123
!
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   124
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   125
fileMergeRight
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   126
    "To be merged"
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   127
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   128
    | files revs |
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   129
    files := self directory directoryContentsAsFilenamesMatching: (path , '*.r*').
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   130
    files size = 0 ifTrue:[^nil].
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   131
    files size ~= 2 ifTrue:[self error:'Unfinished/interrupted merge in working copy?'].
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   132
    revs := files collect:[:each|(each suffix select:[:char|char isDigit]) asNumber].
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   133
    ^revs first > revs second
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   134
        ifTrue:[files first]
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   135
        ifFalse:[files second]
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   136
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   137
    "Created: / 23-11-2009 / 17:32:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   138
    "Modified: / 09-12-2009 / 21:23:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   139
!
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   140
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   141
fileMergeWorking
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   142
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   143
    | files |
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   144
    files := self directory directoryContentsAsFilenamesMatching: (path , '.working').
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   145
    files size = 0 ifTrue:[
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   146
    files := self directory directoryContentsAsFilenamesMatching: (path , '.mine')].
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   147
    files size = 0 ifTrue:[^nil].
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   148
    files size > 1 ifTrue:[self error:'Unfinished/interrupted merge in working copy?'].
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   149
    ^files anyOne
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   150
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   151
    "Created: / 23-11-2009 / 17:32:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   152
    "Modified: / 09-12-2009 / 16:05:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   153
!
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   154
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   155
kind
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   156
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   157
    kind ifNil:
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   158
        [self file exists
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   159
            ifFalse:
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   160
                [kind  := NodeKindUnknown instance]
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   161
            ifTrue:
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   162
                [self file isDirectory
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   163
                    ifTrue:[kind := NodeKindDir instance]
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   164
                    ifFalse:[kind := NodeKindFile instance]]].
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   165
    ^kind
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   166
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   167
    "Created: / 24-11-2009 / 09:29:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   168
!
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   169
40
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   170
readStream
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   171
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   172
    ^self asFilename readStream
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   173
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   174
    "Created: / 27-08-2009 / 09:52:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   175
!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   176
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   177
status
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   178
    ^ status
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   179
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   180
    "Created: / 17-08-2009 / 17:39:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   181
!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   182
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   183
wc
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   184
    ^ wc
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   185
!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   186
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   187
wc:aSVNWorkingCopy
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   188
    wc := aSVNWorkingCopy.
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   189
! !
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   190
711
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   191
!WCEntry methodsFor:'actions - svn'!
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   192
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   193
revert
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   194
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   195
    wc revert: (Array with: self path).
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   196
    status := StatusNormal instance
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   197
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   198
    "Created: / 05-12-2009 / 20:14:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   199
    "Modified: / 13-02-2010 / 19:47:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   200
! !
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   201
40
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   202
!WCEntry methodsFor:'conversion'!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   203
711
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   204
asChangeSet
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   205
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   206
   ^ChangeSet fromFile: self file pathName
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   207
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   208
    "Created: / 26-11-2009 / 19:49:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   209
!
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   210
40
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   211
asFilename
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   212
711
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   213
   ^self file
40
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   214
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   215
    "Created: / 27-08-2009 / 09:52:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
711
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   216
    "Modified: / 23-11-2009 / 17:29:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
40
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   217
! !
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   218
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   219
!WCEntry methodsFor:'initialization'!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   220
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   221
readFromXml: xmlNode
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   222
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   223
    path := xmlNode @ 'path'.
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   224
    status := Status withName: (xmlNode / 'wc-status' @ 'item').
711
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   225
    (status isUnversioned or:[status isAdded or:[status isExternal]]) ifFalse:
40
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   226
        [| commitNode |
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   227
        commitNode := xmlNode / 'wc-status' / 'commit'.
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   228
        revision := (commitNode first
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   229
                        valueOfAttribute: 'revision' 
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   230
                        ifAbsent:[self error:'No revision attribute!!']) asNumber.
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   231
        author := (commitNode / 'author') characterData.
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   232
        date := Timestamp readISO8601From: (commitNode / 'date') characterData]
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   233
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   234
    "Modified: / 06-04-2008 / 21:36:51 / janfrog"
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   235
    "Created: / 18-08-2009 / 14:28:19 / Jan Vrany <vranyj1@fel.cvut.cz>"
711
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   236
    "Modified: / 09-04-2010 / 14:19:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
40
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   237
! !
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   238
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   239
!WCEntry methodsFor:'presentation'!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   240
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   241
pathText
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   242
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   243
    ^status isNormal
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   244
        ifTrue:[path]
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   245
        ifFalse:[path asText allBold]
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   246
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   247
    "Created: / 11-04-2008 / 11:28:03 / Jan Vrany <vranyj1@fel.cvut.cz>"
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   248
!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   249
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   250
statusIcon
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   251
    ^ status icon
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   252
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   253
    "Created: / 17-08-2009 / 17:40:17 / Jan Vrany <vranyj1@fel.cvut.cz>"
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   254
! !
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   255
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   256
!WCEntry methodsFor:'printing & storing'!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   257
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   258
printOn: stream
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   259
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   260
    stream 
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   261
        space; nextPutAll: 'path:     '; nextPutAll: path; cr;
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   262
        space; nextPutAll: 'status:   '; nextPutAll: status printString; cr.
711
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   263
    (status notNil and:[status isUnversioned not]) ifTrue:[
40
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   264
        stream
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   265
        space; nextPutAll: 'revision: '; nextPutAll: revision printString; cr;        
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   266
        space; nextPutAll: 'author:   '; nextPutAll: author ? '<unknown>'; cr;            
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   267
        space; nextPutAll: 'date:     '; nextPutAll: date printString; cr]
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   268
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   269
    "Created: / 16-03-2008 / 08:18:05 / janfrog"
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   270
    "Modified: / 11-04-2008 / 09:47:51 / Jan Vrany <vranyj1@fel.cvut.cz>"
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   271
! !
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   272
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   273
!WCEntry methodsFor:'testing'!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   274
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   275
isDirEntry
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   276
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   277
    ^kind isDir
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   278
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   279
    "Created: / 27-08-2009 / 08:38:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   280
!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   281
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   282
isFileEntry
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   283
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   284
    ^kind isFile
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   285
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   286
    "Created: / 27-08-2009 / 08:26:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   287
! !
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   288
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   289
!WCEntry class methodsFor:'documentation'!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   290
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   291
version
711
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   292
    ^ '$Id$'
168
71c57efc3d43 changed: #version_SVN
fm
parents: 40
diff changeset
   293
!
71c57efc3d43 changed: #version_SVN
fm
parents: 40
diff changeset
   294
71c57efc3d43 changed: #version_SVN
fm
parents: 40
diff changeset
   295
version_SVN
711
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   296
    ^ '§Id: SVN__WCEntry.st 350 2011-07-07 18:42:56Z vranyj1 §'
40
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   297
! !