<div dir="auto"><div dir="ltr"><div><br></div><div>I think that we should at least support the input/output of tonel packages for inter-operability.</div><div>Since the git repositories are metadataless, we can't do much more without a lot of work.</div><br><div>Since tonel has no support for timestamps, it looses authorship (it is replaced by committer-ship).</div><div>If we don't want to loose authorship, then we need to port whole history to git with known initials <-> git(hub) account database.</div><div>This is currently working for single package with complex graph (to filetree format, but could work for Tonel too).</div><div>If you want to commit several MC packages in same git repository, then it's currently impossible to support complex history.</div><div>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...).<br></div><div></div><div><br></div><div>If we want to perform essential operations like commit/pull/merge or access essential information as history/revisions/diffs then we have to</div><div>- either reproduce the very hard work that began in Pharo: program a git client inside the image,</div><div>- or loose inside image tools.</div><div><br></div><div>Squeak MC tools are much more productive than Pharo MC tools:</div><div>- they scale well even for massive changes (i did check with auto generated Smallapack interface)</div><div>- they support cherry-picking: you see and control what you commit</div><div>- they are quasi bugfree</div><div dir="auto">- the magma backend provides a few additional features (revisions...)</div><div dir="auto">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.</div><div><br></div><div>If we want to have mix development with packages maintained both in a MC repository and a git metadataless repository,</div><div>then we have the problem of finding a common ancestor.</div><div>I think that this could be doable with some conventions (like storing the .last_known_mc_ancestor in a file)</div><div>Of course, it's re-introduction of metadata, but the minimal possible, and leads to easy to resolve conflicts (that can be automated)...<br></div><div><br></div><div>The last grief I have with Tonel is that it is not syntax agnostic.</div><div>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)</div><div>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)<br></div><div>For most packages, that will not be a problem though.<br></div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le jeu. 14 févr. 2019 à 15:17, Torsten Bergmann <<a href="mailto:astares@gmx.de" target="_blank" rel="noreferrer">astares@gmx.de</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
as some of you might already know "Tonel" is a file-per-class format for monticello repositories [1].<br>
<br>
In Pharo land many projects are already converted to it - as regular "file tree" solution faces issues <br>
with git handling due to very long file names / deep file hierarchy (often leading to trouble on Windows).<br>
<br>
Dales's Rowan (a new project/package manager for Smalltalk) supports FileTree and also Tonel <br>
repositories [2]. There is also a tool to convert from STORE (VisualWorks Source-Code Versioning System) <br>
to Tonel format [3].<br>
<br>
So I wonder about adoption of Tonel in Squeak land. <br>
<br>
Any status/comments?<br>
<br>
Thx<br>
T.<br>
<br>
[1] <a href="https://github.com/pharo-vcs/tonel" rel="noreferrer noreferrer" target="_blank">https://github.com/pharo-vcs/tonel</a><br>
[2] <a href="https://github.com/GemTalk/Rowan" rel="noreferrer noreferrer" target="_blank">https://github.com/GemTalk/Rowan</a><br>
[3] <a href="https://pharoweekly.wordpress.com/2019/01/20/ann-sett-store-export-to-tonel-tools-for-pharo6-1/" rel="noreferrer noreferrer" target="_blank">https://pharoweekly.wordpress.com/2019/01/20/ann-sett-store-export-to-tonel-tools-for-pharo6-1/</a><br>
<br>
<br>
<br>
</blockquote></div>