mercurial/HGPackageRevision.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 08 Jan 2019 09:35:11 +0000
changeset 866 8a885a75daa9
parent 509 f92210d4585b
child 521 f4707df2c6e0
permissions -rw-r--r--
Issue 256: fix parsing branch name from changelog To retrieve a branch of an changeset, `stx:libscm` uses `{branch}` branch keyword and then parses it as "name list". However, according to documentation it is a single string: branch String. The name of the branch on which the changeset was committed. This obviously caused problems when branch name had spaces in it. This commit fixes the problem. One remaining thing is that `stx:libscm` technically allows a changeset to be in more than one branch which seems to be impossible in Mercurial itself. This should be investigated and fixed, eventually.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
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: 411
diff changeset
     3
Copyright (C) 2012-2015 Jan Vrany
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
This library is free software; you can redistribute it and/or
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
modify it under the terms of the GNU Lesser General Public
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
License as published by the Free Software Foundation; either
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
version 2.1 of the License. 
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
This library is distributed in the hope that it will be useful,
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
but WITHOUT ANY WARRANTY; without even the implied warranty of
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
Lesser General Public License for more details.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
You should have received a copy of the GNU Lesser General Public
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
License along with this library; if not, write to the Free Software
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
"{ Package: 'stx:libscm/mercurial' }"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
SCMAbstractPackageRevision subclass:#HGPackageRevision
397
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    22
	instanceVariableNames:'changeset changesetRoot'
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
	classVariableNames:''
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
	poolDictionaries:''
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
	category:'SCM-Mercurial-StX'
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
!HGPackageRevision class methodsFor:'documentation'!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
copyright
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
stx:libscm - a new source code management library for Smalltalk/X
509
f92210d4585b Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 411
diff changeset
    33
Copyright (C) 2012-2015 Jan Vrany
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
This library is free software; you can redistribute it and/or
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
modify it under the terms of the GNU Lesser General Public
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
License as published by the Free Software Foundation; either
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
version 2.1 of the License. 
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
This library is distributed in the hope that it will be useful,
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
but WITHOUT ANY WARRANTY; without even the implied warranty of
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
Lesser General Public License for more details.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
You should have received a copy of the GNU Lesser General Public
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
License along with this library; if not, write to the Free Software
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
! !
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
397
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    51
!HGPackageRevision class methodsFor:'instance creation'!
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    52
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    53
changeset:anHGChangeset root:anHGChangesetFile 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    54
    "Creates a new HGPackageRevision for given changeset and changeset file
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    55
     (assuming that changeset file is root of the package). 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    56
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    57
     Raises an HGError when repositoru doesn't contain a Smalltalk/X package."
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    58
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    59
    ^ self new setChangeset: anHGChangeset root: anHGChangesetFile.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    60
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    61
    "Created: / 06-03-2014 / 09:27:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    62
    "Modified: / 07-03-2014 / 10:35:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    63
!
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    64
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    65
changeset:anHGChangeset root:anHGChangesetFile name: aString
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    66
    "Creates a new HGPackageRevision for given changeset,  root and name.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    67
     (assuming that changeset file is root of the package). 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    68
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    69
     Raises an HGError when root doesn't contain a Smalltalk/X package."
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    70
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    71
    ^ self new setChangeset: anHGChangeset root: anHGChangesetFile name: aString
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    72
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    73
    "Created: / 07-03-2014 / 12:52:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    74
! !
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    75
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    76
!HGPackageRevision methodsFor:'accessing'!
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    77
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    78
revision
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    79
    "Return a logical revision package model"
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    80
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    81
    ^ changeset id
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    82
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    83
    "Created: / 05-03-2014 / 23:45:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    84
! !
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    85
411
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
    86
!HGPackageRevision methodsFor:'accessing-containers'!
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
    87
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
    88
containerFor: aString ifAbsent: aBlock
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
    89
    "Return a container as Filename with given name. If there's no such
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
    90
     container, evaluates a block"            
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
    91
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
    92
    ^ (changesetRoot children includesKey: aString)   
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
    93
        ifTrue:[ changesetRoot / aString ]
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
    94
        ifFalse:[ aBlock value ]
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
    95
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
    96
    "Created: / 14-03-2014 / 22:17:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
    97
! !
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
    98
397
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    99
!HGPackageRevision methodsFor:'accessing-hierarchy'!
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   100
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   101
children
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   102
    children isNil ifTrue:[ 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   103
        children := Dictionary new.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   104
        changesetRoot children do:[:each | 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   105
            each isDirectory ifTrue:[ 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   106
                | childPackageName child |
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   107
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   108
                childPackageName := (name includes: $:) 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   109
                        ifTrue:[ name , '/' , each baseName ] 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   110
                        ifFalse:[ name , ':' , each baseName ].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   111
                [ 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   112
                    child := self class changeset: changeset root: each name: childPackageName.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   113
                    child setParent: self.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   114
                    children at: each baseName put: child.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   115
                ] on: HGError do:[:ex | 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   116
                    "/ OK, directory does not contain a package...
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   117
                ].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   118
            ].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   119
        ].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   120
    ].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   121
    ^ children values
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   122
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   123
    "Created: / 07-03-2014 / 12:47:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   124
    "Modified: / 07-03-2014 / 14:24:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   125
