MCFilteredVersionSorter.st
author Claus Gittinger <cg@exept.de>
Sat, 01 Sep 2018 17:32:13 +0200
changeset 1086 efc5221435a5
parent 628 bd94d6c7aad0
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
73
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
MCVersionSorter subclass:#MCFilteredVersionSorter
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'target'
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
628
bd94d6c7aad0 category change
Claus Gittinger <cg@exept.de>
parents: 73
diff changeset
     7
	category:'SCM-Monticello-Versioning'
73
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!MCFilteredVersionSorter methodsFor:'as yet unclassified'!
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
addVersionInfo: aVersionInfo
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
	(aVersionInfo hasAncestor: target)
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
		ifTrue: [super addVersionInfo: aVersionInfo]
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
!
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
processVersionInfo: aVersionInfo
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	| success |
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	aVersionInfo = target ifTrue: [^ true].
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
	self pushLayer.
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
	success _ (self knownAncestorsOf: aVersionInfo) anySatisfy:
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
				[:ea | self processVersionInfo: ea].
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
	self popLayer.
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
	success ifTrue: [self addToCurrentLayer: aVersionInfo].
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
	^ success	
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
!
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
target: aVersionInfo
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
	target _ aVersionInfo
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
! !
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
!MCFilteredVersionSorter class methodsFor:'documentation'!
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
version
628
bd94d6c7aad0 category change
Claus Gittinger <cg@exept.de>
parents: 73
diff changeset
    36
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCFilteredVersionSorter.st,v 1.2 2012-09-11 21:22:04 cg Exp $'
73
c1f0b06b5d3f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
! !