SVN__WCEntry.st
author Claus Gittinger <cg@exept.de>
Fri, 18 Nov 2016 16:14:26 +0100
changeset 1180 92753f6cc822
parent 982 ce6f8dd98682
permissions -rw-r--r--
#REFACTORING by cg class: SVNSourceCodeManager SVNVersionInfo is private
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
982
ce6f8dd98682 Work in progress:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
    31
	instanceVariableNames:'wc status include'
40
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
840
33bdd246d160 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 711
diff changeset
    90
    ^ '$Header$'
711
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
982
ce6f8dd98682 Work in progress:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
   155
include
ce6f8dd98682 Work in progress:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
   156
    "Returns true if the entry should be included in commit, false otherwise"
ce6f8dd98682 Work in progress:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
   157
ce6f8dd98682 Work in progress:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
   158
    ^ include
ce6f8dd98682 Work in progress:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
   159
ce6f8dd98682 Work in progress:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
   160
    "Modified (comment): / 07-02-2012 / 23:04:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ce6f8dd98682 Work in progress:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
   161
!
ce6f8dd98682 Work in progress:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
   162
ce6f8dd98682 Work in progress:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
   163
include:aBoolean
ce6f8dd98682 Work in progress:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
   164
    "Sets whether the entry should be included in commit or not"
ce6f8dd98682 Work in progress:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
   165
ce6f8dd98682 Work in progress:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
   166
    include := aBoolean.
ce6f8dd98682 Work in progress:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
   167
ce6f8dd98682 Work in progress:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
   168
    "Modified (comment): / 07-02-2012 / 23:04:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ce6f8dd98682 Work in progress:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
   169
!
ce6f8dd98682 Work in progress:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
   170
711
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   171
kind
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   172
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   173
    kind ifNil:
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   174
        [self file exists
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   175
            ifFalse:
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   176
                [kind  := NodeKindUnknown instance]
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   177
            ifTrue:
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   178
                [self file isDirectory
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   179
                    ifTrue:[kind := NodeKindDir instance]
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   180
                    ifFalse:[kind := NodeKindFile instance]]].
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   181
    ^kind
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   182
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   183
    "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
   184
!
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   185
40
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   186
readStream
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   187
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   188
    ^self asFilename readStream
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   189
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   190
    "Created: / 27-08-2009 / 09:52:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   191
!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   192
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   193
status
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   194
    ^ status
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   195
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   196
    "Created: / 17-08-2009 / 17:39:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   197
!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   198
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   199
wc
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   200
    ^ wc
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   201
!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   202
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   203
wc:aSVNWorkingCopy
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   204
    wc := aSVNWorkingCopy.
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   205
! !
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   206
711
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   207
!WCEntry methodsFor:'actions - svn'!
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   208
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   209
revert
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   210
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   211
    wc revert: (Array with: self path).
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   212
    status := StatusNormal instance
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   213
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   214
    "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
   215
    "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
   216
! !
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   217
40
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   218
!WCEntry methodsFor:'conversion'!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   219
711
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   220
asChangeSet
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   221
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   222
   ^ChangeSet fromFile: self file pathName
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   223
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   224
    "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
   225
!
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   226
40
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   227
asFilename
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   228
711
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   229
   ^self file
40
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   230
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   231
    "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
   232
    "Modified: / 23-11-2009 / 17:29:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
40
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   233
! !
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   234
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   235
!WCEntry methodsFor:'initialization'!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   236
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   237
readFromXml: xmlNode
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   238
982
ce6f8dd98682 Work in progress:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
   239
    include := true.
40
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   240
    path := xmlNode @ 'path'.
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   241
    status := Status withName: (xmlNode / 'wc-status' @ 'item').
982
ce6f8dd98682 Work in progress:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
   242
    (status isUnversioned or:[status isAdded or:[status isExternal or:[status isMissing]]]) ifFalse:
40
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   243
        [| commitNode |
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   244
        commitNode := xmlNode / 'wc-status' / 'commit'.
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   245
        revision := (commitNode first
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   246
                        valueOfAttribute: 'revision' 
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   247
                        ifAbsent:[self error:'No revision attribute!!']) asNumber.
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   248
        author := (commitNode / 'author') characterData.
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   249
        date := Timestamp readISO8601From: (commitNode / 'date') characterData]
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   250
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   251
    "Modified: / 06-04-2008 / 21:36:51 / janfrog"
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   252
    "Created: / 18-08-2009 / 14:28:19 / Jan Vrany <vranyj1@fel.cvut.cz>"
982
ce6f8dd98682 Work in progress:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
   253
    "Modified: / 07-02-2012 / 23:04:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
40
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:'presentation'!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   257
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   258
pathText
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   259
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   260
    ^status isNormal
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   261
        ifTrue:[path]
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   262
        ifFalse:[path asText allBold]
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   263
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   264
    "Created: / 11-04-2008 / 11:28:03 / Jan Vrany <vranyj1@fel.cvut.cz>"
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   265
!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   266
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   267
statusIcon
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   268
    ^ status icon
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   269
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   270
    "Created: / 17-08-2009 / 17:40:17 / 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:'printing & storing'!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   274
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   275
printOn: stream
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   276
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   277
    stream 
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   278
        space; nextPutAll: 'path:     '; nextPutAll: path; cr;
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   279
        space; nextPutAll: 'status:   '; nextPutAll: status printString; cr.
711
f731cabd8efd Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 438
diff changeset
   280
    (status notNil and:[status isUnversioned not]) ifTrue:[
40
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   281
        stream
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   282
        space; nextPutAll: 'revision: '; nextPutAll: revision printString; cr;        
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   283
        space; nextPutAll: 'author:   '; nextPutAll: author ? '<unknown>'; cr;            
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   284
        space; nextPutAll: 'date:     '; nextPutAll: date printString; cr]
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   285
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   286
    "Created: / 16-03-2008 / 08:18:05 / janfrog"
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   287
    "Modified: / 11-04-2008 / 09:47:51 / Jan Vrany <vranyj1@fel.cvut.cz>"
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   288
! !
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   289
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   290
!WCEntry methodsFor:'testing'!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   291
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   292
isDirEntry
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   293
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   294
    ^kind isDir
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   295
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   296
    "Created: / 27-08-2009 / 08:38:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   297
!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   298
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   299
isFileEntry
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   300
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   301
    ^kind isFile
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   302
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   303
    "Created: / 27-08-2009 / 08:26:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   304
! !
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   305
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   306
!WCEntry class methodsFor:'documentation'!
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   307
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   308
version
840
33bdd246d160 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 711
diff changeset
   309
    ^ '$Header$'
168
71c57efc3d43 changed: #version_SVN
fm
parents: 40
diff changeset
   310
!
71c57efc3d43 changed: #version_SVN
fm
parents: 40
diff changeset
   311
71c57efc3d43 changed: #version_SVN
fm
parents: 40
diff changeset
   312
version_SVN
840
33bdd246d160 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 711
diff changeset
   313
    ^ '§Id: SVN__WCEntry.st 363 2011-08-08 13:49:48Z vranyj1 §'
40
aacce9a6ec9d initial checkin
fm
parents:
diff changeset
   314
! !