--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/MCMerger.st Wed Nov 22 14:08:20 2006 +0100
@@ -0,0 +1,62 @@
+"{ Package: 'stx:goodies/monticello' }"
+
+Object subclass:#MCMerger
+ instanceVariableNames:'conflicts'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Monticello-Merging'
+!
+
+
+!MCMerger methodsFor:'as yet unclassified'!
+
+addConflictWithOperation: anOperation
+ self conflicts add: (MCConflict operation: anOperation)
+!
+
+applyTo: anObject
+ self isMerged ifFalse: [self error: 'You must resolve all the conflicts first'].
+ conflicts do: [:ea | ea applyTo: anObject]
+!
+
+conflicts
+ ^ conflicts ifNil: [conflicts _ OrderedCollection new]
+!
+
+isMerged
+ ^ self conflicts allSatisfy: [:ea | ea isResolved]
+!
+
+load
+ | loader |
+ loader _ MCPackageLoader new.
+ loader provisions addAll: self provisions.
+ self applyTo: loader.
+ loader load
+!
+
+loadWithNameLike: baseName
+ | loader |
+ loader _ MCPackageLoader new.
+ loader provisions addAll: self provisions.
+ self applyTo: loader.
+ loader loadWithNameLike: baseName
+!
+
+mergedSnapshot
+ ^ MCPatcher apply: self to: self baseSnapshot
+!
+
+operations
+ ^ #()
+!
+
+provisions
+ ^ #()
+! !
+
+!MCMerger class methodsFor:'documentation'!
+
+version
+ ^ '$Header: /cvs/stx/stx/goodies/monticello/MCMerger.st,v 1.1 2006-11-22 13:08:20 cg Exp $'
+! !