Investigate Monticello and related tools for the Smalltalk environment #1196
Replies: 10 comments
-
It's worth looking at alternatives to 'git' but I think we'll have more impact trying to work with it. |
Beta Was this translation helpful? Give feedback.
-
Git can store binary files, and can use custom diff and merge tools. It might be possible to make do with that. |
Beta Was this translation helpful? Give feedback.
-
Git can, and we went that route for a while, but the issue is github and their web interface doesn't let you (as far as I know) provide custom tools (or scripts) to run on their server... |
Beta Was this translation helpful? Give feedback.
-
Oh yeah, that's probably right. However, GitHub is even less likely to support any non-git Monticello-style tools. You'd have to host the version control repo at a separate website, or use diff/merge tools on local machine only. Maybe it'd be enough to have local machine tools + a script to churn out HTML reports of the git history for display at a public website. |
Beta Was this translation helpful? Give feedback.
-
I think we can make things work if we use different Lisp-based utilities to compare and merge files. |
Beta Was this translation helpful? Give feedback.
-
Right. Happily, GitHub (and all other git hosts) are 100% compatible with command line git. You could even call out to |
Beta Was this translation helpful? Give feedback.
-
Writing down now what I've been talking about the last few weeks:
|
Beta Was this translation helpful? Give feedback.
-
This design seems like it's feasible, although there are lots of details. I'm not sure it's worth it. |
Beta Was this translation helpful? Give feedback.
-
Just a note that Cuis, a fork of Squeak focussing on simplicity, uses a different approach that works fairly well with git. |
Beta Was this translation helpful? Give feedback.
-
This is an interesting discussion, but I think it's a separate project. |
Beta Was this translation helpful? Give feedback.
-
Squeak and related Smalltalk implementations have the same version-control problem as Medley for distributed development: Git cannot properly diff or properly merge the textual representations of two different images. If anything, the problem is worse in Smalltalk because (a) there is only one text file, not many, and (b) not all bits in the image correspond to code in the text file: some pre-1980 bits were set directly in the image before the text file was started.
However, Squeak uses a version-control system called Monticello that supposedly solves this problem. I know almost nothing about it, but I'm going to investigate it as I can, along with possible alternatives, and report back here.
Beta Was this translation helpful? Give feedback.
All reactions