mercurial/HGChangesetFile.st
author Stefan Vogel <sv@exept.de>
Fri, 19 Jan 2018 22:42:30 +0100
branchcvs_MAIN
changeset 806 2b5c72c7b9d9
parent 693 70e47f715bc1
permissions -rw-r--r--
#REFACTORING by stefan class: HGChangesetFile changed: #readingFileDo:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 190
diff changeset
     1
"
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
     2
stx:libscm - a new source code management library for Smalltalk/X
509
f92210d4585b Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
     3
Copyright (C) 2012-2015 Jan Vrany
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
     4
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
     5
This library is free software; you can redistribute it and/or
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
     6
modify it under the terms of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
     7
License as published by the Free Software Foundation; either
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
     8
version 2.1 of the License. 
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 190
diff changeset
     9
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    10
This library is distributed in the hope that it will be useful,
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    11
but WITHOUT ANY WARRANTY; without even the implied warranty of
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    13
Lesser General Public License for more details.
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    14
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    15
You should have received a copy of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    16
License along with this library; if not, write to the Free Software
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    17
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 190
diff changeset
    18
"
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    19
"{ Package: 'stx:libscm/mercurial' }"
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    20
628
0bb25aa8612b class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
    21
"{ NameSpace: Smalltalk }"
0bb25aa8612b class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
    22
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    23
Object subclass:#HGChangesetFile
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    24
	instanceVariableNames:'changeset name parent children'
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    25
	classVariableNames:''
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    26
	poolDictionaries:''
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    27
	category:'SCM-Mercurial-Core'
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    28
!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    29
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    30
!HGChangesetFile class methodsFor:'documentation'!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    31
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 190
diff changeset
    32
copyright
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 190
diff changeset
    33
"
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    34
stx:libscm - a new source code management library for Smalltalk/X
509
f92210d4585b Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
    35
Copyright (C) 2012-2015 Jan Vrany
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    36
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    37
This library is free software; you can redistribute it and/or
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    38
modify it under the terms of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    39
License as published by the Free Software Foundation; either
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    40
version 2.1 of the License. 
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 190
diff changeset
    41
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    42
This library is distributed in the hope that it will be useful,
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    43
but WITHOUT ANY WARRANTY; without even the implied warranty of
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    44
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    45
Lesser General Public License for more details.
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    46
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    47
You should have received a copy of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    48
License along with this library; if not, write to the Free Software
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
    49
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 190
diff changeset
    50
"
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 190
diff changeset
    51
!
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 190
diff changeset
    52
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    53
documentation
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    54
"
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    55
    A representation on a file in working copy. It behaves just like 
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    56
    ordinary filename but also provides methods for quering it's
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    57
    state (added/removed/modified...), access to previous versions
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    58
    and so on.
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    59
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    60
    The protocol of HGChangesetFile is Filename-like, however,
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    61
    no modification is allowed.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    62
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    63
    [author:]
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    64
        Jan Vrany <jan.vrany@fit.cvut.cz>
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    65
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    66
    [instance variables:]
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    67
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    68
    [class variables:]
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    70
    [see also:]
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    71
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    72
"
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    73
! !
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    74
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    75
!HGChangesetFile methodsFor:'accessing'!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    76
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    77
/ aString
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    78
    ^self construct: aString
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    79
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    80
    "Created: / 16-11-2012 / 23:47:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    81
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    82
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    83
baseName
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    84
    ^name
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    85
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    86
    "Created: / 17-11-2012 / 00:00:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    87
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    88
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    89
changeset
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    90
    ^ changeset
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    91
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    92
190
a4a4b6f2fc52 Performance optimization in HGWorkingCopyFile.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    93
changesetId
a4a4b6f2fc52 Performance optimization in HGWorkingCopyFile.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    94
    ^ changeset id
a4a4b6f2fc52 Performance optimization in HGWorkingCopyFile.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    95
a4a4b6f2fc52 Performance optimization in HGWorkingCopyFile.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    96
    "Created: / 22-01-2013 / 13:36:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a4a4b6f2fc52 Performance optimization in HGWorkingCopyFile.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    97
