CampSmalltalk / Cypress

A cross Smalltalk dialect, disk-based package import/export format, inspired by the https://github.com/dalehenrich/filetree project.
MIT License
28 stars 1 forks source link

Dialects on the (half) branch #8

Open dalehenrich opened 12 years ago

dalehenrich commented 12 years ago

Today, I finished up the FileTree implementation of the Cypress package format for Pharo1.3.

Then I proceeded to port FileTree to Squeak4.3. It will be helpful if you take a look at the network view for FileTree, so you can visualize the master, squeak4.3, and pharo1.3 branches:

  1. My initial work was on the master branch and I finished initialwork with a commit at SHA: 3657e6b081cd7c886d2800032e337130056150fd.
  2. I then created the squeak4.3 and pharo1.3 branches.
  3. My initial work was on the squeak4.3 branch and the initial port to Squeak 4.3 commit marked the completion of the initial port.
  4. Then on the pharo1.3 branch I did some cleanup of dead code: a couple of tweaks
  5. Next I used the git cherry-pick command to pick off the changes from my pharo commit: cherry-picked: a couple of tweaks (605a976...).
  6. Next I was actually able to merge from the master branch to the pharo1.3 branch: Merge branch 'master' into pharo1.3.
  7. On the master branch I decided to simply remove the pharo-specific (and be extension the squeak-specific) code, basically leaving the master branch with mostly common code: removed some methods that were only needed by the repository inspecto….
  8. Merged the master branch to the squeak4.3 branch: Merge branch 'master' into squeak4.3
  9. Did a little housekeeping for Monticello (no code changed): 1, 2, configuration commit
  10. Cherry-picked the [configuration commit] into the master branch: 1.0 (dkh.15):...SHA: 4f000b0
  11. then merged again from master branch to pharo1.3 branch and squeak4.3 branch

So far the cherry-picking seems to work ... you want to make sure that you have small granularoty commits so that cherry-picking the commits of interest is easier. I am doing the merges back into the branch to create a visual record of the whether or not the branches are caught up or not ... if the cherry-picking went on without the cross-referencing it might be hard to tell ... I also think that using topic branches for doing incremental work is also a good idea since the main branches are for released code ....

Anyway, I thought it was worth sharing the bit of experience that I've had so far in doing development on parallel branches ...

dalehenrich commented 12 years ago

Oh yeah, if you want to how the pharo1.3 branch or squeak4.3 branch compares to the master branch just click on the Compare button in the middle of this page.

Pretty cool to see the diffs this way ...

dalehenrich commented 12 years ago

The Compare buttons have disappeared ... oh well, I guess they only show up as long as there are later commits on branches .... then they slowly disappear when the merges are done:)