http://goran.krampe.se/blog/Squeak - 03/19/10 20:11:19 - 03/19/09 07:55:19
30 Jun 09
"Hacking On DeltaStreams"-Guide For Suicidal Meta Squeakers
This instruction is for getting started HACKING on the DeltaStreams package for Squeak. If you are into meta programming, advanced source code management and Squeak, it might be interesting. Thus it is not an instruction for users (it is not usable anyway) nor for Squeak beginners.Step 1
Grab an image, I use 3.10.2-7179. It might be nice if you picked some other important target for DS, like say Croquet or Pharo. :)
Step 2
Install base image fixes for DeltaStreams (maintained as a CS for now), pick the one suitable:
http://map.squeak.org/packagebyname/deltastreamfixesStep 3
Add repos for DeltaStreams/Tirade/SystemEditor on SqueakSource and open them:
MCHttpRepository location: 'http://www.squeaksource.com/DeltaStreams' user: '' password: ''Step 4
Load the latest of ONLY the following packages from those repos:
SystemEditor-Core SystemEditor-Squeak SystemEditor-Traits SystemEditor-Tests SystemEditorBrowser Tirade InterleavedChangeSet DeltaStreams-Model DeltaStreams-Logging DeltaStreams-Storing DeltaStreams-Tirade DeltaStreams-Tests DeltaStreams-Deprecated DeltaStreams-UINOTE: The DeltaStreams-Logging package is from Matthew, not sure of its status. DeltaStreams-Storing is meant to contain the parts needed for DS to use InterleavedChangeSet - which is the funky changeset-compatible format Matthew invented. I am not pursuing that format but I see no harm in keeping it. It might be a good idea too - I am not sure. DeltaStreams-Tirade is the reader/writer support for the Tirade format which is the preferred format for Deltas from now on. All tests are in DeltaStreams-Tests, there is a UI too but Matthew wrote it and I am unsure of its operational status. The DeltaStreams-Deprecated is a big pile of stuff that should in the end just be dumped. Consider it to be "candidates for death". :)
Eventually we would typically only really need (no ICS, no tests, no SE browser, no deprecated):
SystemEditor-Core SystemEditor-Squeak SystemEditor-Traits Tirade DeltaStreams-Model DeltaStreams-Logging DeltaStreams-Tirade DeltaStreams-UIStep 5
Run some tests. Currently there are tons of tests failing. I do not like this "state" so I am in the process of cleaning up, fixing what I can fix and possibly even throwing out red tests I can’t understand. We should always be all green, otherwise we don’t know if we broke something. These are the results in my image:
SystemChangeNotifications-Tests: 1 error (it is a trivial fix I missed, will go away) Tirade-Tests: green SystemEditor-Tests: 11 failures of 181 (not sure why...) DSDeltaApplyTest: green DSDeltaLoggingTest: green DSDeltaCreationTest: green DSDeltaClassifyTest: green DSDeltaAntiTest: green DSDeltaCopyTest: green DSDeltaFileOutTest: 2 errors (Matthew has commented them, I am not pursuing ICS) DSDeltaRevertTest: 19 passes, 6 failures (these we should be able to fix!) DSDeltaTiradeTest: green DSDeltaChangeSetTest: red, red, red!!! (this is testing the ChangeSet "lookalike" ICS aspect, I am not pursuing ICS so will not fix now) DSDeltaTiradeFileOutTest: red, red, red!!! (these I will fix!) DSDeltaValidationTest: red, red, red!!! (I need to read up on validation first) DSDeltaValidationTestSystemEditor: red, red, red!!! (same here)NOTE: The Validation tests… I am unsure of, I have not looked at the design and I am unsure if I have broken them or if they were indeed broken. We should take an image and install the DS release from SM and see the test status there.
Step 6
Read some class comments and code. Start with DSDelta and the DSChange hierarchy.
Step 7
Pray. Ask me.
regards, Göran
July, 2009 31