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; [hidden email]; 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 <[hidden email]> schrieb am Mo., 20. Mai 2019, 23:29:
Screen Shot 2019-05-20 at 2.23.41 PM.png (136K) Download Attachment |
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 <[hidden email]> 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; [hidden email]; 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 <[hidden email]>: Hi Jakob, |
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; [hidden email]; 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 <[hidden email]> wrote: On Sun, May 26, 2019 at 04:44:02PM -0700, tim Rowledge wrote: 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.
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?
Mh, that's nothing we can control... you were probably looking for: Cheers, Fabio
|
On Wed, May 29, 2019, 10:46 AM Fabio Niephaus <[hidden email]> wrote:
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.) |
In reply to this post by fniephaus
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 <[hidden email]> 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 > > > > > > > |
Free forum by Nabble | Edit this page |