Git a headache

2»

Comments

  • Sorry for double post, but I'm thinking it may be possible to just use Github Pages to generate a list of links to DownGit for each object. That requires JavaScript to be enabled, but requires no seperate server or hosting headaches.
  • What if a new OBEX were created that actually uses git underneath, such that if you don't want to be bothered with git, you can use it like the old OBEX, but if you do want to use git, you can get the object's git URL and interact with the project via git?
  • What if a new OBEX were created that actually uses git underneath, such that if you don't want to be bothered with git, you can use it like the old OBEX, but if you do want to use git, you can get the object's git URL and interact with the project via git?
    That would be best although developing such a thing is probably beyond Parallax's resources. Does something like this already exist?

  • Wuerfel_21Wuerfel_21 Posts: 602
    edited 2020-02-13 - 19:55:36
    Well, just letting people upload random ZIPs unchecked won't fly, seeing how much spam the OBEX always got (which in a git repository, could never be fully deleted (without major headaches, that is)).

    Since manual intervention is required either way, anyways, attaching ZIPs to GitHub issues as an alternative to properly submitting pull request seems fine. As mentioned by someone, that would be better than sending an email to Parallax, since everyone can see it, even before it is accepted.

    The real problem is allowing easy listing and ZIP downloads of objects. As said above, I think I could develop such a thing.

    EDIT: OTOH, the actual amount of code isn't that much, such that just downloading the entire repo (which, for the uninitiated, is as simple as clicking the big green "Download or clone" button and then the "Download ZIP" button on the repo's root page) is probably good enough.
  • Actually the really important part of an OBEX like system is the search feature. Typically what one wants is to find a driver for a particular piece of hardware. Having to download an entire git repository and then sift through it for the driver of interest is definitely not going to meet most user's needs.

    I really like git, and I think any programmer who doesn't use it (or a similar advanced version control system like mercurial) is missing out. But it's not the best tool for all jobs. I think the OBEX is an example of something where git doesn't help.

  • David BetzDavid Betz Posts: 13,721
    edited 2020-02-13 - 20:17:49
    ersmith wrote: »
    Actually the really important part of an OBEX like system is the search feature. Typically what one wants is to find a driver for a particular piece of hardware. Having to download an entire git repository and then sift through it for the driver of interest is definitely not going to meet most user's needs.

    I really like git, and I think any programmer who doesn't use it (or a similar advanced version control system like mercurial) is missing out. But it's not the best tool for all jobs. I think the OBEX is an example of something where git doesn't help.
    True but git *is* a good way to maintain the history of objects. OBEX isn't very good at that unless you just check in lots of copies with v1, v2, v3, etc as suffixes. That's why I thought OBEX should just be a read-only (and search-only) interface to what is in GitHub. I'm not sure how easy that would be to do though.

  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 22,570
    edited 2020-02-13 - 20:28:43
    Wuerfel_21 wrote:
    Well, just letting people upload random ZIPs unchecked won't fly ...
    Why would that even be necessary? It should be easy enough to concoct a server script that checks a zip for contents that comport with a Spin archive, and reject it if it doesn't.

    -Phil
  • Out of curiosity, does anyone know the total disk size currently used by all of the OBEX code entries? I can't imagine that it is that large... maybe a couple of hundred meg, tops?
  • JRoark wrote: »
    Out of curiosity, does anyone know the total disk size currently used by all of the OBEX code entries? I can't imagine that it is that large... maybe a couple of hundred meg, tops?

    Obex was copied to github, so downloading the full zip would answer that question.
  • Wuerfel_21 wrote:
    Well, just letting people upload random ZIPs unchecked won't fly ...
    Why would that even be necessary? It should be easy enough to concoct a server script that checks a zip for contents that comport with a Spin archive, and reject it if it doesn't.
    -Phil
    Ah, but
    a) Not everything one might want to upload is a spin archive
    b) That doesn't stop someone trying to spam OBEX specifically
    JRoark wrote: »
    Out of curiosity, does anyone know the total disk size currently used by all of the OBEX code entries? I can't imagine that it is that large... maybe a couple of hundred meg, tops?

    a ZIP dump of parallaxinc/propeller is apparently 111 MB. Will see what that decompresses to and what is actually taking up that space

  • So, parallaxinc/propeller is 222 MB decompressed.
    However, only ~84 MB of that is .spin files.
    There's also:
    - ~30 MB of PDF files
    - ~29 MB of JPEG images
    - a ~15 MB example file for a video player object
    - a random copy of Propeller.exe (=PropTool) in a seven segment display object?
    - All the jquery.js files included in doxygen documentations put .js files higher in the file type ranking than any other non-spin language
  • For the OBEX-via-git idea, each project would get its own individual repository. Spam projects repositories would just be entirely deleted. There'd be no need to worry about having to use pull requests to ensure people don't mess with other people's projects - when you upload an update to your project, it creates a new commit on your project's repository, which you control entirely. If you choose to do stuff via git, you can do whatever you want to the repo, since it only contains your project.
  • One repo per project makes more sense, anyways. Only problem is if someone deletes their account for whatever reason, their projects are gone.
    This could be solved by moving them into an organization.

    Another advantage of seperate repos is that whoever actually wrote the code is responsible for accepting pull requests / handling issues.

    Also, I think that GitHub's built-in web download/upload options may be sufficient when dealing with seperate project repos? No forks, no pull requests, no bash. Haven't messed with the web uploading at all and I'm not sure if you can create a release without a preexisting tag in the web interface.

    Will futz around and report.
  • Wuerfel_21Wuerfel_21 Posts: 602
    edited 2020-02-13 - 22:46:10
    Aaand, the report is here:

    If all you're doing is uploading files, creating releases and maybe accepting the odd pull request on your own repository, GitHub's web interface is entirely sufficient (and IMO in general superior to the old OBEX interface).

    Like, could any of the people who don't want to use git locally try this:
    1. Create a new repository (hint: click the plus icon at the top right) (also, you obviously need an account first)
    2. Click the "Upload Files" button on that repo's home page
    3. Upload some .spin (or whatever, really) files, (optionally enter a commit title and description) and click the big green confirm button
    4. Repeat steps 2 and 3 a bunch of times, but modify the files you uploaded and add some new ones
    5. Maybe delete a file or two (open the file and click the trash can)
    6. Optional: Post the repo link here so I can pester you with pull requests and issues

    That simple enough?
  • msrobotsmsrobots Posts: 3,101
    edited 2020-02-14 - 00:15:02
    yeti wrote: »
    Why couldn't another Forum be set up just for code? - the "OBEX Forum"
    That would need wiki like access to at least the top post.

    There was a Propeller Wiki (which died) and there is a Propeller Wiki (reanimated and ignored).
    Use this instead.

    Why?

    If I post my code on the OBEX you can't change it and this is good so, isn't it?

    This is exactly the point, git is for multi programmer development on larger projects and the OBEX was a place where a single developer could easy share his work by uploading a PropTool generated zip file, describing it and give other people a simple way to download it.

    Same would work with a OBEX forum.

    I use source control at work since decades (in my case subversion ), and if you want to use git as source control, fine with me. But why I would NEED git if I don't need it?

    TurtoiseGIT and TurtoiseSVN can't be installed at the same time, and you can be sure my employer has no interest in sharing our source via GitHub, even if git is the latest and newest kid in town.

    Other people like fossil as source Control, why you are pushing git so hard on every guy who wants to program P1 and P2?

    As often I agree with @localroger, even if I am not really a n00b anymore, I have a hard time with git and am very happy about @DavidZemon and his TeamCity build server allowing me to get the newest FlexGui without messing around with @ersmith git account.

    Collaboration can be a good thing but honestly for say @rogloh's video driver I just need his last stable Version as a simple download, have no need for pull requests or changing his code at all. (I doubt I could do it any better as he does)

    The classical saying that if you have a Hammer everything looks like a nail to you, comes into my mind.

    git is in no way a replacement for the OBEX. it just does not fit. And as I said before the OBEX was just user driven, needed some moderation against spam, so not much work for anybody at Parallax, needed no pull requests and someone at Parallax to approve my upload, I could post my project and everybody could download it without Parallax involved at all.

    @Cluso99 has a very nice Idea. OBEX forum, you must be logged in to create Threads, you must be logged in to post a comment, you can look at it and download whatever without being logged in.

    I am pretty sure @ersmith could add something like PropTools 'Archive as Zip' (including date/time in the filename) with ease to FlexGui.

    Easy to handle for Parallax (just one more forum), the moderators know their tools (and might not know Git & Co)

    Nobody needs to install anything on his computer, need to learn anything new, what is the drawback to this solution?

    curious,

    Mike
  • Most things that go on the OBEX get posted on the forum. anyways.
    The problems with relying soley on the forum are that
    a) The built-in search is worthless
    b) The forum software changes every couple years, each time breaking all links in the process
    c) To get the latest version of something, you have to sift through the entire thread back-to-front until you find an attachment... unless the old version in the first post has been replaced, which, pleasedontdothat
  • Wuerfel_21 wrote:
    a) The built-in search is worthless
    Actually it's gotten quite good. When did you try it last?
    b) The forum software changes every couple years, each time breaking all links in the process
    It's stayed the same now for 4 1/2 years, since changing to Vanilla.
    c) To get the latest version of something, you have to sift through the entire thread back-to-front until you find an attachment... unless the old version in the first post has been replaced, which, pleasedontdothat
    The first post can simply be edited to point to the latest version.

    -Phil
  • I’m now formally, and *totally* confused. Why are there things like links/references to “chat with Chip” on the ParallaxInc git pages?
  • nono @Wuerfel_21, putting the newest Version of something in the top post is used a lot here in the forum, but one does not need to replace the existing one, that would be a pleasedontdothat, agreed.

    And git does not change over years?

    A separate OBEX Forum (just for sharing) would be as painless as possible for parallax to moderate and easy to understand for everybody.

    anyways,

    Mike
  • Cluso99Cluso99 Posts: 15,820
    edited 2020-02-14 - 06:45:20
    msrobots wrote: »
    nono @Wuerfel_21, putting the newest Version of something in the top post is used a lot here in the forum, but one does not need to replace the existing one, that would be a pleasedontdothat, agreed.

    And git does not change over years?

    A separate OBEX Forum (just for sharing) would be as painless as possible for parallax to moderate and easy to understand for everybody.

    anyways,

    Mike

    The OBEX forum could have a separately issued log-on and password and be approved by the moderators. Anyone can view and download, but to comment and/or post code you need to log on. That will stop a good chunk of spam.

    We'd get all the good parts of the forum such as posting sections of code etc. The original poster OP (creater of the thread) has access to his/her first post to update (upload) files as well as update any usage info. If the OP reserved two more posts for later info at the time of the first post, then there is some space for additional info now or later. This is pretty much what I and others do now on this forum.

    While there are some reasons to just use the current forum, IMHO a separate OBEX forum makes more sense because it can be secured better by vetting new members whereas the current forum allows new posters access without much/any vetting. We want noobs to join easily and be able to ask questions but this has the downside of some spam (which the moderators do a good job at deleting).
  • I'm so glad to hear that the git hurt is not just me.
    I do like the ideas on an obex forum.
Sign In or Register to comment.