I wanted to take a look at the code John McI recently announced that built on my MQTT client. It's on a github server, in that not-very-comprehendable format.
I had noticed the 'Git Browser' entry in the Tools menu so I thought that might help with viewing the code. Well... it took around ten minutes to install, added around 2Mb to my change log, added what looks like 50+ categories to the browser category list and has no readily findable doc.
Oh and a trivial point/bug, the progress bar kept leaping around from screen centre to centred on the mouse pointer - a small but very visually irritating point.
Once loaded and a Git Browser opened I was all at sea. As mentioned, no readily apparent doc, and the vast list of added categories didn't exactly help in trying to find a relevant seeming class to look at any class comments. Some googling found the 2018 HPI paper on the system which at least has some small explanation of the UI, but nothing to help me start using it.
I eventually found the 'clone project' menu entry and recalled from my *extremely* tiny familiarity that this might well be important. I pasted the URL from the github page 'Clone or download' widget in and thing whirred and clanked a bit. My problem now is that I still see nothing that appears to have any connection to actual visible code.
This is what I see -
Where might I find useful information on what to do next? Is this even supposed to work?
It may well be broken since the related 'Metacello' Tools menu entry fails in Installer class>ensureRecentMetacello since there is a logic bug that leaves the temp 'metacello' nil if Metacello is already installed.
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Strange OpCodes: PHP: Put Hackers into Privileged mode
Hi Tim,
Long story short: - The repository is a Tonel repository (not FileTree) I have a branch for the Git stuff where this works already with Tonel, but it needs some polishing. - You are right that there is no manual or recorded tutorial as of now. In short: explore the context menus and know some Git vocabulary, such as "checkout". If this weren't a Tonel repository you could load the packages by right-clicking the top commit and choosing "checkout objects". Also the packages would appear in the bottom right objects list.
Kind regards Jakob
tim Rowledge tim@rowledge.org schrieb am Mo., 20. Mai 2019, 23:29:
I wanted to take a look at the code John McI recently announced that built on my MQTT client. It's on a github server, in that not-very-comprehendable format.
I had noticed the 'Git Browser' entry in the Tools menu so I thought that might help with viewing the code. Well... it took around ten minutes to install, added around 2Mb to my change log, added what looks like 50+ categories to the browser category list and has no readily findable doc.
Oh and a trivial point/bug, the progress bar kept leaping around from screen centre to centred on the mouse pointer - a small but very visually irritating point.
Once loaded and a Git Browser opened I was all at sea. As mentioned, no readily apparent doc, and the vast list of added categories didn't exactly help in trying to find a relevant seeming class to look at any class comments. Some googling found the 2018 HPI paper on the system which at least has some small explanation of the UI, but nothing to help me start using it.
I eventually found the 'clone project' menu entry and recalled from my *extremely* tiny familiarity that this might well be important. I pasted the URL from the github page 'Clone or download' widget in and thing whirred and clanked a bit. My problem now is that I still see nothing that appears to have any connection to actual visible code.
This is what I see -
Where might I find useful information on what to do next? Is this even supposed to work?
It may well be broken since the related 'Metacello' Tools menu entry fails in Installer class>ensureRecentMetacello since there is a logic bug that leaves the temp 'metacello' nil if Metacello is already installed.
tim
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Strange OpCodes: PHP: Put Hackers into Privileged mode
Hi Jakob,
I cloned the repository (from https://github.com/LabWare/MQTT-broker) to my local system, and I am able to open it from a Monticello browser as a repository of type tonel://, but the resulting repository browser does not seem to do anything (it just has the list of .st files in the left pane, nothing else is active).
I think this means that I am missing something that I need from your repository. Can you give me a pointer?
Thanks, Dave
On Tue, May 21, 2019 at 10:03:00AM +0200, Jakob Reschke wrote:
Hi Tim,
Long story short:
- The repository is a Tonel repository (not FileTree) I have a branch for
the Git stuff where this works already with Tonel, but it needs some polishing.
- You are right that there is no manual or recorded tutorial as of now. In
short: explore the context menus and know some Git vocabulary, such as "checkout". If this weren't a Tonel repository you could load the packages by right-clicking the top commit and choosing "checkout objects". Also the packages would appear in the bottom right objects list.
Kind regards Jakob
tim Rowledge tim@rowledge.org schrieb am Mo., 20. Mai 2019, 23:29:
I wanted to take a look at the code John McI recently announced that built on my MQTT client. It's on a github server, in that not-very-comprehendable format.
I had noticed the 'Git Browser' entry in the Tools menu so I thought that might help with viewing the code. Well... it took around ten minutes to install, added around 2Mb to my change log, added what looks like 50+ categories to the browser category list and has no readily findable doc.
Oh and a trivial point/bug, the progress bar kept leaping around from screen centre to centred on the mouse pointer - a small but very visually irritating point.
Once loaded and a Git Browser opened I was all at sea. As mentioned, no readily apparent doc, and the vast list of added categories didn't exactly help in trying to find a relevant seeming class to look at any class comments. Some googling found the 2018 HPI paper on the system which at least has some small explanation of the UI, but nothing to help me start using it.
I eventually found the 'clone project' menu entry and recalled from my *extremely* tiny familiarity that this might well be important. I pasted the URL from the github page 'Clone or download' widget in and thing whirred and clanked a bit. My problem now is that I still see nothing that appears to have any connection to actual visible code.
This is what I see -
Where might I find useful information on what to do next? Is this even supposed to work?
It may well be broken since the related 'Metacello' Tools menu entry fails in Installer class>ensureRecentMetacello since there is a logic bug that leaves the temp 'metacello' nil if Metacello is already installed.
tim
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Strange OpCodes: PHP: Put Hackers into Privileged mode
Hi, I tried it myself today.
The additional problem with this repository is that it does not have a subfolder for the package it provides. The .st files including package.st are at the root folder instead.
There are multiple issues: - The Git Browser/Squot (on its develop branch, not yet the version obtained via the menus) does detect the Tonel package at root, but because of implementation details it is hidden by the unrecorded files entry you see in the object list. - The TonelRepository for Squeak does not check whether the directory entries it looks at are files or directories. That's why the .st files appear as packages without versions in the Monticello repository browser. - The TonelRepository for Squeak does not filter the directories to list only those containing a package in Tonel format. For example, the Documents directory of that repository has a pseudo-MCVersion, but its snapshot is empty, of course. If I add the parent directory of my clone as a tonel:// repository, I get "packages" for every file and folder, and all the folders have an empty version, except the ones that actually contain a Tonel package, such as the MQTT-broker clone.
So the Git Browser users must wait for a fix (or try to fix it themselves). The Tonel port users must add the parent directory of the clone in such a case.
Kind regards, Jakob
Am Di., 21. Mai 2019 um 13:14 Uhr schrieb David T. Lewis < lewis@mail.msen.com>:
Hi Jakob,
I cloned the repository (from https://github.com/LabWare/MQTT-broker) to my local system, and I am able to open it from a Monticello browser as a repository of type tonel://, but the resulting repository browser does not seem to do anything (it just has the list of .st files in the left pane, nothing else is active).
I think this means that I am missing something that I need from your repository. Can you give me a pointer?
Thanks, Dave
On Tue, May 21, 2019 at 10:03:00AM +0200, Jakob Reschke wrote:
Hi Tim,
Long story short:
- The repository is a Tonel repository (not FileTree) I have a branch for
the Git stuff where this works already with Tonel, but it needs some polishing.
- You are right that there is no manual or recorded tutorial as of now.
In
short: explore the context menus and know some Git vocabulary, such as "checkout". If this weren't a Tonel repository you could load the
packages
by right-clicking the top commit and choosing "checkout objects". Also
the
packages would appear in the bottom right objects list.
Kind regards Jakob
tim Rowledge tim@rowledge.org schrieb am Mo., 20. Mai 2019, 23:29:
I wanted to take a look at the code John McI recently announced that
built
on my MQTT client. It's on a github server, in that
not-very-comprehendable
format.
I had noticed the 'Git Browser' entry in the Tools menu so I thought
that
might help with viewing the code. Well... it took around ten minutes to install, added around 2Mb to my change log, added what looks like 50+ categories to the browser category list and has no readily findable
doc.
Oh and a trivial point/bug, the progress bar kept leaping around from screen centre to centred on the mouse pointer - a small but very
visually
irritating point.
Once loaded and a Git Browser opened I was all at sea. As mentioned, no readily apparent doc, and the vast list of added categories didn't
exactly
help in trying to find a relevant seeming class to look at any class comments. Some googling found the 2018 HPI paper on the system which at least has some small explanation of the UI, but nothing to help me
start
using it.
I eventually found the 'clone project' menu entry and recalled from my *extremely* tiny familiarity that this might well be important. I
pasted
the URL from the github page 'Clone or download' widget in and thing whirred and clanked a bit. My problem now is that I still see nothing
that
appears to have any connection to actual visible code.
This is what I see -
Where might I find useful information on what to do next? Is this even supposed to work?
It may well be broken since the related 'Metacello' Tools menu entry
fails
in Installer class>ensureRecentMetacello since there is a logic bug
that
leaves the temp 'metacello' nil if Metacello is already installed.
tim
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Strange OpCodes: PHP: Put Hackers into Privileged mode
John sent me a proper fileout last week. Once I've had time to look it over I'll probably stick it on squeaksource.
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Strange OpCodes: CBA: Compare if Biorhythms Amenable
On Sun, May 26, 2019 at 04:44:02PM -0700, tim Rowledge wrote:
John sent me a proper fileout last week. Once I've had time to look it over I'll probably stick it on squeaksource.
tim
Yes, please do that. Especially if the fileout has proper method commit timestamps and author initials.
I am quite interested in getting myself up to speed on the various git integration strategies, and I am currently working with (or more accurately, accepting guidance from) Alistair Grant to publish OSProcess in Tonel format for Pharo users. But I am baffled by the lack of method stamps in Tonel (which should be trivially simple to support) and I suspect to that "proper fileoout" will need to remain as the accepted interchange format for quite some time to come.
Interestingly, Cuis uses git exclusively for version control, but its storage format is nothing more than simple change sets and fileouts that follow an agreed naming convention. And there are other storage formats in circulation, so I don't really have any sense of what is the "right" approach. But a storage format that nukes all of the method stamps certainly would not be on my short list of right ways to do it.
It's all very confusing. I just googled "squot hpi squeak" and got a "People also ask" pointer to "Why does my replacement hip squeak?"
;-)
Dave
On Tue, May 28, 2019 at 5:58 AM David T. Lewis lewis@mail.msen.com wrote:
On Sun, May 26, 2019 at 04:44:02PM -0700, tim Rowledge wrote:
John sent me a proper fileout last week. Once I've had time to look it
over I'll probably stick it on squeaksource.
tim
Yes, please do that. Especially if the fileout has proper method commit timestamps and author initials.
I am quite interested in getting myself up to speed on the various git integration strategies, and I am currently working with (or more accurately, accepting guidance from) Alistair Grant to publish OSProcess in Tonel format for Pharo users. But I am baffled by the lack of method stamps in Tonel (which should be trivially simple to support) and I suspect to that "proper fileoout" will need to remain as the accepted interchange format for quite some time to come.
I said it before and I say it again: Tonel was flawed from the very start and nobody listened what Dale had to said. Instead, the Pharo community declared it as their new default, and here we are. It's not Jakob's job to port Tonel to Squeak, yet he worked on it in his spare time. If you don't like what it does to your timestamps and author initials, please complain to the designers of Tonel. And no, they are probably not subscribed to this mailinglist.
Interestingly, Cuis uses git exclusively for version control, but its storage format is nothing more than simple change sets and fileouts that follow an agreed naming convention. And there are other storage formats in circulation, so I don't really have any sense of what is the "right" approach. But a storage format that nukes all of the method stamps certainly would not be on my short list of right ways to do it.
Fileouts cause a lot of merge conflicts in Git (even if there are none in the actual code). This makes it rather cumbersome to use it in Git. Maybe the Cuis community has fixed some of these issues?
It's all very confusing. I just googled "squot hpi squeak" and got a "People also ask" pointer to "Why does my replacement hip squeak?"
Mh, that's nothing we can control... you were probably looking for: https://github.com/hpi-swa/Squot
Cheers, Fabio
;-)
Dave
On Wed, May 29, 2019, 10:46 AM Fabio Niephaus lists@fniephaus.com wrote:
On Tue, May 28, 2019 at 5:58 AM David T. Lewis lewis@mail.msen.com wrote:
Interestingly, Cuis uses git exclusively for version control, but its storage format is nothing more than simple change sets and fileouts that follow an agreed naming convention. And there are other storage formats in circulation, so I don't really have any sense of what is the "right" approach. But a storage format that nukes all of the method stamps certainly would not be on my short list of right ways to do it.
Fileouts cause a lot of merge conflicts in Git (even if there are none in the actual code). This makes it rather cumbersome to use it in Git. Maybe the Cuis community has fixed some of these issues?
The main things I recall Cuis doing were switching from CR to LF for it's fileout line termination and 'lightly' ordering classes(?)/categories/methods. While it's not too difficult to get merge conflicts, it's also not too difficult to work around them. Better (i.e. more global) ordering on fileout would probably all but eliminate the false positive conflicts. Though obviously that issue alone hasn't caused anyone enough pain to make fixing it a priority (but now that I think about it, improved diff-ability might make it worth it.)
On Wed, May 29, 2019 at 04:45:57PM +0200, Fabio Niephaus wrote:
On Tue, May 28, 2019 at 5:58 AM David T. Lewis lewis@mail.msen.com wrote:
On Sun, May 26, 2019 at 04:44:02PM -0700, tim Rowledge wrote:
John sent me a proper fileout last week. Once I've had time to look it
over I'll probably stick it on squeaksource.
tim
Yes, please do that. Especially if the fileout has proper method commit timestamps and author initials.
I am quite interested in getting myself up to speed on the various git integration strategies, and I am currently working with (or more accurately, accepting guidance from) Alistair Grant to publish OSProcess in Tonel format for Pharo users. But I am baffled by the lack of method stamps in Tonel (which should be trivially simple to support) and I suspect to that "proper fileoout" will need to remain as the accepted interchange format for quite some time to come.
I said it before and I say it again: Tonel was flawed from the very start and nobody listened what Dale had to said. Instead, the Pharo community declared it as their new default, and here we are.
Yep.
It's not Jakob's job to port Tonel to Squeak, yet he worked on it in his spare time.
I really appreciate the work that Jakob did, and he has been generous in explaining it to people like me who do not yet understand the issues :-)
If you don't like what it does to your timestamps and author initials, please complain to the designers of Tonel. And no, they are probably not subscribed to this mailinglist.
I will not waste my time complaining to the designers.
Interestingly, Cuis uses git exclusively for version control, but its storage format is nothing more than simple change sets and fileouts that follow an agreed naming convention. And there are other storage formats in circulation, so I don't really have any sense of what is the "right" approach. But a storage format that nukes all of the method stamps certainly would not be on my short list of right ways to do it.
Fileouts cause a lot of merge conflicts in Git (even if there are none in the actual code). This makes it rather cumbersome to use it in Git. Maybe the Cuis community has fixed some of these issues?
My impression is that merging just has not been an issue for Cuis, at least not yet. The "trunk" stream in Cuis is currently maintained by two people who actively tend to it. Contributions generally come in the form of change sets attached to email. It all works very well, although I don't think that it would be a good way to support the Squeak development model.
It's all very confusing. I just googled "squot hpi squeak" and got a "People also ask" pointer to "Why does my replacement hip squeak?"
I meant that as a joke, sorry if it did not come across that way.
Mh, that's nothing we can control... you were probably looking for: https://github.com/hpi-swa/Squot
I agree. I do not yet have much experience with Squot, but of the available git integration approaches, it seems to be the only one that could reasonably be considered for serious work in Squeak.
Dave
Cheers, Fabio
;-)
Dave
squeak-dev@lists.squeakfoundation.org