! !
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   126
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   127
!HGPackageRevision methodsFor:'initialization'!
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   128
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   129
setChangeset: anHGChangeset root: anHGChangesetFile
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   130
    "Initializes a package rev for given changeset and root.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   131
     Raises an exception, if given root does not contain
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   132
     a Smalltalk/X package"
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   133
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   134
    | make_spec |
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   135
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   136
    "/ Look for Make.spec and extract package name from there
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   137
    "/ Hmm...stupid, / raises an error when file does not exist.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   138
    "/ Maybe I should change it...
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   139
    [
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   140
        make_spec := anHGChangesetFile / 'Make.spec'
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   141
    ] on: HGError do:[
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   142
        make_spec := nil.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   143
    ].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   144
    make_spec notNil ifTrue:[ 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   145
        | module module_dir |
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   146
        make_spec readingLinesDo:[:line|
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   147
            (line startsWith:'MODULE_DIR=') ifTrue:[ 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   148
                module_dir := line copyFrom: "'MODULE_DIR=' size"11 + 1.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   149
            ] ifFalse:[ 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   150
                (line startsWith:'MODULE=') ifTrue:[ 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   151
                    module := line copyFrom: "'MODULE=' size"7 + 1.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   152
                ]            
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   153
            ].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   154
        ].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   155
        (module notNil and:[ module_dir notNil ]) ifTrue:[            
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   156
            self setChangeset: anHGChangeset root: anHGChangesetFile name: (module , ':' , module_dir) virtual: false.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   157
            ^ self.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   158
        ].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   159
    ].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   160
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   161
    "/ Make.spec not found or failed to extract packagename from there.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   162
    "/ Maybe this is a virtual package container such as stx:libscm.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   163
    "/ Search directories, if any package is found there, derive my name
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   164
    "/ child's name.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   165
    children := Dictionary new.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   166
    anHGChangesetFile children do:[:each | 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   167
        each isDirectory ifTrue:[ 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   168
            | child |
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   169
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   170
            [ 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   171
                child := self class changeset: anHGChangeset root: each.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   172
                child setParent: self.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   173
                children at: each baseName put: child.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   174
            ] on: HGError do:[:ex | 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   175
                "/ OK, directory does not contain a package...
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   176
            ].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   177
        ].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   178
    ].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   179
    children notEmpty ifTrue:[ 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   180
        | myName |
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   181
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   182
        myName := children anElement name asPackageId parentPackage asString.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   183
        self setChangeset: anHGChangeset root: anHGChangesetFile name: myName virtual: true.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   184
        ^ self.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   185
    ].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   186
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   187
    "/ None of my subdirectories is a valid Smalltalk/X package,
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   188
    "/ so not I'am.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   189
    HGError raise.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   190
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   191
    "Created: / 07-03-2014 / 10:38:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   192
    "Modified: / 08-03-2014 / 10:06:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   193
!
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   194
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   195
setChangeset: anHGChangeset root: anHGChangesetFile name: aString
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   196
    "Initializes a package rev with given changeset and root and name."
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   197
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   198
    | v |
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   199
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   200
    [
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   201
        anHGChangesetFile / 'Make.spec'.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   202
        anHGChangesetFile / ((ProjectDefinition initialClassNameForDefinitionOf: aString) , '.' , SmalltalkLanguage instance sourceFileSuffix).
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   203
        v := false
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   204
    ] on: HGError do:[
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   205
        v := true.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   206
    ].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   207
    self setChangeset: anHGChangeset root: anHGChangesetFile name: aString virtual: v.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   208
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   209
    "Created: / 07-03-2014 / 23:07:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   210
!
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   211
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   212
setChangeset: anHGChangeset root: anHGChangesetFile name: aString virtual: aBoolean
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   213
    "Initializes a package rev with given changeset and root and name."
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   214
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   215
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   216
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   217
    name := aString.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   218
    changeset := anHGChangeset.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   219
    changesetRoot := anHGChangesetFile.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   220
    repository := anHGChangeset repository.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   221
    repositoryRoot := anHGChangesetFile pathName.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   222
    virtual := aBoolean. 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   223
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   224
    virtual ifFalse:[
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   225
        "/ Check, whether the project definition class really exists
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   226
        [ 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   227
            anHGChangesetFile / ((ProjectDefinition initialClassNameForDefinitionOf: aString) , '.' , SmalltalkLanguage instance sourceFileSuffix)
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   228
        ] on: HGError do:[ 
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   229
            ^ HGError newException
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   230
                parameter: (Array with: anHGChangeset with: anHGChangesetFile with: aString);
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   231
                messageText: ('No project definition class found for %1' bindWith: aString);
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   232
                raise.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   233
        ].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   234
    ].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   235
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   236
    "Created: / 07-03-2014 / 23:03:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   237
    "Modified: / 08-03-2014 / 10:06:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   238
! !
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   239