Attempting to use git Browser to view https://github.com/LabWare/MQTT-broker

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Attempting to use git Browser to view https://github.com/LabWare/MQTT-broker

timrowledge
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




Reply | Threaded
Open this post in threaded view
|

Re: Attempting to use git Browser to view https://github.com/LabWare/MQTT-broker

Jakob Reschke-2
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






Screen Shot 2019-05-20 at 2.23.41 PM.png (136K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Attempting to use git Browser to view https://github.com/LabWare/MQTT-broker

David T. Lewis
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
> >
> >
> >
> >


>


Reply | Threaded
Open this post in threaded view
|

Re: Attempting to use git Browser to view https://github.com/LabWare/MQTT-broker

Jakob Reschke-2
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,

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
> >
> >
> >
> >


>




Reply | Threaded
Open this post in threaded view
|

Re: Attempting to use git Browser to view https://github.com/LabWare/MQTT-broker

timrowledge
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



Reply | Threaded
Open this post in threaded view
|

Re: Attempting to use git Browser to view https://github.com/LabWare/MQTT-broker

David T. Lewis
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


Reply | Threaded
Open this post in threaded view
|

Re: Attempting to use git Browser to view https://github.com/LabWare/MQTT-broker

fniephaus


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. 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:
 
Cheers,
Fabio


;-)

Dave




Reply | Threaded
Open this post in threaded view
|

Re: Attempting to use git Browser to view https://github.com/LabWare/MQTT-broker

Phil B


On Wed, May 29, 2019, 10:46 AM Fabio Niephaus <[hidden email]> wrote:


On Tue, May 28, 2019 at 5:58 AM David T. Lewis <[hidden email]> 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.)


Reply | Threaded
Open this post in threaded view
|

Squot and git integration (was: Attempting to use git Browser to view https://github.com/LabWare/MQTT-broker

David T. Lewis
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
> >
> >
> >

>