--- a/AbstractSourceCodeManager.st Tue Sep 12 14:29:52 2006 +0200
+++ b/AbstractSourceCodeManager.st Tue Sep 12 16:13:16 2006 +0200
@@ -2046,31 +2046,44 @@
"Created: 19.4.1996 / 17:24:34 / cg"
!
-writeHistoryLogSince:timeGoal filterSTSources:filter filterUser:userFilter filterRepository:repositoryFilter filterModules:moduleFilter to:aStream
+writeHistoryLogSince:timeGoal filterSTSources:filter filterUser:userFilter filterRepository:repositoryFilter filterModules:moduleFilter filterProjects:projectFilterArg to:aStream
"send a full historyLog to some stream.
This walks over all possible repository roots."
- |recordType fileName user date time rev pkgDir
- clsName cls clsRev goalString prevUser
- revInfo cvsRoot prevCvsRoot|
+ |projectFilter goalString prevUser prevCvsRoot |
+
+ projectFilter := projectFilterArg isEmptyOrNil ifTrue:nil ifFalse:projectFilterArg.
goalString := ''.
+ projectFilter notNil ifTrue:[
+ projectFilter size == 1 ifTrue:[
+ goalString := goalString , 'of ',projectFilter first.
+ ] ifFalse:[
+ projectFilter size == 2 ifTrue:[
+ goalString := goalString , 'of ',projectFilter first,' and ',projectFilter second.
+ ] ifFalse:[
+ goalString := goalString , 'of ',projectFilter size printString,' projects'.
+ ].
+ ].
+ goalString := goalString,' '
+ ].
(timeGoal notEmptyOrNil) ifTrue:[
- goalString := ' since ' , timeGoal.
+ goalString := goalString , 'since ' , timeGoal,' '.
].
userFilter notNil ifTrue:[
userFilter isString ifTrue:[
- goalString := ', for user ' , userFilter
+ goalString := 'by user ',userFilter
] ifFalse:[
userFilter size == 1 ifTrue:[
- goalString := ', for user ' , (userFilter first)
+ goalString := 'by user ',(userFilter first)
] ifFalse:[
- goalString := ', for user ' , (userFilter first) , '...' , (userFilter last)
+ goalString := 'by users ',(userFilter first),'...',(userFilter last)
]
].
+ goalString := goalString,' '.
].
- aStream nextPutLine:'**** source repository history' , goalString , ' ****'.
+ aStream nextPutLine:'**** repository history ' , goalString , '****'.
aStream cr.
self
@@ -2080,66 +2093,95 @@
filterRepository:repositoryFilter
filterModules:moduleFilter
inTo:[:info |
- user := info at:#user ifAbsent:'?'.
- recordType := info at:#cvsRecordType ifAbsent:'?'.
- fileName := info at:#fileName ifAbsent:'?'.
- date := info at:#date ifAbsent:'?'.
- time := info at:#time ifAbsent:'?'.
- rev := info at:#revision ifAbsent:'?'.
+ |user recordType fileName date time rev pkgDir
+ module directory pkg
+ clsName cvsRoot cls clsRev revInfo|
+
pkgDir := info at:#directory ifAbsent:'?'.
- clsName := info at:#className ifAbsent:'?'.
- cvsRoot := info at:#cvsRoot ifAbsent:'?'.
-
- cvsRoot ~= prevCvsRoot ifTrue:[
- aStream cr.
- aStream nextPutLine:'>>>> repository: ' , cvsRoot , ' <<<<'.
- aStream cr; cr.
- aStream nextPutLine:' date time user rev file module/package'.
- prevUser := nil.
- prevCvsRoot := cvsRoot.
- ].
- prevUser ~= user ifTrue:[
- aStream cr.
- prevUser := user.
- ].
- aStream nextPutAll:recordType; space;
- nextPutAll:(date printString paddedTo:5); space; nextPutAll:(time printString paddedTo:5); space;
+ module := pkgDir upTo:$/.
+ directory := pkgDir copyFrom:(module size+2).
+ pkg := module,':',directory.
+
+ (projectFilter isEmptyOrNil
+ or:[ projectFilter includes:pkg ]) ifTrue:[
+
+ user := info at:#user ifAbsent:'?'.
+ recordType := info at:#cvsRecordType ifAbsent:'?'.
+ fileName := info at:#fileName ifAbsent:'?'.
+ date := info at:#date ifAbsent:'?'.
+ time := info at:#time ifAbsent:'?'.
+ rev := info at:#revision ifAbsent:'?'.
+
+ clsName := info at:#className ifAbsent:'?'.
+ cvsRoot := info at:#cvsRoot ifAbsent:'?'.
+
+ cvsRoot ~= prevCvsRoot ifTrue:[
+ aStream cr.
+ aStream nextPutLine:'>>>> repository: ' , cvsRoot , ' <<<<'.
+ aStream cr; cr.
+ aStream nextPutLine:' Date Time User Rev File Package'.
+ prevUser := nil.
+ prevCvsRoot := cvsRoot.
+ ].
+ prevUser ~= user ifTrue:[
+ aStream cr.
+ prevUser := user.
+ ].
+ aStream
+ nextPutAll:recordType; space;
+ nextPutAll:(date printString paddedTo:10); space; nextPutAll:(time printString paddedTo:5); space;
nextPutAll:(user leftPaddedTo:10); space;
- nextPutAll:(rev decimalPaddedTo:8 and:3 at:$. withLeft:(Character space) right:nil); tab;
- nextPutAll:(fileName paddedTo:24); space;
- nextPutAll:(pkgDir paddedTo:20).
-
- "/
- "/ for your convenience:
- "/ check what the actual version is in the image
- "/
- clsName notNil ifTrue:[
- revInfo := nil.
- cls := Smalltalk classNamed:clsName.
- (cls notNil and:[(clsRev := cls revision) notNil]) ifTrue:[
- rev ~= clsRev ifTrue:[
- revInfo := (' current: ' , clsRev)
- ]
- ] ifFalse:[
- cls isNil ifTrue:[
- revInfo := (' current: ** none **')
+ nextPutAll:(rev decimalPaddedTo:8 and:4 at:$. withLeft:(Character space) right:nil); tab;
+ nextPutAll:(fileName paddedTo:30); space;
+ nextPutAll:pkg.
+
+ "/
+ "/ for your convenience:
+ "/ check what the actual version is in the image
+ "/
+ clsName notNil ifTrue:[
+ revInfo := nil.
+ cls := Smalltalk classNamed:clsName.
+ (cls notNil and:[(clsRev := cls revision) notNil]) ifTrue:[
+ rev ~= clsRev ifTrue:[
+ revInfo := (' current: ' , clsRev)
+ ]
] ifFalse:[
- cls isLoaded ifTrue:[
- revInfo := (' current: ** no revision info **')
+ cls isNil ifTrue:[
+ revInfo := (' current: ** none **')
] ifFalse:[
- revInfo := (' current: ** not loaded **')
- ]
- ]
+ cls isLoaded ifTrue:[
+ revInfo := (' current: ** no revision info **')
+ ] ifFalse:[
+ revInfo := (' current: ** not loaded **')
+ ]
+ ]
+ ].
+ revInfo notNil ifTrue:[
+ aStream nextPutAll:revInfo
+ ].
].
- revInfo notNil ifTrue:[
- aStream nextPutAll:revInfo
- ].
+ aStream cr
].
- aStream cr
].
- "Modified: / 28.9.1998 / 16:47:08 / cg"
- "Created: / 17.1.2001 / 13:14:57 / cg"
+ "Created: / 12-09-2006 / 15:18:35 / cg"
+!
+
+writeHistoryLogSince:timeGoal filterSTSources:filter filterUser:userFilter filterRepository:repositoryFilter filterModules:moduleFilter to:aStream
+ "send a full historyLog to some stream.
+ This walks over all possible repository roots."
+
+ self
+ writeHistoryLogSince:timeGoal
+ filterSTSources:filter
+ filterUser:userFilter
+ filterRepository:repositoryFilter
+ filterModules:moduleFilter
+ filterProjects:nil
+ to:aStream
+
+ "Modified: / 12-09-2006 / 15:19:11 / cg"
!
writeHistoryLogSince:timeGoal filterSTSources:filter filterUser:userFilter filterRepository:repositoryFilter to:aStream
@@ -2316,7 +2358,7 @@
!AbstractSourceCodeManager class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic3/AbstractSourceCodeManager.st,v 1.190 2006-08-29 14:00:17 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic3/AbstractSourceCodeManager.st,v 1.191 2006-09-12 14:13:16 cg Exp $'
! !
AbstractSourceCodeManager initialize!