![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Reimplementing the VersionsBrowserProject Overview by Prof JohnsonOne of the things that annoys me about Squeak is the huge .changes file. A new release of VisualWorks usually has an empty .changes file. Both use this file for recording all the changes you make. This is very useful when you crash your image, because then you can recover your changes. However, it is more useful when it is smaller. Plus, it just seems silly to be copying tens of megabytes in every changes file. The reason that people want to keep the entire .changes file is so that they can study the history of Squeak. This is a noble goal, and the three or four people who actually want to do this should be encouraged. however, most programmers don't care, and shouldn't have to pay the price of history. Fortunately, I have an idea that can make everybody happy! The only place in the system that knows about history of methods is the VersionsBrowser. it is a subclass of ChangeList, which is not really correct, because ChangeList is an editor of the .changes file, and I think that VersionsBrowser should NOT be an editor of the .changes file. Instead, VersionsBrowser should go to the .changes file for the most recent history, but then should go to a master history database for long ago history. So, my idea is for someone to rewrite the VersionsBrowser so that it only uses the .changes file for recent history and uses a HistoryDB for older history, and to also write a script that builds a HistoryDB by reading the .changes file. Once this all works, there are existing tools that will let us "compress" the .changes file into the .sources file, and we can have an empty .changes file. One of the nice things about this project is that it won't have any GUI. Instead, just reuse the existing GUI. The whole point is to keep everything working just the way it does now. Instead, you will need to learn to use file access and network access code. Ideally, the HistoryDB should be on the internet somewhere. People who want a local copy for speed or because they want to work on the train should be able to do it, but most people won't mind if history only works when they are connected to the net. This is not a hard project, but it is important to the Squeak community. I want it to be polished by the end of May so it can become part of the 3.10 release. It is probably a two-person project. Link to Versions Browser Project Documentation Project TeamMaurice RabbNavodit Kaushik Link to this Page
|