[Pkg] The Trunk: Monticello-cmm.520.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Aug 3 21:14:43 UTC 2012


Chris Muller uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-cmm.520.mcz

==================== Summary ====================

Name: Monticello-cmm.520
Author: cmm
Time: 3 August 2012, 4:14:13.148 pm
UUID: 43782747-5008-4be8-a1fb-76f693a20517
Ancestors: Monticello-eem.519

- Reassign MCConfiguration>>#mustMerge: to MCVersion as #shouldMerge.  I need it outside the context of a MCConfiguration.

=============== Diff against Monticello-eem.519 ===============

Item was changed:
  ----- Method: MCRepository class>>location:username:password: (in category 'instance creation') -----
  location: urlOrPath username: user password: pass
  	"Answer an MCRepository for the given url or path. Accepted locations are:
  		- http, and ftp urls (i.e., http://source.squeak.org/trunk)
  		- directory paths (i.e., C:\Squeak\packages)
  		- directory matches (i.e., C:\Squeak\packages\*)
  	If provided, the supplied user name and password will be used."
  
  	| url |
  	(urlOrPath findString: '://') > 0 ifTrue:[
  		url := urlOrPath asUrl.
+ 		^ url scheme caseOf: {
+ 			['ftp'] -> [MCFtpRepository 
- 		url scheme caseOf: {
- 			['ftp'] -> [^MCFtpRepository 
  							host: url authority
  							 directory: url pathString allButFirst
  							user: user 
  							password: user].
+ 			['http'] -> [MCHttpRepository 
- 			['http'] -> [^MCHttpRepository 
  							location: urlOrPath 
  							user: user 
  							password: pass].
+ 		} otherwise:[self error: 'Unsupported scheme: ', url scheme].
- 		} otherwise:[^self error: 'Unsupported scheme: ', url scheme].
  	].
  
  	(urlOrPath endsWith: '*') ifTrue:[
  		^MCSubDirectoryRepository new 
  				directory: (FileDirectory on: urlOrPath allButLast)].
  
  	^MCDirectoryRepository
  			directory: (FileDirectory on: urlOrPath)!

Item was added:
+ ----- Method: MCRepository>>highestNumberedVersionForPackageNamed: (in category 'versions') -----
+ highestNumberedVersionForPackageNamed: aString 
+ 	^ self versionNamed: (self highestNumberedVersionNameForPackageNamed: aString)!

Item was added:
+ ----- Method: MCVersion>>shouldMerge (in category 'testing') -----
+ shouldMerge
+ 	"answer true if we have to do a full merge and false if we can simply load instead"
+ 	| pkg wc current |
+ 	(pkg := self package) hasWorkingCopy ifFalse: [^false "no wc -> load"].
+ 	(wc := pkg workingCopy) modified ifTrue: [^true "modified -> merge"].
+ 	wc ancestors isEmpty ifTrue: [^true "no ancestor info -> merge"].
+ 	current := wc ancestors first.
+ 	(self info hasAncestor: current) ifTrue: [^false "direct descendant of wc -> load"].
+ 	"new branch -> merge"
+ 	^true!



More information about the Packages mailing list