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

Feature request: Merge tool support #5847

Open
Caleb-T-Owens opened this issue Dec 17, 2024 · 4 comments
Open

Feature request: Merge tool support #5847

Caleb-T-Owens opened this issue Dec 17, 2024 · 4 comments
Labels
enhancement An improvement to an existing feature rust Pull requests that update Rust code UX/UI Focusing on user satisfaction, usability, and overall experience

Comments

@Caleb-T-Owens
Copy link
Contributor

It would be great if we could have an option to open a merge tool whenever entering edit mode if there are conflicts.

[difftool "codecompare"]
    cmd = \"C:\\Program Files\\Devart\\Code Compare\\CodeCompare.exe\" -W \"$LOCAL\" \"$REMOTE\"
    renames = true

[mergetool "codecompare"]
    cmd = \"C:\\Program Files\\Devart\\Code Compare\\CodeMerge.exe\" -MF \"$LOCAL\" -TF \"$REMOTE\" -BF \"$BASE\" -RF \"$MERGED\"
    trustExitCode = true

It would be interesting to consider whether we should simply shell out and make a call to git mergetool or whether it would be best to call the programmes ourselves.

I'd lean towards just shelling out to git mergetool so we don't have to handle the complexity (that undoubtedly exists) ourselves.

@Byron @schacon Do you have any thoughts/experience in this area?

@Caleb-T-Owens Caleb-T-Owens added enhancement An improvement to an existing feature UX/UI Focusing on user satisfaction, usability, and overall experience rust Pull requests that update Rust code labels Dec 17, 2024
@Byron
Copy link
Collaborator

Byron commented Dec 17, 2024

I like the idea, and also think it makes sense in the context of Resolving Conflicts to make opening configured merge-tools easier. I'd also try to use git mergetool first.

However, before offering this up I think I'd check to see if anything is any merge.guitool (or similar) is configured which should mean that it will be spawning independently, in order to avoid launching anything that only works only in a terminal, where people would invoke it themselves.

@Caleb-T-Owens
Copy link
Contributor Author

🤔 We could hook up something like https://xtermjs.org for std in/out

@Byron
Copy link
Collaborator

Byron commented Dec 17, 2024

Even though I'd find it technically interesting to hookup a web-view with a process that somehow is thinking the browser is a TTY, as a terminal user, I definitely prefer my terminal along with my own everything. Nicely separated in its own window as well.

An alternative question would be if it's possible to make integration with terminal-bound programs better. Launching programs within the environment of a login-shell is one thing, but launching it in a login shell in a terminal is yet another. Also, my brain wants to melt when thinking about the portability aspects of this 😅.

@Caleb-T-Owens
Copy link
Contributor Author

Some days I think it would be easier to ship a mac with each copy of GitButler 😆

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement An improvement to an existing feature rust Pull requests that update Rust code UX/UI Focusing on user satisfaction, usability, and overall experience
Projects
None yet
Development

No branches or pull requests

2 participants