Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add version control (git) support #292

Open
WiIIiam278 opened this issue Jun 25, 2023 · 4 comments
Open

Add version control (git) support #292

WiIIiam278 opened this issue Jun 25, 2023 · 4 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@WiIIiam278
Copy link
Member

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

  • enabling VCS, which would autocreate a .gitignore* and init the repository
  • committing, pulling & pushing
  • switching branches, managing remotes
  • handling errors, like merge conflicts -- possibly bringing up a terminal and prompting users to manually resolve conflicts if they arise (ideally our UI would guide the user away from doing this)

(*) We'd want to ignore ROM files, etc -- I imagine we'd want to figure out #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

@WiIIiam278 WiIIiam278 added the enhancement New feature or request label Jun 25, 2023
@WiIIiam278 WiIIiam278 self-assigned this Jun 25, 2023
@YUKI2eN3e
Copy link

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
Copy link
Member Author

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
Copy link
Member

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
Copy link
Member

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.

@jonko0493 jonko0493 added this to the v0.3 milestone Jun 27, 2023
@jonko0493 jonko0493 modified the milestones: v0.3, v0.4 Jul 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: No status
Development

No branches or pull requests

3 participants