Hi Dale,
On Thu, Jun 26, 2014 at 3:16 PM, Dale Henrichs <[hidden email]> wrote:
Chris Muller has recently done some superb work in Squeak with his Magma database that provides exactly this within the existing Monticello framework. In current Squeak 4.5 images if you add the repository
to the Monticello Browser and then add it to the packages one is interested in (a script to add it to all is trivial), then a "Browse mc history" menu item becomes available on the class and method lists in the browser and voila, one can browse the entire class and/or method history.
This feature has been missing for a long time. I really needed it this morning and wasn't quite aware that it was available already. I expect this will become a standard feature of new Squeak releases. The server can easily be duplicated on one's own machine for working detached from the internet (e.g. via http://localhost:8888/mchistory) and updates itself at regular intervals.
But the work's mostly been done. Chris's work provides class & method. Package history is there already, with "search history" providing free text search through a specific package's history, and Chris will be providing keyword search across all packages soon.
best, Eliot
|
Hey, glad it could be useful! Just for clarity, one thing MC doesn't do is track single commits that include changes across multiple packages. In Dale's story, the "critical code had not only been moved to a different class but the critical method had been moved to a separate package" -- MC doesn't have anything to track "multipackage commits"; (I don't think it needs it, even though it proved useful in Dale's example, because when we have a set of packages we care to work together, MC can instantiate a MCConfiguration to define it).
The reason you were able to see the history of WeakRegistry today even though it had been moved from Collections to System is that the MCDefinitions instances are indexed simply by their #description, which is package agnostic. It didn't care that it moved packages.
It was released with Squeak 4.5. The box4 server supporting it has been running for 7-8 months.
TMK, Pharo did not adopt the MCRepository changes we did, so there would be issues in Pharo. The box4 tool is intended only as a tool to help Monticello users.. Every kind of MC backend will have its own pluses and minuses, it's an area worth exploring in multiple directions..
|
Free forum by Nabble | Edit this page |