!
a4a4b6f2fc52 Performance optimization in HGWorkingCopyFile.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
    98
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    99
children
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   100
    ^ children
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   101
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   102
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   103
construct: aString
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   104
    "Returns a child name aString. If no such child
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   105
     exist, raise an error."
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   106
121
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   107
    | components file |
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   108
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   109
    ( aString includes: $/ ) ifTrue:[
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   110
        components := aString tokensBasedOn: $/.
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   111
    ] ifFalse:[
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   112
        ( aString includes: Filename separator ) ifTrue:[
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   113
            components := aString tokensBasedOn: Filename separator.
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   114
        ] ifFalse:[
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   115
            ^self childNamed: aString
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   116
        ]
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   117
    ].
121
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   118
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   119
    file := self.
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   120
    components do:[:each|file := file childNamed: each].
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   121
    ^file
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   122
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   123
    "Created: / 16-11-2012 / 23:47:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
121
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   124
    "Modified: / 01-12-2012 / 01:33:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   125
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   126
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   127
directory
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   128
    ^parent
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   129
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   130
    "Created: / 16-11-2012 / 23:50:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   131
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   132
138
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   133
newer
628
0bb25aa8612b class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   134
    "Return newer revisions of given file based immediately on the receiver"
138
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   135
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   136
    ^self newer: false
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   137
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   138
    "Created: / 06-12-2012 / 00:09:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   139
!
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   140
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   141
newer: recursively
628
0bb25aa8612b class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   142
    "Return newer revisions of given file based on the receiver. 
0bb25aa8612b class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   143
     If recursively is true, than all newer revisions are returned.
0bb25aa8612b class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   144
     Otherwise only those based immediately on the receiver
138
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   145
    "
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   146
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   147
    | queue newer path |
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   148
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   149
    path := self pathName.
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   150
    queue := Stack withAll: (changeset children collect:[:e|Array with: e with: path]).
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   151
    newer := OrderedCollection new.
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   152
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   153
    [ queue notEmpty ] whileTrue:[
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   154
        | pair cs cont p |
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   155
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   156
        cs := queue top first.
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   157
        p := queue top second.
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   158
        queue pop.
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   159
        cont := true.
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   160
        cs changes do:[:chg|
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   161
            "/Catch renames...
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   162
            (chg isCopied and:[chg source = p]) ifTrue:[
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   163
                p := chg path.
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   164
            ].
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   165
            chg path = p ifTrue:[
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   166
                cont := false.
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   167
                chg isRemoved ifFalse:[
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   168
                    newer add: cs / p.
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   169
                ].
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   170
            ].
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   171
        ].
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   172
        (cont or:[recursively]) ifTrue:[
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   173
            queue addAll: (cs children collect:[:e|Array with: e with: p]).
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   174
        ].
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   175
    ].
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   176
    ^newer reversed
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   177
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   178
    "Created: / 06-12-2012 / 00:12:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
323
7a39e728a3ac When running tests, make sure Class>>#tryLocalSourceFirst: has defined value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 278
diff changeset
   179
    "Modified (comment): / 08-07-2013 / 02:22:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
138
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   180
!
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   181
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   182
parent
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   183
    ^ parent
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   184
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   185
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   186
pathName
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   187
    ^String streamContents:[:s|self printPathOn: s].
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   188
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   189
    "Created: / 16-11-2012 / 23:55:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   190
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   191
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   192
readStream
278
4bacce9509fe Workaround in HGChangesetFile>>readStream.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   193
    | file |
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   194
278
4bacce9509fe Workaround in HGChangesetFile>>readStream.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   195
    "Sigh, pipes on Windows does not work correctly, create
4bacce9509fe Workaround in HGChangesetFile>>readStream.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   196
     a temporary file then..."
