tehnub 2 days ago

I used Git on the command line exclusively for many years and occasionally tried the built-in Git tools for various editors as well as GitHub Desktop, but I never felt they were a lift in usability over the CLI or very pleasant to use. That was until I tried Sublime Merge on a whim. One thing I like is how keyboard oriented most of it is, and how it maps quite closely to CLI commands. If I want to commit I open the command palette with command+p and then fuzzy-search for commit with “co…” or “cm” or whatever you like, and it brings up the suggested commands which I can select with enter. And beyond that I like the generally attractive styling which makes viewing diffs and searching commit history (command+f, fuzzy find “contents:”, type what you want to search for) pleasant. It’s also totally snappy in most cases, even with multiple tabs for repos open — the only time I’ve seen it slow down was opening Unreal Engine, and that was at least a year ago so they may have made improvements on that. I use it every day and I am quite pleased with it.

  • codetrotter 2 days ago

    > If I want to commit I open the command palette with command+p and then fuzzy-search for commit with “co…” or “cm” or whatever you like, and it brings up the suggested commands which I can select with enter.

    cm is exactly how I think of commit, but I use it as a custom command on the cli.

    I use my cm command like:

    cm “Small refactoring of quux and baz”

    and it runs

    git commit -m “Small refactoring of quux and baz”

    Similarly I have other two letter commands for all of the other git operations I most frequently use. (I.e for almost all of the ones I use day to day.)

  • the_gipsy 2 days ago

    Have you tried any TUI tools? I'm super happy with tig for visualizing history, diffs, staging chunks and staged/unchanged changes. For anything else I just use the git CLI commands.

pilif 2 days ago

Sublime Merge is cough sublimely good at performing 3-way merges.

I don't like it as much as a generic git frontend (nothing beats the command line once you're used to it, but for 3-way merges, it's absolutely perfect and I have yet to see anything better.

Another very good tool for 3-way merges is meld, but the macOS port (where I do most of my development work on) is not very good, mostly because the GTK macOS port isn't very good.

  • alimbada 2 days ago

    I tried Meld for 3-way merges and while it seemed ok I prefer P4Merge. It's free, but not open source. If I'm using Jetbrains tools though, I'll always use the built in merge tool as it's the most intuitive to use in my experience.

  • rationably 2 days ago

    > yet to see anything better.

    Try Beyond Compare v5.

  • wodenokoto 2 days ago

    It’s also very good at committing chunks, especially from different files in the same commit.

    It’s not good at getting an overview of your history or blaming, but for committing and merging it is really nice

    • fastball 2 days ago

      What don't you like about the blame interface?

      • pilif 2 days ago

        I'm not OP, but here's my two qualms with using Sublime Merge for blame:

        * it doesn't do a good enough job following renames (in cases where you would need to use `--follow` to `git log`. `git gui blame` does.

        * while there is a "blame parent commit" feature, it's a bit hidden and it's super slow to provide the updated blame.

      • wodenokoto 2 days ago

        Maybe they improved, I actually haven’t tried for years. I mostly would click blame on a line in sublime text and leave it at that. I just never felt smerge was good at digging around history. Maybe I’ll give it another try

  • tored 2 days ago

    I use WinMerge for that, unfortunately, as the name implies, Windows only.

    • ubercow13 2 days ago

      I don't think WinMerge supports proper 3 way merge..

chrizel 2 days ago

Using Sublime Merge for over a year now after using Magit/Emacs mostly (and git command line for years before that).

What I like about Sublime Merge is its performance and the stage/unstage UI/UX is intuitive and fast backed by a competent text editor engine, similar to what I liked about Magit. Having multiple repositories open in a tab interface is also nice.

What you have to keep in mind is that Sublime Merge also includes a competent merge tool (hence the name). Sometimes we have to do more complex merges and Sublime Merge does this in an intuitive and integrated way, which would be a completely separate application in many other popular Git front-ends. Therefore the price is IMHO fair and justified. I can recommend giving it a try for a couple of weeks.

0x073 2 days ago

