4 ms·
GUI is absolutely easier for merge conflicts. I use the one that comes on jetbrain ides which is awesome. This isn't even opinion. It's fact. Anyone who has ex
by ninetyninenine 2y ago
GUI is absolutely easier for merge conflicts. I use the one that comes on jetbrain ides which is awesome.
This isn't even opinion. It's fact. Anyone who has experience regularly(keyword) using both CLI and GUI for merge conflicts will side with me on this by an overwhelming majority such that I might as well call this fact.
- perching_aix 2y agoThe community seems to disagree so far. I'll take a look at how it works tomorrow though. For me most of the misery around merge conflict resolution stems from how git fundamentally works, so I'm not sure how much it can possibly improve on it.
- ninetyninenine 2y agoThe only people who disagree are people who don't have regular experience from both sides. Graphical diffs that automatically handle merge conflicts visually with clicks to insert, undo and the ability for custom modification are MUCH MUCH more convenient with a GUI. Highly recommend the jetbrains conflict resolver gui. I can assure you ANYONE who regularly has experience with both the CLI and that GUI(jetbrains) will hands down say the GUI is superior for merge conflicts. It is NOT intrinsic to the nature of merge conflicts. Any disagreement in this area stems from lack of experience or knowledge. If anyone has experience with both and they have a contrary opinion, feel free to tell me. I doubt such a person exists though.
- octopoc 2y agoI can second this—the JetBrains merge conflicts ui is the best I’ve ever seen. For some reason there are a lot of subpar uis though. E.g. not showing three versions, only showing THEIRS and not the remote branch name, etc.
- ninetyninenine 2y agoI've seen another gui waaay back before git was popular. Perforce actually handled merge conflicts with a GUI just as good. I think it's still just as good, though almost no one uses it.
- oniony 2y agoI still use it. Even have it set up with Jujutsu. Only complaint is that you have to explicitly exit the app after each use. It's still free, too.
- ninetyninenine 2y agoIt works with git??? I had no idea. I highly recommend anyone reading this to try out P4merge as the merge conflict resolver for git. It might be the better alternative to jetbrains as jetbrains usually involves buying into using the entire editor.
- oniony 2y agoYup, you can get it from https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge https://www.perforce.com/products/helix-core-apps/merge-diff.... I actually use Difftastic on the command-line for diffs and spit out to P4Merge for merges. Here's my Jujutsu config: [ui] diff.tool = ["difft", "--color=always", "--display=side-by-side-show-both", "$left", "$right"] merge-editor = ["/Applications/p4merge.app/Contents/MacOS/p4merge", "-nl", "Theirs", "-nb", "Base", "-nr", "Mine", "$base", "$left", "$right", "$output" ]
- WolfeReader 2y agoI started using this today, and it's pretty amazing. Thank you!
- chrisweekly 2y agoI know many people who like p4merge and have used it as their mergetool in git
- metaltyphoon 2y ago> Graphical diffs that automatically handle merge conflicts visually with clicks to insert, undo and the ability for custom modification are MUCH MUCH more convenient with a GUI Not saying you are wrong, I used to only use VSC Gui for merge conflicts. Then at some point learned to edit myself and just use the CLI. After many many years I tried lazygit (TUI) for merge conflicts while still being in the terminal and I don’t think I can go back to do it manually anymore. My point is, is this TUI considered graphical?
- ninetyninenine 2y agoSame concept. The TUI is attempting to imitate what GUI does with pixels as primitives but with terminal character primitives.
- sham1 2y agoI find ediff from Emacs to be superior to the JetBrains conflict resolution view. And I've had to deal with some gnarly (and large) merges at $JOB. I dunno, something about its keyboard-driven design (and in general being Emacs-based) makes it clearer in usage than the JetBrains offering. Although this is probably what one is used to. Of course, the really important thing is that people set merge.conflictStyle = zdiff3. Maybe a bit opinionated, but it really makes proper merging a lot easier.
- skinkestek 2y agoif I understand correctly ediff isn't cli, it is a gui built into emacs, only implemented unsing characters?
- tsimionescu 2y agoEdiff is still a GUI (yes, even if you're running emacs -nw). I also thing Ediff has some very annoying behaviors - the fact that it doesn't use intuitive names for the two buffers (especially because of Git's annoying nomenclature when rebasing vs merging), and the fact that there's no shortcut for inserting both the A and the B changes into the destination, which is a common operation. I haven't really used the JetBrains merge UI, so I don't know if it's better or worse, but I don't think it's very hard to improve over ediff.
- sham1 2y ago> Ediff is still a GUI (yes, even if you're running emacs -nw). I'd dispute this, and more likely call it a TUI[0], unless of course one wants to go with the really pedantic point that all text is graphical. It certainly isn't what I would associate with the words GUI merge editor, which feels to me more like what Sublime Merge for example does > I also thing Ediff has some very annoying behaviors - the fact that it doesn't use intuitive names for the two buffers (especially because of Git's annoying nomenclature when rebasing vs merging), and the fact that there's no shortcut for inserting both the A and the B changes into the destination, which is a common operation. Yeah, A, B, and C (and when doing the (z)diff3 thing, Ancestor) are certainly not the most intuitive names for the respective buggers (ours, theirs, result, and base in more Git-ish nomenclature) but it gets clear enough with practice. Not really a defence for bad UI, but eh, computer science is certainly known for that. As for the "keep both" operation, yeah, that's lacking in ediff. There is one in SMerge mode (C-c ^ a) which of course activates when the buffer has any valid conflict markers, but at least in three-way merges, it also keeps the ancestor which is not usually what one wants. Although at least when I was doing a lot of conflict resolution, a lot of the times it made sense to merge things by hand anyhow (it was a bunch of mega-merges related to a technology upgrade which had been half abandoned due to lack of time/focus from higher-ups), but I agree that the lack of "keep both" is problematic. Should probably file a bug report. > I haven't really used the JetBrains merge UI, so I don't know if it's better or worse, but I don't think it's very hard to improve over ediff. Probably not, but it also shouldn't be too difficult to improve on ediff either. And well, I at least like it better than the JetBrains resolution view or whatever VSCode has [0]: <https://en.wikipedia.org/wiki/Text-based_user_interface https://en.wikipedia.org/wiki/Text-based_user_interface>
- connicpu 2y agoThis is basically my workflow too. I use git from the command line until I need to resolve a merge conflict, then I hop into vscode to resolve the conflicting file.
- milesrout 2y ago>This isn't even opinion. It's fact. I honestly don't mean to insult you but when you say things like this in a discussion where others obviously disagree with you, it makes you seem like either an overly enthusiastic beginner that hasn't learnt about tradeoffs yet, or a very stupid fanatic. You might be neither, but that is how it comes across. >Anyone who has experience regularly(keyword) using both CLI and GUI for merge conflicts will side with me on this I and many others simply disagree with you. I have used those tools. They work okay in simple cases but break down in more complex ones. That is my opinion.
- ninetyninenine 2y ago[flagged]
- milesrout 2y agoI am sure you indeed do successfully use JetBrains to merge "the most massive conflicts". Good on you. I'm glad it works for you. The mere fact you've even typed out the words "Anyone who has experience regularly(keyword) using both CLI and GUI for merge conflicts will side with me on this" makes you look like a child. This is how children speak. >You probably worked with a trashy gui and likely didn’t use it too much. You don't seem to be able to encounter someone that disagrees with you without immediately assuming they must be doing something wrong, lack experience, or be stupid. Again, how hard is it to accept that people have different preferences? You are like those people on forums in the 2000s that argued that anyone that liked Ruby/Python was an idiot and obviously Python/Ruby was the far superior language. Anyone that disagreed obviously had never used Python/Ruby properly, and was obviously just a fanatic. I thought we moved past that stupid shit years ago.
- ninetyninenine 2y ago> You don't seem to be able to encounter someone that disagrees with you without immediately assuming they must be doing something wrong, lack experience, or be stupid. Yes. Not stupid though. More lack of experience. That’s my opinion about it and in my opinion the gui is better and that is a fact. What I don’t understand is why my opinion about something as a fact no matter how extreme leads to you openly calling me a stupid fanatic and calling me a child? I said you come off as stupider earlier with the additional statement of “not to be insulting”. I also said it to sort of illustrate to you and imitate you on what happens when you call someone stupid and then say the words “I don’t mean to be insulting” as if that negates what is in actuality an insult. It doesn’t and now you’ve openly called me a child. This ends here. Good day.
- anonzzzies 2y agoYour opinion is not fact.
- ninetyninenine 2y agoProve it’s an opinion with your own anecdotal experience. I would say that my opinion is shared by the overwhelming majority in such an overwhelming way that it’s indistinguishable from fact.
- darnir 2y agoAnecdata don't make facts
- ninetyninenine 2y agoIt’s better than nothing. If he has something better than nothing he’d present it. I doubt he does though.
- friendzis 2y agoBut solving merge conflicts is fundamentally an editing task, not source control.
- ninetyninenine 2y agoYeah this is true. It’s similar enough such that most gui version control interfaces include an interface to deal with this.
- aragilar 2y agoYour editor should be able to handle this (via git mergetool).
- BobaFloutist 2y agoWord processors are for editing documents, saving documents in different locations and formats should be handled by your file system of choice.
- deleted 2y ago[deleted]