4bacce9509fe Workaround in HGChangesetFile>>readStream.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   197
    ^ OperatingSystem isMSWINDOWSlike ifTrue:[
4bacce9509fe Workaround in HGChangesetFile>>readStream.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   198
        file := Filename newTemporary.
4bacce9509fe Workaround in HGChangesetFile>>readStream.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   199
        HGCommand cat
4bacce9509fe Workaround in HGChangesetFile>>readStream.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   200
            workingDirectory: self repository pathName;
4bacce9509fe Workaround in HGChangesetFile>>readStream.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   201
            path: self pathName;
4bacce9509fe Workaround in HGChangesetFile>>readStream.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   202
            revision: changeset id revno;
4bacce9509fe Workaround in HGChangesetFile>>readStream.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   203
            destination: file pathName;
4bacce9509fe Workaround in HGChangesetFile>>readStream.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   204
            execute.
4bacce9509fe Workaround in HGChangesetFile>>readStream.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   205
        file readStream
4bacce9509fe Workaround in HGChangesetFile>>readStream.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   206
    ] ifFalse:[
4bacce9509fe Workaround in HGChangesetFile>>readStream.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   207
        HGCommand cat
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   208
            workingDirectory: self repository pathName;
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   209
            path: self pathName;
116
b690f5845323 Class revision ID refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   210
            revision: changeset id revno;
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   211
            execute.
278
4bacce9509fe Workaround in HGChangesetFile>>readStream.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   212
    ].
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   213
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   214
    "Created: / 17-11-2012 / 00:00:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
278
4bacce9509fe Workaround in HGChangesetFile>>readStream.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   215
    "Modified: / 26-03-2013 / 11:16:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   216
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   217
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   218
repository
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   219
    ^self changeset repository
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   220
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   221
    "Created: / 17-11-2012 / 00:05:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   222
! !
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   223
121
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   224
!HGChangesetFile methodsFor:'accessing-private'!
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   225
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   226
childNamed: aString
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   227
    "Returns a child name aString. If no such child
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   228
     exist, raise an error."
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   229
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   230
    aString = '.' ifTrue:[ ^ self ].
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   231
    aString = '..' ifTrue:[ ^ parent ].
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   232
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   233
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   234
    children notNil ifTrue:[
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   235
        children at: aString ifPresent:[:child|^child].
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   236
    ].
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   237
    HGError newException
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   238
        parameter: (Array with: self with: aString );
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   239
        messageText: 'No such file or directory';
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   240
        raiseSignal.
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   241
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   242
    "Created: / 01-12-2012 / 01:29:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   243
! !
f7cac3dae028 Basic revision log support in HGSourceCodeManager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 116
diff changeset
   244
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   245
!HGChangesetFile methodsFor:'initialization'!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   246
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   247
setChangeset: anHGChangeset name: aString
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   248
    ^self setChangeset: anHGChangeset name: aString parent: nil.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   249
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   250
    "Created: / 16-11-2012 / 23:33:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   251
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   252
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   253
setChangeset: anHGChangeset name: aString parent: anHGChangesetFile
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   254
    changeset := anHGChangeset.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   255
    name := aString.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   256
    parent := anHGChangesetFile
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   257
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   258
    "Created: / 16-11-2012 / 23:50:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   259
! !
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   260
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   261
!HGChangesetFile methodsFor:'instance creation-private'!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   262
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   263
create0: aString
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   264
    | file |
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   265
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   266
    aString isEmpty ifTrue:[ ^ self ].    
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   267
    children isNil ifTrue:[
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   268
        children := Dictionary new
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   269
    ] ifFalse:[
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   270
        children at: aString ifPresent:[:child|^child].
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   271
    ].
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   272
    file := self class new setChangeset: changeset name: aString parent: self.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   273
    children at: aString put: file.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   274
    ^file
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   275
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   276
    "Created: / 16-11-2012 / 23:41:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   277
!
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   278
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   279
create: aString
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   280
    | file |
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   281
    (aString includes: $/) ifTrue:[
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   282
        file := self.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   283
        (aString tokensBasedOn: $/) do:[:each|
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   284
            file := file create0: each.            
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   285
        ]
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   286
    ] ifFalse:[
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   287
        file := self create0: aString
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   288
    ].
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   289
    ^file.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   290
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   291
    "Created: / 16-11-2012 / 23:41:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   292
! !
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   293
126
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 121
diff changeset
   294
!HGChangesetFile methodsFor:'operations'!
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 121
diff changeset
   295
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 121
diff changeset
   296