Since the auto update for sublimetext to version 4 where I don't have a license for I switched to vscode and never looked back.

At first I lost my trust and then I liked vsc more.

  • mostlysimilar 2 days ago

    If you trust Microsoft of all companies you might want to reflect on if you're making rational judgements.

  • fastball 2 days ago

    This thread is not about Sublime Text.

    • 0x073 2 days ago

      Same company.

      And the funny thing is at that time I was thinking about buying sublime merge, until the st4 update happend.

    • greenyies 2 days ago

      It's the same company. His trust was for the company not just for a product

      • fastball 2 days ago

        Trust was lost because they... released a new version of their software?

        • 0x073 2 days ago

          Ok for context: You got st3 with a license, and maybe plugins. St3 got regular updates to new minor versions. They brought the st4 update like the other minor version updates.

          Destroyed the whole st ide setup (plugins didn't work for st4) And st3 licence can't be used for st4 (you get the st4 licence if you bought st3 some months before)

          If I use st for private stuff that would be annoying, but as I use it for my work that was money.

          • ben-schaaf 2 days ago

            Sorry that happened to you. We've since improved our updater to avoid this happening again, but your loss of trust is understandable. Hopefully downgrading back to ST3 was not too big of a hassle.

            ST4 has full backwards compatibility for plugins, keeping the same python 3.3 ST3 shipped with, so I'm surprised your setup broke. ST3 licenses were also fully transitioned to ST4, so any license less than 3 years old covered the initial ST4 release.

            • mostlysimilar 2 days ago

              Thank you for making such good software and being decent people. Sublime Text is my go-to example of a small team making quality software that puts people first. I'm very grateful.

            • squigz 2 days ago

              Does ST4 require a license? I'm still on 3 and I know it doesn't require one.

              • ben-schaaf 2 days ago

                Sublime Text has always required a license, but has an unlimited trial period with a nag popup.

                • squigz 2 days ago

                  That's what I meant, as it effectively doesn't "require" a license :P

        • DamnInteresting 2 days ago

          (I'm working from memory, so I may bungle details)

          Speaking personally, I enjoyed Sublime Text, so I was happy to pay for a license back in the day ($70 if I recall?). When v2 came out, I paid to upgrade, and again with v3. When v4 was released, I paid yet again, but after a period of normal use (a year if I recall), I got a popup informing me I'd need to pay again to keep using ST4. I felt like I'd been hoodwinked--they had sneakily switched the license from perpetual to subscription.

          I assume that the switch to subscription licensing was disclosed somewhere in the small print that nobody reads. I feel that the concealment was deliberate (I suspect they'll disagree, but you know the old chestnut about the relative volume of actions and words). At that point I'd been using v4 for a year, and rolling back to v3 with my previously perpetual license would be a big hassle, and obviously I'd lose functionality.

          I would have happily kept paying for upgrades, but now I doubt I'll ever spend money with those folks again.

          • ben-schaaf 2 days ago

            We only have subscriptions for businesses (there's a whole separate purchase process), regular licenses cover 3 years worth of updates and are perpetual. That's a similar time period between license purchases to before ST4. We announced this change at the top of our ST4 release post and describe it when you purchase a license.

            If your regular license only covered a year of updates that's certainly a bug and I suggest contacting sales@sublimetext.com so we can sort that out.

  • squigz 2 days ago

    That seems strange. ST doesn't even do minor auto-updates for me, let alone upgrading to a major version. Also couldn't you just downgrade?

    • ben-schaaf 2 days ago

      No we don't have automatic updates. The issue was that our updater did not warn customers that their license would not cover the newer version before updating, so those with more than 3 year old licenses were met with a "LICENSE UPGRADE REQUIRED" in the title bar. Sorry to those who were affected by this, the loss of trust is understandable.

      We've since added that functionality to the updater. We also don't nag paying customers regardless of whether their license applies.

      • squigz 2 days ago

        Good reply. Good products. Keep up the good work!

  • tored 2 days ago

    I added

      "update_check": false
    
    to my Preferences.sublime-settings for ST3, seems to have solved it.
the_gipsy 2 days ago

> Commit Faster - Stage Files, Hunks and Lines with no waiting - Sublime Merge is really, really fast.

Fast as opposed to what? What could possibly be slow here? It's just local git operations.

  • ben-schaaf 2 days ago

    `git add` can be quite slow when handling large files, in large repositories, with a large index or on slow platforms. For instance this optimization in git brought the runtime of `git add .` on Windows with 200k files from 6s to 3s: https://github.com/git/git/commit/d1664e73ad96aa08735bf81d48....

    100ms let alone 3s is much too long a wait, so Sublime Merge predicts the outcome of staging and presents that immediately. This made a noticeable improvement to responsiveness even on small repositories under Linux.

    • the_gipsy 2 days ago

      I've never noticed a delay in my life.

      So, "predicts outcome", what does that even mean? I know the outcome of `git add` is... the file being added. And it has to run the command in the end anyway.

      • ben-schaaf 12 hours ago

        It means that the outcome is shown immediately on the next rendered frame instead of waiting for the command to complete, then reading the index and updating the UI from that. You knowing the outcome is exactly the point; the UI needs to be responsive immediately because you're not waiting to find out what happens.

        As an example: Lets say it takes 200ms to run `git add` and then another 100ms to read the index; you want to stage 3 files. You click the first stage button, nothing happens and you move to click the next stage button, now the UI updates and removes that first file shifting what you're about to click on. This behavior was extremely annoying when it came up in testing.

        With prediction here's what happens instead: You click the first stage button, immediately the UI updates removing that file, you move to click the 2nd which again is immediately removed. Transparently in the background `git add` is run and we confirm the end the result is as predicted.

  • bayindirh 2 days ago

    More mentally taxing workflows. Git is fast enough, but human brain is not, especially in complex cases. Untangling the view is a boon.

solarkraft 2 days ago

I liked Sublime Merge when I used it a few years ago, mainly because it's available on Linux. There were some things about the UI that were bugging me however. Nowadays I'm pretty happy with Fork (available for Windows & macOS).

  • fastball 2 days ago

    What was bugging you about the UI?

    • solarkraft 2 days ago

      I sadly don't exactly remember, but I think it was something about resizing behavior and the occasinal inability to stage specific parts.

  • NetOpWibby 2 days ago

    Link?

    • abhinavk 2 days ago
      • freilanzer 2 days ago

        Mac and Windows only? What the hell.

        • solarkraft 2 days ago

          I dislike that too, but one reason is that they're actually using the platform native UI toolkits (making it wonderfully well integrated and snappy). Adding another platform would be a lot of work and the authors don't believe that Linux even has a clear platform native UI toolkit (though imo GTK would be a safe choice).

  • niux 2 days ago

    Sorry, but it sounds like you're shilling for Fork.

    • solarkraft 2 days ago

      I am because I've been happy with it for the past couple of years.

4gotunameagain 3 days ago

I have been using Sublime Merge for a while now, and I find it very useful.

I am a visual and spatial type, so I find the the way the information is organised there invaluable. I know I lose points for not being an ultimate shell dweller, but the experience just does not compare.

The only downside is that sometimes you cannot be sure which commands it will execute for a given functionality, and to do more specific things you have to do them manually. I guess this is unavoidable.

  • bulatb 2 days ago

    > I know I lose points for not being an ultimate shell dweller

    You don't lose a single point for using tools that fit your needs, no matter how much any gatekeeper says different.

  • ben-schaaf 2 days ago

    > The only downside is that sometimes you cannot be sure which commands it will execute for a given functionality

    I'm curious if you have a specific example of this? We've put a fair amount of effort into having the same nomenclature as git and add tooltips that contain the command itself where possible.

  • have_faith 2 days ago

    Same. I’ve been using it a while and I enjoy it a lot. I have to admit that I haven’t purchased it yet because $100 is hard to justify with so many perfectly good free alternatives, but if it was cheaper I definitely would.

apocalyptic0n3 2 days ago

I've been using Sublime Merge since it was first announced (and Sublime Text since ST2 I think). Absolutely love the experience. It's less a Git GUI and more just the CLI displayed in a well-designed GUI, if that makes sense. It's not reinventing anything, just making it easier to keep on top of commits and what your current changes are. What I find nice is that unlike many of the other GUI options, Sublime never hides what it's doing. Anytime you are about to run a Git command, they show you it and give you the option to customize it. And you can run manual commands at any time with their command palette.

I don't mind the Git CLI, but I don't enjoy using it. It feels like I'm doing extra work and I'm not necessarily on top of the changes I've made. But Sublime gives me that while also not straying far from the CLI. It's the best client I've come across and well worth the license I paid for it.

lsllc 2 days ago

Long time Sublime user, both Sublime Text and Sublime Merge. I started back with ST2, ST3 and I have ST4 and have use Merge since it was released. These days I now mostly use nvim+lazyvim for coding but I do continue to use Sublime Merge as my primary git environment.

@ben-schaaf I'd love to see tree-sitter+LSP come to Sublime Text, as well as telescope+rg+fzf style fuzzy search. I find the lazyvim+telescope integration for finding files, finding buffers, looking for symbol references and general grepping with the live preview just fantastic.

One of the things I don't like about nvim+lazyvim is that I miss the IDE (workspace) aspect of ST, in that I have a window open per active project in Sublime. I use Neovide for nvim, but it really only lets you have one GUI window (I don't like to use Kitty/terminal windows for nvim because I can't cycle easily through them without mixing through other terminal stuff).

  • ben-schaaf 2 days ago

    There's well supported LSP plugins for Sublime Text, and also a working tree sitter plugin. If that's what you're looking for I suggest giving those a try.

    • lsllc 2 days ago

      I haven't looked at package control in a while, I'll take a look! Thanks

mandalorianer 2 days ago

When Sublime Merge was initially released I liked it a lot. Mostly because of it's snappy speed (like Sublime Text). But since a year or so I'm using lazygit (https://github.com/jesseduffield/lazygit), which at least for me is the best git tool ever.

  • aeurielesn 2 days ago

    The two advertisements at the top of the README made me uncomfortable.

    • wodenokoto 2 days ago

      It’s the $250 sponsor tier. You can add your own for that price.

      People need to get paid somehow.

    • squigz 2 days ago

      A lot of people on HN don't like it when you share your opinion about how an open-source developer monetizes their work. For what it's worth, I agree. I feel like it would be a lot less discomforting if the ads were simply below the actual description of the projects.

  • fastball 2 days ago

    What do you like better about lazygit than Sublime Merge?

  • haskman 2 days ago

    LazyGit is extremely good, especially when invoked from within NeoVim. I use it as a part of the LazyVim setup.

outcoldman 2 days ago

I used ST since v2, and SM since the release. Sublime Text used to be my IDE for Python/C++/Go development. But later I switched to IntelliJ, and now Sublime Text is naked/pluginless editor for me, that I am ok to pay 100 every 3 years. I love the product.

I use Sublime Merge only as a diff tool, or a review tool before the commit. Love it as well.

  • syspec 2 days ago

    I find the diff tool, merge tool, blame, and fit history tooling in IntelliJ to be best in class.

    As a user of both, what draws you to sublime merge for those actions even though you likely already have intellij open for the same project?

    Thx!

user2342 2 days ago

I'm using Sublime Text since shortly before 2.0 and Sublime Merge since day one. Yet, I'm slowly losing interest in ST because of lacking language integrations and probably won't do any future paid upgrades. However, Sublime Merge is still essential for me and a no-brainer.

thiht 2 days ago

This looks like a beautiful tool, but I'm not sure why I would use this instead of the Git integration in VSCode, and the CLI in VSCode's terminal? I can't really imagine using a workflow that would force me to use a different GUI for commits, diffs, merges, etc.

ggeorg 2 days ago

Not doing much dev work at the moment... In the rare event I need to do some file comparisons or git commits I use meld. How does it compare to more novel tools like this? Any tools that consider the syntactic structure of code for diff/merging?

sam_goody 2 days ago

Considering how much competition is in this space, a comparison or a page to help define its strengths would be useful.

Both against standalone tools such as Git-Fork, and built it tools such as VSCode Git [for the majority of the world that uses VSCode over Sublime-Text].

etoulas 2 days ago

GitUp is an open source altetnative. Probably less feature rich than SM but powerful enough to be efficient.

https://github.com/git-up/GitUp

  • SSLy 2 days ago

    open source or not, because it's macOS-only, it's less available to developers than alternatives

ElCapitanMarkla 2 days ago

Here I am still using my trusty old GitX for commits, it hasn't been updated in about 10 years :) maybe I should stop being such a tight bastard and make the jump.

jamil7 2 days ago

I forgot I had this installed and purchased as I tend to just use the cli for everything and have never really used a GUI. I'll try it out for some trickier merges.

dixdotdev 2 days ago

I've been becoming more curious about GUI git tools of late, for those that have used both how does this compare with GitButler?

tkuraku 2 days ago

Sublime Merge is fantastic. I've moved on from sublime text, but sublime Merge is a tool I use everday. Invaluable.

dgellow 2 days ago

curious what GUI framework they are using. I have a sublime merge license, everything feels really snappy

  • ben-schaaf 2 days ago

    The GUI framework we use for ST and SM is fully custom. We use GTK, Cocoa and Win32 for platform integration and custom software/OpenGL rendering (with a little help from Skis).

    • dgellow 2 days ago

      Thanks! Not open source I presume? Would be interested to learn more

      • ben-schaaf 2 days ago

        t's interface is unstable, undocumented and it tightly integrates with the rest of our codebase; even if it was open source it would not be usable to anyone.

        • dgellow a day ago

          Noted, I appreciate the response. In any case, congrats, it works really, really well

29athrowaway 2 days ago

It's a good tool that integrates well with Sublime Text.

But a tremendously hard sell in 2024 considering the plethora of tools out there right now.

tstrimple 2 days ago

I used to be a fan of the Sublime tools. But the complete lack of updates over a reasonable timescale have led me to move on to more supported platforms. I like the concept of a small team of developers providing a good tool. But the reality often means that you don't see any worthwhile upgrades. And I realize I'm commenting on HN, a place where the majority of people seem to have abandoned the hacker spirit and leaned more into curmudgeon aesthetics instead. The general sentiment here seems to be far more of don't try to innovate. Just do what we expect you to in the way we expect you to which matches how we would have built this tool 20 years ago.

> Cloud? Why? You can literally do anything on a VPS with Postgres!

> AI? Not on my watch! I can't imagine a tool that does more than VIM two decades ago!

> Javascript?! What a shit language. Everything should be written in Java or C++.

  • fastball 2 days ago

    What is a reasonable timescale? They last released an update for Sublime Merge in April. What features are you missing that they haven't added? What bugs are present that need to be fixed?

  • SassyBird 2 days ago

    Following fashion has nothing to do with hacking.

  • norman784 2 days ago

    > Cloud? Why? You can literally do anything on a VPS with Postgres!

    In my case I don't want to maintain a server, but a web service, hence I'd prefer cloud most of the time.

    > AI? Not on my watch! I can't imagine a tool that does more than VIM two decades ago!

    There are a few instances where it's useful, but if you abuse the use of AI (copilot and co), then you will most likely not understand the code the same way if you were the one that wrote it, even if it is a 1:1 match.

    > Javascript?! What a shit language.

    Indeed Javascript is bad language, but it's hard to avoid if you work on the frontend, WASM is not yet there to be an alternative for most use cases.

    > Everything should be written in Java or C++.

    I would say at this point in time you will most likely to get away with Go (instead of Java) or Rust (instead of C++).

  • teaearlgraycold 2 days ago

    I like cloud, AI, and Javascript - and I’m not ashamed!