On Fri, Dec 11, 2015 at 4:01 PM, Andrei Chis <chisvasileandrei@gmail.com> wrote:
You can add the two methods below. Then when you open Spotter on a package you can also search through it's history. This will trigger an update if the history is not present, but Spotter will still respond quite fast.
You can also dive in a MCVersionInfo to see its ancestors.
RPackage>>spotterHistoryFor: aStep <spotterOrder: 100> aStep listProcessor title: 'History'; allCandidates: [ |ancestry| ancestry := (MCWorkingCopy allManagers detect: [:each | each packageName = self name]) ancestry. ancestry withBreadthFirstAncestors select: [:each | each isKindOf: MCVersionInfo] ]; candidatesLimit: 50; itemName: [ :each | each name, ' - ', each message ]; filter: GTFilterSubstrings
MCVersionInfo>>spotterPreviewCodeIn: aComposite <spotterPreview: 10> aComposite text title: 'Summary'; display: [ self summaryHeader, String cr, 'Message:', String cr, self message ]; entity: self. Cheers, Andrei
Wow.... I send the other email before reading this one. This is much better hahahaha. Could these 2 extensions be incorporated as part of GT for further Pharo releases? I don't like the #isKindOf: but it happened to me that if I sent #allAncestors I would not get the latest commits. And the #isKindOf: is because otherwise the first elements are MCLazyVersionInfo. I am not sure. Maybe someone with better understanding of MC could tell us the correct code. Thanks!
On Fri, Dec 11, 2015 at 4:52 PM, Eliot Miranda <eliot.miranda@gmail.com> wrote:
Hi Mariano,
for this in Squeak I added a simple menu pick to the Monticello Browser's package list menu called "search history" which opens up a workspace containing the entire history as a flat string. I then just search using ctrl-f. You can find it in a current squeak trunk image.
_,,,^..^,,,_ (phone)
On Dec 10, 2015, at 9:12 AM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
How many times have you tried to search a string as a comment of a commit in all the history? Myself: many many times. I know we need much better tools for that, store the history in a another way, provide a nicer API, etc etc. And I know there were topics about that.
However, I would deeply appreciate a very short term solution for ease that. The model side is as simple as this:
| packageName ancestry anscestors substring | packageName := 'MyPackageXX'. substring := 'whatever I want to search'. ancestry := (MCWorkingCopy allManagers detect: [:each | each packageName = packageName] ) ancestry. anscestors := ancestry withBreadthFirstAncestors select: [:each | each isKindOf: MCVersionInfo]. anscestors select: [ :each | each message includesSubstring: substring ]
Do you think it's worth a simple UI tool? Custom inspector of MCAncestry?
Cheers,
-- Mariano http://marianopeck.wordpress.com
-- Mariano http://marianopeck.wordpress.com