haroohie-club / SerialLoops

An editor for Suzumiya Haruhi no Chokuretsu (The Series of Haruhi Suzumiya)
https://haroohie.club/chokuretsu/serial-loops
GNU General Public License v3.0
14 stars 6 forks source link

Add version control (git) support #292

Open WiIIiam278 opened 1 year ago

WiIIiam278 commented 1 year ago

It'd be great to add built-in support for version control (git) to let users manage, collaborate and work on projects more easily.

We'd want to provide some basic UI for

(*) We'd want to ignore ROM files, etc -- I imagine we'd want to figure out https://github.com/haroohie-club/SerialLoops/issues/248 first with regards to improving the project format to make them more portable

I imagine this feature leans more towards the "power user" category -- git can be a pain if you confuse branches and such, and I don't think we should expect to maintain code that covers every faucet of what could happen with git, but I do think it'd be handy to add some basic built-in support for this.

Not assigning a milestone for this at the moment

YUKI2eN3e commented 1 year ago

Hi, just wondering if it would be simpler to just add "Setup Git Repo" and "Open Git UI" options, along with a property in preferences that the user could set to whatever git UI they already have on their system? That way there would be less to maintain (or could be a good stopgap until a full UI can be added).

WiIIiam278 commented 1 year ago

Hey @YUKI2eN3e, thanks for the interest! Always great to see peeps having a gander at our work.

Agreed—that’d probably be the easiest first step towards implementing git support in the editor—in lieu of potentially exploring further ui down the road (it does get quite complicated).

The blocker for adding this right now is probably project export/importing for which we want to adjust the project format somewhat (#248)

If you’re interested in potentially doing a PR for this/anything else then we’d be delighted for any contributions—absolutely no pressure, though! :)

jonko0493 commented 1 year ago

Personally I think @YUKI2eN3e's solution is ideal. Idk if we should even be in the business of creating a git frontend -- folks who want to use git will need to learn how to use git (either frontend or command-line). I'd be happy to have a menu option to open a git frontend or a terminal set in the project directory, and i think the idea of producing a .gitignore on startup that excludes all the files we don't want (rom files, iterative directory, the original and rom directories under base) is a great plan.

I'd also argue that #248 is not a blocker for this but rather that they both need to solve the underlying issue of making the project file use a relative path from the user directory rather than hardcoding the path inside it.

jonko0493 commented 1 year ago

Ah, just one more thing to add -- we should be able to git init on any system that has it installed since it typically lives in /usr/bin if you've installed it in a normal way on a unix system, which is part of the default path included on macOS when double clicking to launch an application.