[squeak-dev] Squeak and Tonel

David T. Lewis lewis at mail.msen.com
Fri Feb 15 14:19:52 UTC 2019


I am travelling and will not be able to look at this further for a
day or two, but just for initial feedback - I loaded the MonticelloTonel
packages in my Squeak trunk image, and was able to open NC tools and
browse my local cloned repository normally.

This looks really good, thank you :-)

Dave


On Fri, Feb 15, 2019 at 09:02:54AM -0500, David T. Lewis wrote:
> Thank you, I will try it.
> 
> Sorry - I overlooked your earlier message with the link:
> 
>     https://github.com/j4yk/tonel/tree/squeak
> 
> Thanks,
> 
> Dave
> 
> On Fri, Feb 15, 2019 at 08:58:16AM +0100, Jakob Reschke wrote:
> > With these modest requirements, David, please try the port and open issues
> > for anything that bugs you about it.
> > 
> > 
> > Am Fr., 15. Feb. 2019, 02:14 hat David T. Lewis <lewis at mail.msen.com>
> > geschrieben:
> > 
> > > Hi Torsten,
> > >
> > > Thank you very much for asking about this, and thanks to Nicolas for the
> > > explanations.
> > >
> > > As a package maintainer (OSProcess and others), I want to be able to
> > > provide continued support for Pharo users, and it would probably be helpful
> > > if I could read and write to Tonel as an external format. I am also
> > > interested
> > > in being able to browse and read the projects (many of them quite
> > > excellent)
> > > that are being developed in Pharo from my Squeak image.
> > >
> > > I am a big fan of git, but I do not care about integrating it with the
> > > image (Squeak/Pharo) because I prefer using the in-image tools in Squeak,
> > > and when I do use git, I prefer to use git tools directly.
> > >
> > > I am not well informed about this topic, but overall I would say that being
> > > able to read and write Tonel format from Squeak would be very helpful, and
> > > I would probably not care very much about version control integration.
> > >
> > > Thanks again for asking,
> > >
> > > Dave
> > >
> > >
> > > On Thu, Feb 14, 2019 at 11:15:23PM +0100, Nicolas Cellier wrote:
> > > > I think that we should at least support the input/output of tonel
> > > packages
> > > > for inter-operability.
> > > > Since the git repositories are metadataless, we can't do much more
> > > without
> > > > a lot of work.
> > > >
> > > > Since tonel has no support for timestamps, it looses authorship (it is
> > > > replaced by committer-ship).
> > > > If we don't want to loose authorship, then we need to port whole history
> > > to
> > > > git with known initials <-> git(hub) account database.
> > > > This is currently working for single package with complex graph (to
> > > > filetree format, but could work for Tonel too).
> > > > If you want to commit several MC packages in same git repository, then
> > > it's
> > > > currently impossible to support complex history.
> > > > There is generally no information that enables inter-MC-package
> > > > synchronization (unless some sort of MCConfigurationMap is used, which at
> > > > least gives a few sync point in history...).
> > > >
> > > > If we want to perform essential operations like commit/pull/merge or
> > > access
> > > > essential information as history/revisions/diffs then we have to
> > > > - either reproduce the very hard work that began in Pharo: program a git
> > > > client inside the image,
> > > > - or loose inside image tools.
> > > >
> > > > Squeak MC tools are much more productive than Pharo MC tools:
> > > > - they scale well even for massive changes (i did check with auto
> > > generated
> > > > Smallapack interface)
> > > > - they support cherry-picking: you see and control what you commit
> > > > - they are quasi bugfree
> > > > - the magma backend provides a few additional features (revisions...)
> > > > Pharo team has produced huge effort for the github switch, but it does
> > > not
> > > > go without pain. Despite the importance of being visible on github, and
> > > > profit by state of the art web collaborating tools, i don't see Squeak
> > > able
> > > > to take this major turn in near future.
> > > >
> > > > If we want to have mix development with packages maintained both in a MC
> > > > repository and a git metadataless repository,
> > > > then we have the problem of finding a common ancestor.
> > > > I think that this could be doable with some conventions (like storing the
> > > > .last_known_mc_ancestor in a file)
> > > > Of course, it's re-introduction of metadata, but the minimal possible,
> > > and
> > > > leads to easy to resolve conflicts (that can be automated)...
> > > >
> > > > The last grief I have with Tonel is that it is not syntax agnostic.
> > > > Since we have a language where we can define compilerClass/parserClass,
> > > > that's unfortunate (The application i developed in the 90's did use such
> > > > important feature, it's not just theoretical)
> > > > It could have been language agnostic with very little effort (remember
> > > the
> > > > discussion on Pharo-dev, just using an arbitrary number of [[[   ]]] as
> > > > method body separators would suffice)
> > > > For most packages, that will not be a problem though.
> > > >
> > > >
> > > > Le jeu. 14 f??vr. 2019 ?? 15:17, Torsten Bergmann <astares at gmx.de> a
> > > ??crit :
> > > >
> > > > > Hi,
> > > > >
> > > > > as some of you might already know "Tonel" is a file-per-class format
> > > for
> > > > > monticello repositories [1].
> > > > >
> > > > > In Pharo land many projects are already converted to it - as regular
> > > "file
> > > > > tree" solution faces issues
> > > > > with git handling due to very long file names / deep file hierarchy
> > > (often
> > > > > leading to trouble on Windows).
> > > > >
> > > > > Dales's Rowan (a new project/package manager for Smalltalk) supports
> > > > > FileTree and also Tonel
> > > > > repositories [2]. There is also a tool to convert from STORE
> > > (VisualWorks
> > > > > Source-Code Versioning System)
> > > > > to Tonel format [3].
> > > > >
> > > > > So I wonder about adoption of Tonel in Squeak land.
> > > > >
> > > > > Any status/comments?
> > > > >
> > > > > Thx
> > > > > T.
> > > > >
> > > > > [1] https://github.com/pharo-vcs/tonel
> > > > > [2] https://github.com/GemTalk/Rowan
> > > > > [3]
> > > > >
> > > https://pharoweekly.wordpress.com/2019/01/20/ann-sett-store-export-to-tonel-tools-for-pharo6-1/
> > > > >
> > > > >
> > > > >
> > > > >
> > >
> > > >
> > >
> > >
> > >
> 
> > 
> 
> 


More information about the Squeak-dev mailing list