copyTo: aStringOrFilename
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 121
diff changeset
   297
    "Writes contents of the receiver to given file"
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 121
diff changeset
   298
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 121
diff changeset
   299
    HGCommand cat
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 121
diff changeset
   300
        workingDirectory: self repository pathName;
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 121
diff changeset
   301
        path: self pathName;
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 121
diff changeset
   302
        revision: changeset id revno;
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 121
diff changeset
   303
        destination: aStringOrFilename;
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 121
diff changeset
   304
        execute.
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 121
diff changeset
   305
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 121
diff changeset
   306
    "Created: / 04-12-2012 / 01:58:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 121
diff changeset
   307
! !
952efea00dd2 More SourceCodeManager API.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 121
diff changeset
   308
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   309
!HGChangesetFile methodsFor:'printing & storing'!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   310
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   311
printOn:aStream
693
70e47f715bc1 #OTHER by mawalch
mawalch
parents: 689
diff changeset
   312
    "append a printed representation of the receiver to the argument, aStream"
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   313
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   314
    aStream nextPutAll:'anHGChangesetFile['.
138
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   315
    changeset id printOn: aStream.
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   316
    aStream space.
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   317
    self printPathOn: aStream.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   318
    aStream nextPut:$].
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   319
138
c66a831e131b Make HGWorkingCopy>>revisions dynamic.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
   320
    "Modified: / 06-12-2012 / 00:28:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   321
!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   322
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   323
printPathOn: aStream
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   324
    parent notNil ifTrue:[
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   325
        parent printPathOn: aStream.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   326
        parent parent notNil ifTrue:[
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   327
            aStream nextPut:$/.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   328
        ].
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   329
    ].
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   330
    aStream nextPutAll: name.
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   331
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   332
    "Created: / 16-11-2012 / 23:53:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   333
! !
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   334
190
a4a4b6f2fc52 Performance optimization in HGWorkingCopyFile.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   335
!HGChangesetFile methodsFor:'private'!
a4a4b6f2fc52 Performance optimization in HGWorkingCopyFile.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   336
a4a4b6f2fc52 Performance optimization in HGWorkingCopyFile.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   337
ensureNotLazy
a4a4b6f2fc52 Performance optimization in HGWorkingCopyFile.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   338
    "Noop, I'm not lazy"
a4a4b6f2fc52 Performance optimization in HGWorkingCopyFile.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   339
a4a4b6f2fc52 Performance optimization in HGWorkingCopyFile.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   340
    "Created: / 22-01-2013 / 13:44:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a4a4b6f2fc52 Performance optimization in HGWorkingCopyFile.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   341
! !
a4a4b6f2fc52 Performance optimization in HGWorkingCopyFile.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   342
397
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   343
!HGChangesetFile methodsFor:'reading-files'!
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   344
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   345
contents
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   346
    "return the contents of the file as a collection of lines;
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   347
     Raises an error, if the file is unreadable/non-existing.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   348
     See also #contentsOfEntireFile, which returns a string for textFiles.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   349
     CAVEAT: bad naming - but req'd for VW compatibility."
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   350
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   351
    ^ self readingFileDo:[:s | s contents].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   352
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   353
    "
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   354
     'Makefile' asFilename contents
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   355
     'foobar' asFilename contents            
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   356
    "
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   357
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   358
    "Modified: / 2.7.1996 / 12:49:45 / stefan"
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   359
    "Created: / 11.7.1996 / 14:09:11 / cg"
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   360
    "Modified: / 15.10.1998 / 11:41:45 / cg"
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   361
!
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   362
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   363
contentsAsString
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   364
    "to compensate for the bad naming, use this to make things explicit.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   365
     See also #contents, which returns the lines as stringCollection for textFiles."
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   366
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   367
    ^ self contentsOfEntireFile
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   368
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   369
    "
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   370
     'Makefile' asFilename contentsAsString
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   371
     'foobar' asFilename contentsAsString
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   372
    "
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   373
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   374
    "Modified: / 02-07-1996 / 12:49:45 / stefan"
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   375
    "Created: / 08-11-2007 / 13:29:59 / cg"
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   376
!
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   377
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   378
contentsOfEntireFile
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   379
    "return the contents of the file as a string;
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   380
     Raises an error, if the file is unreadable/non-existing.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   381
     See also #contents, which returns the lines as stringCollection for textFiles.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   382
     CAVEAT: bad naming - but req'd for VW compatibility."
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   383
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   384
    ^ self readingFileDo:[:s | s contentsOfEntireFile].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   385
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   386
    "
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   387
     'Makefile' asFilename contentsOfEntireFile
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   388
     'foobar' asFilename contentsOfEntireFile
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   389
    "
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   390
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   391
    "Modified: / 2.7.1996 / 12:49:45 / stefan"
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   392
    "Modified: / 15.10.1998 / 11:42:05 / cg"
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   393
!
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   394
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   395
readingFileDo:aBlock
689
bd3588805365 #OTHER by mawalch
mawalch
parents: 628
diff changeset
   396
    "Create a read stream on the receiver file, evaluate aBlock, passing that stream as arg,
