--- a/mercurial/HGWorkingCopyFile.st Wed Dec 05 23:57:40 2012 +0000
+++ b/mercurial/HGWorkingCopyFile.st Thu Dec 06 01:14:57 2012 +0000
@@ -65,54 +65,34 @@
path := self pathNameRelative.
revisions isNil ifTrue:[
- | old new detector savpath |
+ | old p |
old := HGCommand log
workingDirectory: wc pathName;
path: path;
execute.
- savpath := path.
+ p := path.
old := old collect: [:id|
| cs f |
- f := (cs := wc repository @ id) / path.
+ f := (cs := wc repository @ id) / p.
+
cs changes do:[:chg|
"/Catch renames...
- (chg isCopied and:[chg path = path]) ifTrue:[
- path := chg source.
+ (chg isCopied and:[chg path = p]) ifTrue:[
+ p := chg source.
]
].
f.
].
- path := savpath.
- new := OrderedCollection new.
- detector := [:changeset|
- | removed copied |
- savpath := path.
- removed := false.
- changeset changes do:[:chg|
- "/Catch renames...
- (chg isCopied and:[chg source = path]) ifTrue:[
- path := chg path.
- ].
- chg path = path ifTrue:[
- chg isRemoved ifTrue:[
- removed := true
- ] ifFalse:[
- new add: changeset / path.
- ].
- ]
- ].
- removed ifFalse:[
- changeset childrenDo: detector.
- ].
- path := savpath.
- ].
- old first changeset childrenDo:detector.
- revisions := new reverse , old.
+
+ revisions := old.
].
- ^revisions
+ "/older revisions are cached, newer not since this may change...
+
+ ^((wc changeset / path) newer:true) , revisions
"Created: / 05-12-2012 / 19:09:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 06-12-2012 / 00:28:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
status