JHGuitarFreak / UQM-MegaMod-Archived

UQM-HD Remastered plus a whole host of extra content and goodies
http://megamod.serosis.net
Other
21 stars 1 forks source link

Providing the optional content on a Git repository #16

Closed es20490446e closed 5 years ago

es20490446e commented 5 years ago

Right now the optional content is provided at http://megamod.serosis.net/Releases.

It would be quite useful if it was in a folder in GitHub, so while packaging we could automate the detection of new content. Plus downloading from GitHub is way faster than from serosis.net.

Serosis commented 5 years ago

I'll think about it after the next release.

The problem for me, personally, is that I have to clone on various systems for testing/compiling and it already takes long enough to be annoying as is with my ISP being what it is.

Is it possible to clone while ignoring the addons folder?

If so I can put it all in motion.

es20490446e commented 5 years ago

This is what I personally would do if I was in that situation:

Serosis commented 5 years ago

Make sure that my Internet connection problems aren't due to the equipment itself, specifically that it isn't suffering from buffer bloat.

I went to the speed test and it skipped the buffer bloat test due to latency. Satellite internet will do that.

If my Internet was that slow I would keep a local copy of the repository, and only pull the changed files with "git pull".

I'll keep that in mind. If I can have git installed on Snow Leopard I may go this route.

For example only include the high resolution graphics package, one music package, and so on.

Yeah, I wouldn't put extraneous packages in the repository unless I knew they were going to be worked on.

Provide any extra package as a separate repository.

That's also feasible and will think about it when I start working on the MegaMod again.

I would not show options in the menu from packages that are not installed.

That's a damn good idea. I'm going to put that on ideas list.

Serosis commented 5 years ago

At the moment I'm checking the HD content into Github, gonna take awhile but it'll be there.

Like you said, it'll be easy to just check out plus easier for changes to HD content, which I plan on doing some time in the future.

es20490446e commented 5 years ago

Awesome! 🤩

Serosis commented 5 years ago

After playing with it for a bit I'm going to put the HD content in its own repository.

It's dragging my commit time down to a crawl having it with the source.

Serosis commented 5 years ago

Since the main HD content is on its own repository I'm closing this for now.

data-man commented 5 years ago

Please remove Windows binaries from the repository.

Serosis commented 5 years ago

Give me a valid reason and I'll think about it.

Personally I like that anybody can git clone or download the repository's zip on Windows and do immediate testing without having to compile it themselves.

data-man commented 5 years ago

Because it's a bad practice. https://robinwinslow.uk/2013/06/11/dont-ever-commit-binary-files-to-git/ https://www.quora.com/Should-binary-files-be-stored-in-a-Git-repository

download the repository's zip on Windows

With sources that are not needed by non-programmers.

Personally, I'm not a Windows user and prefer to compile myself.

Serosis: Editing your links so they wouldn't redirect to the repository

es20490446e commented 5 years ago

What I personally do is to keep a script in the repository that builds the hole program in just one click.

Although this requires the compilation time to be short. I don't know if that's the case for this program.

es20490446e commented 5 years ago

For sure Windows users will require the program to be already compiled to use it. For testing it most likely not.

Serosis commented 5 years ago

Got any ideas on deleting all the binaries from past commits to speed up cloning and committing?

es20490446e commented 5 years ago

A brand new repo would be my choice.

Also naming the repos in a regular way. For example if the game was "uqm-megamod", the content would be "uqm-megamod-hdcontent".

This is because the name of the repo will be preserved when packaged by some other operating system, so it would be easier for users to locate the different components.

On Thu, Sep 26, 2019, 06:23 Serosis notifications@github.com wrote:

Got any ideas on deleting all the binaries from past commits to speed up cloning and committing?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Serosis/UQM-MegaMod/issues/16?email_source=notifications&email_token=ACJGLXCMPBZGMYHEPOISWBTQLQ2NXA5CNFSM4ITWDH62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7UHJWY#issuecomment-535327963, or mute the thread https://github.com/notifications/unsubscribe-auth/ACJGLXBT5C57NS5VTTOD6NLQLQ2NXANCNFSM4ITWDH6Q .

On Thu, Sep 26, 2019, 06:23 Serosis notifications@github.com wrote:

Got any ideas on deleting all the binaries from past commits to speed up cloning and committing?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Serosis/UQM-MegaMod/issues/16?email_source=notifications&email_token=ACJGLXCMPBZGMYHEPOISWBTQLQ2NXA5CNFSM4ITWDH62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7UHJWY#issuecomment-535327963, or mute the thread https://github.com/notifications/unsubscribe-auth/ACJGLXBT5C57NS5VTTOD6NLQLQ2NXANCNFSM4ITWDH6Q .

Serosis commented 5 years ago

Only problem with that is "mm-hd" is hardcoded in MegaMod's source and several other content packages.

I named the repository that way so one could simply cd into the content/addons directory and git clone mm-hd right in there without having to do anything else.

Of course I could rename it again but that's a huge pain in the ass for almost little to no payoff.

EDIT:

Also I've been thinking about freezing the UQM-MegaMod repository, renaming it, and making a new one that has the commit history flushed up to just after I removed the HD content to speed up cloning and commit times. That way I could keep the old history for perusal.

es20490446e commented 5 years ago

When I'm improving a software my first goal is it to be as easy to work on it and to maintain in the future with as little work on my side as possible. So I take extra time in the beginning to organice, automate and simplify how things are done around it cause I know that won't be the case afterwards.

For example recently I have written The Dark Mod Linux Packager. It's a software that, in one clic, creates a file-system ready to be packaged into Linux.

The important part of it is that it doesn't care if the files of future releases change. The program is written in such a way that it will figure out the new files, so it won't require me constantly looking after it.

Then end goal is that it won't matter how many applications I create. Since they are fully automated, they don't take a toll on my time. So I can start as many as I want.

es20490446e commented 5 years ago

By the way there's a fast method for renaming.

For listing all the places where that string is hard-coded, in the Bash terminal enter: grep -R "mm-hd"

What results in this.

For replacing the hard-coded string to a new one in one single step, open the affected file with the text editor and: Control + H

Serosis commented 5 years ago

I know how to "replace all". That's how I changed it in the first place from hires4x to mm-hd.

I'll think about it but I'm not giving any promises. At the end of the day I have to weigh in the pain-in-the-ass factor with how many people that would actually help.

After all the repository is under my account and the description itself tells the story.