bd3588805365 #OTHER by mawalch
mawalch
parents: 628
diff changeset
   397
     and return the block's value. 
397
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   398
     If the file cannot be opened, an exception is raised or
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   399
     (old behavior, will vanish:)the block is evaluated with a nil argument.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   400
     Ensures that the stream is closed."
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   401
806
2b5c72c7b9d9 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 693
diff changeset
   402
    |stream|
397
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   403
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   404
    stream := self readStream.
806
2b5c72c7b9d9 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 693
diff changeset
   405
    ^ [
2b5c72c7b9d9 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 693
diff changeset
   406
        aBlock value:stream
397
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   407
    ] ensure:[
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   408
        stream notNil ifTrue:[stream close]
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   409
    ].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   410
806
2b5c72c7b9d9 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 693
diff changeset
   411
    "Modified (comment): / 12-01-2018 / 18:23:20 / stefan"
397
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   412
!
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   413
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   414
readingLinesDo:aBlock
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   415
    "create a read-stream on the receiver file,
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   416
     evaluate aBlock for each line read from the stream.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   417
     If the file cannot be opened, an error is raised.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   418
     Ensures that the stream is closed."
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   419
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   420
    self readingFileDo:[:stream |
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   421
        stream linesDo:aBlock
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   422
    ].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   423
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   424
    "
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   425
    '/etc/passwd' asFilename 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   426
        readingLinesDo:[:eachLine |
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   427
            Transcript showCR:eachLine.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   428
        ]. 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   429
    "
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   430
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   431
    "
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   432
    '/etc/xxxxx' asFilename 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   433
        readingLinesDo:[:eachLine |
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   434
            Transcript showCR:eachLine.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   435
        ]. 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   436
    "
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   437
! !
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   438
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   439
!HGChangesetFile methodsFor:'testing'!
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   440
397
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   441
isDirectory
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   442
    ^ children notNil
190
a4a4b6f2fc52 Performance optimization in HGWorkingCopyFile.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   443
397
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   444
    "Created: / 07-03-2014 / 12:46:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
190
a4a4b6f2fc52 Performance optimization in HGWorkingCopyFile.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   445
!
a4a4b6f2fc52 Performance optimization in HGWorkingCopyFile.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   446
71
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   447
isRootDirectory
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   448
    ^parent isNil
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   449
bd4cfb10a262 Basic support to access changeset content.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
   450
    "Created: / 16-11-2012 / 23:58:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   451
! !
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   452
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   453
!HGChangesetFile class methodsFor:'documentation'!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   454
628
0bb25aa8612b class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   455
version
0bb25aa8612b class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   456
    ^ '$Header$'
0bb25aa8612b class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   457
!
0bb25aa8612b class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   458
0bb25aa8612b class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   459
version_CVS
0bb25aa8612b class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   460
    ^ '$Header$'
0bb25aa8612b class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   461
!
0bb25aa8612b class: RBAbstractClass
Claus Gittinger <cg@exept.de>
parents: 509
diff changeset
   462
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   463
version_HG
115
b1ed2d29054b version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 75
diff changeset
   464
b1ed2d29054b version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 75
diff changeset
   465
    ^ '$Changeset: <not expanded> $'
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   466
! !
190
a4a4b6f2fc52 Performance optimization in HGWorkingCopyFile.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 138
diff changeset
   467