
Show HN: Sublime Merge – A Git client from the makers of Sublime Text - jskinner
https://www.sublimemerge.com
======
jskinner
Hi HN - Jon Skinner here, I made Sublime Text and Sublime Merge, alongside the
rest of the Sublime HQ programming team - Will, Dylan and Benjamin. Let me
know if you have any questions!

Edit: there's also the announcement blog post, at
[https://www.sublimetext.com/blog/articles/sublime-
merge](https://www.sublimetext.com/blog/articles/sublime-merge)

~~~
vmsp
Jon, it's impressive how you deliver incredibly performant cross-platform UIs.
You really should consider talking about your development and custom widget
toolkit.

Great job on Sublime Merge.

~~~
mixmastamyk
I've never experienced a non-performant cross-platform UI.

Well, to be honest I've heard of folks complaining about Electron apps, but
are easy enough to avoid. Oh yeah and Swing was a bit sluggish… in the 90s.

What am I missing?

~~~
mixmastamyk
Still no answers but a lot of malicious downvotes.

~~~
chipotle_coyote
Allow me to somewhat quippishly rephrase your original post: "I've never heard
of badly performing cross-platform apps, except for the ones written in what's
currently the most popular cross-platform toolkit and the ones written in one
of the most popular cross-platform toolkits a generation ago."

~~~
mixmastamyk
That leaves one poor performing toolkit, that has an excuse at least. Not hard
to avoid apps written in it, in any case.

Qt, Wx, Java, and many others don't or no longer perform poorly. So why the
surprise there is one more? Maybe some folks don't know they exist.

------
jgresty
> "The evaluation version is fully functional, but is restricted to the light
> theme only."

They really know their target audience.

~~~
skrebbel
Also I think they learned a lesson from how many people simply grew a habit to
click "cancel" in the "please buy this" reminder in Sublime Text.

~~~
polyvisual
I'm so lazy and it's too easy to click "Cancel"... I have a license but a year
after re-installing ST I still haven't added it :/

~~~
badpun
Just search your inbox for "sublime license", and copy the license into
Sublime. The whole operation takes me below 1 minute on a new machine.

~~~
mstade
It'd be nice if there was a command line option for this actually. I have my
machine setup almost entirely automated, but this is one of the manual steps I
have to do.

~~~
JorgeGT
As far as I know, it used to be just a matter of writing the plaintext license
into the appropriate file: [https://forum.sublimetext.com/t/license-
installation-silentl...](https://forum.sublimetext.com/t/license-installation-
silently/13749)

~~~
jskinner
That's still supported, and the same technique works for Sublime Merge, fwiw.

------
skrebbel
My first impression is extremely positive. Many actions, particularly the
kinds of actions that a UI can really help with, are unnecessarily hard in
other UIs I've used.

Eg most UIs have a good File History window, but often _finding_ the
appropriate file is a lot of work (and by often I mean at least SourceTree,
GitKraken _and_ GitExtensions iirc). Eg something like you need to scroll
through commits until you found one that happened to have changed that file,
then right-click the file, choose file history.

In Sublime, it's just Ctrl+P, fh<enter>myfilename<enter>.

I care about stuff like this (same for Blame, and Stage/Commit (which is
usually done great though)) because it's the kind of thing UIs are great at.
Both invoking the command and using the output is significantly easier and
nicer in a UI than it is from the terminal. Eg it's way more important than an
extended "Pull" dialog with all kinds of options I don't care about - I can do
that just as easily from the terminal, and my editor probably has a
button/keystroke for it somewhere too. So far it seems to me that the Sublime
folks got their priorities right. Hats off, will probably purchase!

~~~
francislavoie
You can do that in GitKraken too btw, jump to file with Ctrl+P,
"hist[enter]myfile[enter]". Or click on any recent commit, on the changes pane
click "view all files" and you can jump to whatever file you want and see full
history with right-click file history.

~~~
skrebbel
Cool! I was an early GitKraken adopter (and dropper), maybe I missed it or it
simply wasn't in there at the time.

------
wingerlang
Feedback:

\- I would be nice to be able to remove the name inside the commit log. It's
only me on this project and literally 50% of the lines (ever other) is my
name.

\- I would also like to have the option to split top/bottom like sourcetree,
so that I can read the full commit message easier.

\- The 'end of list' looks like a loading indicator

\- 'Staging lines' only appear when I select something on the line (even one
characer). It would be good if clicking in a line actually selected the whole
line instead of adding a (unusable?) cursor

\- The logo might want to have a shadow where the light and darker color meet.
Right now it is looks kinda strange. The Sublime Text logo has shadows where
two edges meet. That logo does 'fold' over itself though which this one
doesn't. But anyway the color difference is strange on my eyes.

~~~
c487bd62
I can only get "Stage lines" for files I previously commited.

Maybe I'm doing something wrong but if I add a new file the only options are
Delete or Stage. Or maybe it isn't implemented yet.

~~~
wingerlang
Here is how it looks for me.
[https://imgur.com/a/qZprpJT](https://imgur.com/a/qZprpJT)

------
manmal
For my needs, GitX (rowanj fork) is still unbeat:
[http://rowanj.github.io/gitx/](http://rowanj.github.io/gitx/) It has the
exact right amount of UI complementing the command line, and some delightful
features, e.g. amending the last commit is possible via a checkbox below the
commit message.

What I don't like about Sublime and now Sublime Merge, is the unusual way of
setting preferences by editing files. I understand that hacking in a JSON file
has benefits, but if you just want to use that tool, it's tiring having to
google how to change a setting. To me, it feels a bit like losing control.
E.g. I wanted to check whether SM supports line wrapping—I'm still not sure
whether it does, after browsing the available menu items a bit.

~~~
dsego
Since you are on a Mac, did you try Gitup? I am disappointed that Sublime
Merge didn't take clues from Gitup's interface. I feel it's the most
unobtrusive and efficient git GUI to exist.

~~~
manmal
I‘ll give it a try!

------
krupan
"Conflicts are presented with a 3-pane view. On the left are your changes and
on the right are theirs. In the center pane is the resolved text"

They are missing a pane then. A 3-way merge involves your changes, others
changes, a common ancestor, and the resolved text. kdiff3, Beyond Compare, and
very recent versions of emacs are the only tools that I've seen that present
this properly.

~~~
onion2k
_A 3-way merge involves your changes, others changes, a common ancestor, and
the resolved text._

That's true, but is it important to have all those things visible when you're
resolving a conflict? The design of a UI should be driven by what the user
needs to _see_ , not the data that's being _used_. Most apps have absolutely
loads of invisible data in the background making things work; that doesn't
mean they need to be front and centre in the UI.

In my experience of resolving conflicts I can't remember a time when I've
needed to refer to the common ancestor, so do I really want to give it screen
space?

~~~
quietbritishjim
It's fair to take either opinion – personally I often find the common ancestor
quite important, but I could understand why you might not. But it's
disingenuous to call a tool "three way merge" if it's not shown. If you're
only showing the two immediate parents, that's a regular old two-way merge.

------
TorKlingberg
I'm happy to see some innovation in diff and merge tools. I have been happy to
pay for Beyond Compare. The diff and especially merge is so much better than
the built-in tools. I absolutely hate doing a complex merge on the command
line, or trying to edit the conflict files git spits out manually.

But, Beyond Compare doesn't really integrate with git. You can set it to open
for 'git difftool' and 'git mergetool' of course, but that's it. BC isn't well
integrated with the Linux desktop either, not even the clipboard.

Has anyone here tried both Beyond Compare and Sublime Merge or an other new
tool? What keeps me using BC, despite its flaws, is the core diff and merge
algorithms. It just does a better job of showing what actually changed, and
lets me manually align code when necessary. The suggested merges are very
often right too.

------
indentit
Wow, Sublime Merge is so much smoother than GitKraken, great job! I love that
it takes everything we know and like about ST and applies it to Git.

It even seamlessly finds my Sublime Text packages, and uses the syntax
definitions installed there for highlighting - no duplicate/double
configuration required.

~~~
DigitalSea
GitKraken is a web-based application built on Electron, which is why it is
slow. Same thing with Slack. What Jon and his team do is always build native
and as you are probably already well aware, Sublime Text Editor performance is
consistent across all operating systems.

~~~
petey283
Native apps ftw.

------
benwills
Straight to payment for me. Sublime Text is one of the few pieces of software
I've just felt was done totally right at so many levels. Entirely happy to
give you more of my money.

~~~
nateweiss
Same here. I expect to actually use SM, but even if I don't, happy to
contribute a bit more to the folks who make ST (which I use all day, every
day).

------
hawski
Looks good. I like how most buttons have text labels instead those dreadful
indecipherable icons that are so popular currently. In a way it looks like a
successful mix of git-gui effortlessness with no nonsense gitk. I hate all
those clients that have to grind all the time through their leaky
abstractions.

However I'm still waiting for a client with graphical presentation and
manipulation of git's DAG. Other than that I get by with CLI, git-gui (I would
only wish to be able to edit files in it sometimes) and gitk.

------
derefr
I need to know: how long was the debate between naming this "Sublime Merge"
and naming it the obvious alternative name: "Submerge"?

(Mind you, I have a strong feeling that people are still gonna call it that.)

------
AltruisticGap
I was hopeful but for my simple uses, it doesn't work.

I use gitg in a on Ubuntu VM, also known as "GitX" on Mac.

The basic UI of gitg is much easier to read and browse, the commits and
details are top/bottom instead of left right. With SM, I have to expand the
window a whole lot more sideways to be able to read the commits. Also with SM
my name is under each commit.. but since I work mostly solo, it's added noise
that makes the list more difficult to read (what with the commit messages and
the author name underneath practically same font size. here the gitg
top/bottom layout means the author names and dates can go in other columns
making the commit list easier to scan.

In gitg I have a quick view of what files changed, how much they changed, I
can dive in if I want to see the actual code. With SM it seems by default you
get a full spread of all the changes across several files.

Lack of separation in general, lots and lots of text floating in space with
few lines or separation. Lots of subdued color. Buttons that don't look like
buttons.

That said my use case is fairly simple. I work mostly on local repos, so for
me gitg is a convenient way to see what I was working on last time, and to
stage changes in meaningful commits. I don't need it to do a bunch of other
things.

The merge sounds great though.. I really miss that... but as it is SM lacks
contrast and readability for me.

Hopefully constructive feedback.

~~~
AltruisticGap
Further thoughts:

With gitg, I click on any commit and I can quickly see the files changed by
that commit, then I can click to dive and see the actual code changes.

In SM by default there is a full spread of the modified lines. That's not as
helpful since I have to scroll vertically , potentially a lot in order to see
what other files were edited. There does not appear to be a "collapse all" by
default option.

Though even in this collapsed view it's not very informative. In gitg there is
a really simple red & green bar visual to see at aglance how much changes
there are in each files. Thus when you epxlore a git repo, or review what you
worked on weeks before;. it's easier to get a sense of how much things go into
each commit.

With that said, it's a very slick client that obviously does a lot more than
Gitg/gitx... I used SM today to edit an old commit message, which was simple
to do.

The merge is probably awesome but I'm not sure how it works.. what if I mess
up a rebase from the commaand line, will it let me continue the operation
through SM or did I have to start the rebase / misc through SM first? (I ask
because typically you had to configure the merge tool in the git config so I'm
not sure how SM would catch that)

------
testcross
Looks like magit, without the very good editor integration that makes magit
awesome. Seems nice tho.

~~~
fastball
Presumably as time goes on it will become more and more integrated with
Sublime Text, which is arguably a "very good editor".

Or is that not what you mean?

~~~
Volt
Probably to be read as (very good) (editor integration) rather than (very good
editor) integration.

~~~
testcross
Yes that's what I meant. Thanks :)

------
Serow225
Congrats! I know what I'm doing at work tomorrow :) Does it have gitflow
support built in? Also just FYI the main page shows a "download for Mac"
button in iOS Safari, I almost thought it was Mac-only until I went to the
Download page. Maybe the front download link should autodetect the platform
but also give you the option/drop-down to select another? Or at least make it
obvious that it isn't the only platform. Cheers

------
mescalito
I will try it out immediately, but I am surprised GitSavvy[1] was not even
mentioned in this thread. It's by far my everyday package, and it fits very
nicely. It's the only thing in a way of really wanting this.

[1]:
[https://github.com/divmain/GitSavvy](https://github.com/divmain/GitSavvy)

~~~
lttlrck
GittySavvy is excellent.

------
modernerd
Looks great! I was using Fork before, but prefer the clean UI of Sublime Merge
so far.

Here's how to create a shortcut to the smerge command (Mac), which I didn't
see documented anywhere:

ln -s "/Applications/Sublime Merge.app/Contents/SharedSupport/bin/smerge"
/usr/local/bin/smerge

~~~
frou_dh
You could cut out the middleman by adding "/Applications/Sublime
Merge.app/Contents/SharedSupport/bin" to your PATH.

~~~
modernerd
Makes sense, thanks!

------
guessmyname
I hope the Homebrew team merges this soon —
[https://github.com/Homebrew/homebrew-
cask/pull/52246](https://github.com/Homebrew/homebrew-cask/pull/52246)

That being said, I already downloaded the DMG archive and have been using it
for the last hour.

------
saagarjha
Very nice. Fast and responsive, unlike most of the Git clients I know. And the
new preferences UI is pretty cool.

A couple questions:

* Can I add custom themes from my Sublime Text installation? How about color schemes?

* Are there plans for plugin support?

* Is there a development channel?

* Have you thought about adding tabs?

* Have you considered showing previews of binary files?

~~~
jskinner
Custom themes are supported (although not in the evaluation version), however
Sublime Text themes will need to be adapted to work in Sublime Merge: there's
quite a bit more to the UI here, and the controls to target are quite
different. Likewise with color schemes, as long as they define the new diff
scopes, color schemes can be used, however none of the existing ones will yet.
Syntax definitions, on the other hand, don't need any changes, and any you
have installed for Sublime Text will be picked up automatically by Sublime
Merge.

Plugin support is on the roadmap, and tabs will be added if that's what the
user feedback asks for.

There's no dev channel yet, but we'll be adding one soon.

~~~
edditoria
Cmd+T/1/2/... for tab will be great and it is one of main consideration for my
workflow. Btw, nice work!

Edit: Attach an image to explain why:
[https://twitter.com/Edditoria/status/1043481201443368960](https://twitter.com/Edditoria/status/1043481201443368960)

------
BitterAmethyst
Hi Jon,

On windows it treats .gitignore patterns as case-sensitive which differs from
how git itself behaves.

~~~
jskinner
Thanks for the report, I'll get it addressed

------
adamlett
For me the one and only GUI for Git, is GitUp:
[https://gitup.co](https://gitup.co).

~~~
klageveen
GitUp is cool, I particularly love the graph view. It has almost no
functionality though. You can't three-way-merge and resolve conflicts in it,
nor browse the file tree for any given commit, nor compare any two commits.

~~~
asqueella
It is the only git client I know that makes polishing the commit history (i.e.
moving commits around, splitting(!), rewording, editing) pleasant. If only it
was available on Windows too...

~~~
explainplease
Have you tried Magit?

------
chrisper
I can't figure out how to configure SSH key or where to find a documentation
for the settings file :(

EDIT: Ok I found out it just takes the SSH key from ~/.ssh

But now it complains about C:\\\Program Files\\\Sublime Merge \\\ssh-askpass-
sublime.exe missing.

~~~
jskinner
Sorry about that - I missed a part in our Windows installer, and ssh-askpass-
sublime.exe isn't being installed. This will be resolved in the next day or
two, in the mean time the portable version has it -
[https://www.sublimemerge.com/download](https://www.sublimemerge.com/download)

------
bunwich
I installed the binaries in linux and it didn't automatically find
sublime_text. This should help if you're trying to use another editor too.

~/.config/sublime-merge/Packages/User/Preferences.sublime-settings

{ "editor_argument_format": "${file}:${line}:${col}", "editor_path":
"/home/<user>/apps/bin/sublime_text" }

or if sublime_text is in your path.

    
    
        "editor_path": "sublime_text"

------
asfaltboy
@jskinner can we run the 3-way merge tool from command line, i.e to set it as
a `git mergetool` ?

~~~
jskinner
It's not exposed via the command line right now

------
micnil
One thing I really miss with diff tools like this, is the ability to review
multiple non-consecutive commits on a single branch, without including all
commits in-between.

Example, lets say I want to review commit A and D: HEAD - A - B - C - D - E...

In most diff/review tools, when I select these commits in the GUI, it would
show me all changes that have been made in commit A, B, C and D. What I
actually want is for the viewer to filter out or atleast distinguish between
the changes made in commits I selected, and the commits that are made in-
between (in this case, B and C). This could of course lead to conflicts where
the commits in-between have modified the same lines of code, but I really
don't think this is a problem in 99% of the time.

This would really help the review workflow in scenarios where branching and
pull request are not always used.

Too often, I have put down the time to review a single commit, only to find
out that the next commit in the same task already fixed the things I noted in
the first. reviewing both of them at the same time would save a lot of time.

------
kristianp
I really couldn't parse the article title: "Sublime Merge - Git, Done
Sublime". I think the correct grammar would be "Sublime Merge - Git, Done
Sublimely".

That aside, I'm about to try it out. Looking forward to a less CPU intensive
git client than Sourcetree. So tired of the constant flickering of the
unstaged files view in Sourcetree.

------
Serow225
Feedback: The first time I switched to the Search view, it was extremely non-
intuitive how to get back to the main view. It took me a little bit to figure
out that the main view is at Navigate>Go To Commit Changes. Maybe this
selection could be moved below the divider so it's a little more obvious that
it's related to the other options in that section? Or make the Search view an
overlay kind of like Blame so there's a visual affordance suggesting what to
click to back out of the view? It took me a good while to figure out that I
could get from Search view back to Commit view by clicking on one of the
Branches in the Location bar (and if you have that hidden then I don't think
there's any GUI-click way to back out of Search view?). Hope this makes sense!

~~~
jskinner
FWIW you can also press the Search icon/key binding again to get out of it, or
use the Back button on the toolbar. I agree that it's not at all obvious from
a visual point view - I'll see what we can do.

~~~
Serow225
I think what made it a little less intuitive is that the very first time I got
to Search using the menu dropdown instead of the Search Icon (at that point I
hadn't even noticed that there was a search icon). If I had switch to the
Search view the first time using the icon, it might have been a little more
obvious to me that I could back out by clicking it again.

------
fyhn
This looks really good. I'm trying it out now, and my main immediate pain
point is that there is too little visual separation between staged and
unstaged files. A horizontal divider or a slight change in background color
could be useful.

------
itsnotvalid
For direct integrations there is already a tool called Sublimerge
([https://www.sublimerge.com/](https://www.sublimerge.com/)) (I am not
affiliated with this team), anyone compared the two? If it's a merge tool is
not integrated directly with the editor, it's not as useful.

On a side note, the competition for this sector of market, for sublime and
such is much tougher, like atom and vscode being "free" to use. The one thing
that hinders definitely, is the amount of third-party packages available.

------
pkamb
I use SourceTree almost _solely_ for its "Split View Staging" feature, where a
line or hunk can be moved between the two states and the entire bit you're
about to commit can be viewed independently of other working copy changes.

Fits my mental model _so well_ , but is apparently considered too complicated
for most other git clients such as GitHub Desktop and Tower.

From the animation, Sublime Merge seems to have Staged/Unstaged areas? Will
definitely try this out, as SourceTree is otherwise bloated, slow, and missing
critical features.

~~~
dabernathy89
I've been pretty happy with SourceTree, despite a few minor annoyances. What
missing features are you thinking of?

~~~
pkamb
The big one for me is deleting multiple branches! I want to Shift-Click to
select a bunch, and then delete them. Doesn't work, despite several UIs in
SourceTree where it should.

~~~
dabernathy89
Ok actually, yeah. That has been one of the biggest pain points for me too.

------
rakibtg
@jskinner We need a built-in console/terminal and better Javascript
intellisense for Sublime text; I hope the Sublime Merge and Sublime Text will
fit together perfectly. All the best.

~~~
frou_dh
This has already set a high bar for a terminal inside Sublime:
[https://github.com/randy3k/Terminus](https://github.com/randy3k/Terminus)

------
jarek83
Whenever I try to do something I get an error: xcrun: error: invalid active
developer path (some path here), missing xcrun at: some other path here

~~~
jskinner
We use the system Git by default on Mac if it's installed, but it sounds like
that's not working for you. If you set your git_binary preference to
"bundled", we'll use the one that comes with Sublime Merge instead.

------
Scottopherson
I've been using Tower but I may switch to this since Tower switched to a
subscription model and I'm a fan of Sublime Text.

~~~
mistersquid
Like sibling commenter, I'm right with you because I am dubious of Tower's
pay-to-play subscription model.

Sublime Merge implements cash cow subscription (paid license works in
perpetuity and grants updates for a specified time period). [0] This is more
acceptable for those concerned about losing access to tools due to an expired
license.

Cash cow licensing provides a good balance between the developer and user
where the developer has strong incentive to actually improve the product and
the user the power to decide if paying for an updated version is worth it.

With pay-to-pay, one's tools are effectively held hostage regardless of the
value of available updates.

[0] [https://medium.com/@drewmccormack/a-cash-cow-is-on-the-
agend...](https://medium.com/@drewmccormack/a-cash-cow-is-on-the-
agenda-138a11995595)

------
CityWanderer
Super excited by a three-way merge tool, it's the thing I find most lacking in
Atom and one of the great things about IntelliJ.

~~~
o_____________o
My favorite for clarity was always Meld:
[http://meldmerge.org/](http://meldmerge.org/)

------
keithnz
First impressions, it's quite nice, super snappy as promised.

I normally use SmartGit, which is also quite snappy, though is a bit clumsy
with its windows. But I think SmartGit still has quite a bit of an edge when
it comes to presenting diffs and the branching history at the moment.

I'll give it a go for a bit though and see if it grows on me

------
anacleto
Looks very nice. Congrats on launching.

Quite timely VS Code released this week:
[https://marketplace.visualstudio.com/items?itemName=GitHub.v...](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-
pull-request-github&WT.mc_id=social-twitter3-sdras)

~~~
softinio
This looks great. would love to see it in other editors.

------
ebgraham
How do I filter the visual branch view to only display the commits from the
branch I've selected or highlighted? Fork has a filter icon for this, and
Tower does this by default (preferred).

My repo at work has a lot of branches and contributors so I really only want
to see a linear history of my branch.

------
softinio
First impressions I really like it. Excited to do my next merge conflict with
it.

Well done Jon and Sublime team.

------
hex20
Wow this looks awesome. Maybe I can finally stop using PhpStorm for git and
nothing else.

------
petey283
Already one of the best git clients out there. The snappy feel makes it a joy
to go back in time and track the changes and understand more about the entire
codebase.

To me, this is an underrated element required in understanding the lifespan of
a codebase.

------
davidlartey
Hello Jon, congratulations on Sublime Merge. ST has been my preferred editor
for as long as I can remember.

I'm trying out Sublime Merge, but it seems my git hooks aren't been called. Am
I the only one experiencing this? A feature or a bug?

~~~
jskinner
Git hooks will be run, as all mutating actions go through git itself, however
pre-commit hooks may not work as you expect with this setup. When you commit
via Sublime Merge, it's doing a git commit -m "...", which works differently
with git hooks than a plain git commit.

------
b3n
How does this compare to Magit?

------
amirmasoudabdol
Thanks for this really. I never understoon any of the Git Clients and I never
has been interested to learning or using them. Sublime Merge is different
though. It has enough UI, and you still feel in control. It makes sense.

------
frou_dh
Bet there was some gnashing about how to name this. Sublime Merge makes it
sound like it's in the established genre of general text diffing/merging
application, rather than a git GUI.

Regardless, personally very likely to use this!

------
vicarrion
I would definitely love to have tabs for multiple repositories. Source tree on
windows has this which is great for managing lots of different projects, but
infuriatingly on osx sourcetree has one window for each project.

~~~
asqueella
Ctrl+Shift+O to switch repositories mostly works for me.

If only SM remembered the exact view that was open in the repository you re-
open and made the name of the currently open repo more prominent - I would be
happy to give up the visual tabs.

------
wingerlang
Another piece of feedback

\- When I stage my lines, it is not obvious where the actual staging is as it
just seems to disappear. In SourceTree there is a very clear 'split view'
between the change and staged files.

------
looperhacks
This looks very interesting! But I don't know that the "Review Better" video
is trying to show, maybe the playback is buggy, because all I can see is that
the code panel is resized?

------
nik736
Since using Atom for years now I am not up2date in regards to Sublime Text.
Does it have a Git integration, or is this the tool that should be used
instead of a editor integration?

~~~
dsego
No built-in integration afaik. There are plugins to issue git commands and see
line diffs in the gutter.

------
lordelph
One possible issue, I've got a file showing in "Untracked Files" which is not
shown when do git status

That aside, I like this a lot, and normally I only use the git command line.

~~~
sleepyhead
I had a bunch of files showing as untracked. Looks like Sublime Merge is not
ignoring files listed in the global .gitignore.

------
shusson
Looks nice but what I really want is a native client that works with github
PRs. I know this was probably a design decision to remain a git client not a
github one but still.

~~~
mattigames
It should have an option to install a Github-plugin for integration, maybe a
bitbucket and gitlab ones too if feasible.

------
owaislone
Doesn't scale on HiDPI on Linux. Increasing font size only makes a part of the
app readable and there is no zoom in/zoom out functionality that I could find.
:(

~~~
jskinner
We pick up the default GTK dpi settings, and if that's not suitable, you can
use the dpi_scale setting to set it specifically (you'll have to restart
Sublime Merge after changing it though).

I run Sublime Merge on high dpi screen under Linux every day FWIW.

------
andig
Sublime Merge looks a lot like SourceTree from the approach it takes. Must say
that I'm happy with SourceTree after having had a slow start...

------
commanderjroc
Hey Jon, Sublime Team.

Is there a way to make the "Staged Files" view appear at the top of the tool?
Preferably above "Working Directory" ?

~~~
jskinner
It's not configurable, but you can click on the "Working Directory" head to
collapse all the files there, which will make seeing the Staged changes easier

------
softinio
Jon,

I am excited about this and have downloaded it.

This product aside I really like sublime text so hope you have a positive
roadmap in mind for that too.

------
tsumnia
I've only gotten to play with it for a short while, but does it handle GitHub
Enterprise repos as well?

------
cpburns2009
Is it possible to use this outside of the context of Git? Such as diffing 2
different files or directories?

------
edgarvaldes
>You can also hover over most buttons to see which git command it will run.

I really like this feature.

------
KaoruAoiShiho
How does it compare to Fork? My currently favorite Git client.

~~~
softinio
Never heard of it before. It looks good. Is it really free?

~~~
KaoruAoiShiho
I certainly never paid nor have I been asked to pay. It works great for me.
/shrugs

------
aogl
Beautiful as expected Jon, thanks.

Your UI kit feels really nice, good job.

------
ngrilly
Is it possible to amend the last commit in Sublime Merge?

~~~
indentit
yes, there is a (dropdown) button on the right of the commit button

------
Jonnax
Looking forward to trying this out.

Sublime editor is incredibly fast.

------
7kmph
Finally, a decent git GUI for Linux. More please.

------
zorkw4rg
Is there anything worse than having to develop with people who can only use
Git via a UI? It pretty much by definition means they have zero grasp on the
fundamental concepts of Git.

------
_hao
How does it compare against GitKraken?

~~~
saagarjha
Well, for one, GitKraken is Electron while the Sublime tools are native C++.
So I’d expect faster performance.

~~~
_hao
I remember something about Sublime being written in Python? Also I'm more
curious about the feature set. The performance argument can be made again for
Sublime vs VSCode. Doesn't matter to me because I've switched from Sublime to
VSCode a long time ago.

I care about features the most, not if the app will open in 0.5s or 3s

~~~
guessmyname
> _I remember something about Sublime being written in Python?_

SublimeText is written in C++ with the "Skia Graphics Library" for the UI.

It exposes an Python API to extend the functionality via 3rd-party packages.

> _I care about features the most, not if the app will open in 0.5s or 3s_

Opening is not the only performance gain you will get for using a software
written with native libraries.

You get faster overall operations in comparison with a program like GitKraken
that needs to allocate several chunks of memory to execute simple tasks. It
always baffles me when people use the startup time of a program as a mean to
explain why they prefer using it over others. Electron-based applications are
—overall— not performant. It's impossible to get good performance out of
Electron because it sits on top of a web browser that is known to hug
significant amount of memory from your entire system.

------
daveheq
"Evaluate for free" \- dead

------
harwoodjp
Is there a way to diff 2 branches?

~~~
FichteFoll
You can ctrl+click to select two commits (from different branches) which are
then diffed against each other. You cannot select branches in the sidebar
directly like this, however.

------
pdeva1
it would be nice to put a label to mark the 'HEAD' commit

------
kiechu
+1 for Stage Lines

------
atombender
This looks pretty good! Maybe this is a good time to air some complaints about
all of these Git UIs.

The approach of every single Git app that I've encountered is to present the
_history_ as the entry point to working with a project. Maybe I'm a weirdo,
but that's not how I primarily work with git, and while having such a history
view is critical, I'd like a tool that actually doesn't do that as its main
mode of operation.

Instead, I'd like a tool that has a _file-oriented_ approach. Which is to say
that it should show uncommitted changes as a file tree browser that either
shows the entire tree (with icons, colours or whatever to indicate what is
changed) or the subset which has changed. This should be a tree browser where
you can click on a single file to view its diff.

The other thing that these Git apps do badly is diff display. Sublime Merge
can be forgiven for doing a simple colourized vertical view in its first
public release, but other tools can't. The best diff browser I've seen is
Eclipse (which I haven't used in a decade, but still miss at times), which
coincidentally implements the same UI metaphor. Take a look at this
screenshot:

[https://i.ytimg.com/vi/-Jdu__jEnFw/maxresdefault.jpg](https://i.ytimg.com/vi/-Jdu__jEnFw/maxresdefault.jpg)

Note the left pane, which is the file tree. It's only showing changes.

Note the top right panel, which shows a _semantic_ change tree of your file.
If Eclipse understands the structure of your file, then it can show the
changes by class, method and so on. It's really nice.

Thirdly, note the diff view, which is a side-by-side view which is visually
_really_ good at correlating blocks of changes. Many side-by-side differs will
keep the two views vertically synchronized by inserting blank space. Not
Eclipse! There's no blank space; instead, Eclipse uses the Bezier lines to
indicate which block on the left side corresponds to the block on the right
side, and these lines are updated as you scroll. Here's a video from someone
using the UI:

[https://youtu.be/KfeqnernMmE?t=807](https://youtu.be/KfeqnernMmE?t=807)

Eclipse isn't/wasn't a beautiful app, but it _nails_ the diff view.

The important thing is that you don't get the _entire_ project diff in a
single view, which is what Sublime Merge does if you go into either the
"unstaged files" panel or a commit, but you get a concise file overview, and
only see the diff for one file at a time. Doing it the way I describe above
doesn't _preclude_ being able to see the diff for a whole tree in a single
pane, but it shouldn't be the default.

~~~
PretzelFisch
I know this is for windows only but you might check out
[https://tortoisegit.org/](https://tortoisegit.org/) it has shell integration
that lets you see what each files status. I think this is what your
describing.

~~~
atombender
I don't use Windows, but from what I can see from screenshots, TortoiseGit
doesn't do anything I described except show file status, which most IDEs (e.g.
Visual Studio Code) already do.

------
davman
Looks great Jon, happy you are expanding the Sublime family.

Can I suggest Sublime Terminal as a possible addition? I'd happily pay for a
decent terminal experience on Windows and with your cross platform toolkit it
looks like you could deliver that. ConEmu et al just don't do it for me.

~~~
FichteFoll
I would keep an eye out on alacritty. It's a blazingly fast gpu-accelerared
terminal emulator for Unix (currently) written in rust. According to their
0.2.0 announcement post, where they added scrollback support, Windows is next
on the Roadmap.

~~~
davman
Thanks, I think I'd seen this one in the past but had ruled it out due to no
Windows support (at the time).

Edit: Ah, also "doesn't have features such as tabs" ruled it out for me.

~~~
calcifer
> doesn't have features such as tabs

The _lack_ of tabs is a feature for some of us. After all, why have tabs when
you can have tmux? :)

~~~
data_scientist
I needs to connects to multiple servers at the same time, and tmux sessions
shouldn't be stacked. How can I do that without tabs?

~~~
jrowley
If you have 2 tmux servers with different hotkeys you can totally nest them
safely. I have a different hotkey prefix for my machine and then leave the
default for servers. Works great!

------
vamshi4001
Awesome! This would be handy and can avoid the heavy sourcetree (atleast on
windows!)

------
sjapkee
99$ for a git client. Nice joke.

~~~
darkstar999
You are a software developer who doesn't respect the value of good software?

~~~
sjapkee
It's not worth $99. Maybe $5, maximum $10. But not $99.

------
vitosans
I wanted to like this, downloaded opened and tried to change to the dark theme
(you know same as my good old terminal) and you have to pay for it. rm -rf
back to vi

------
chrisper
Is this made by the same team as sublime text?

~~~
zmix
How could you not see it ? ;-)

~~~
chrisper
It would not be the first time someone making a Show HN with a similar name to
some other popular app / service.

------
Aldo_MX
No dark theme in the tryout version, that's evil. I love Sublime Text and I
believe that Sublime Merge will surely do an exceptional job, but I love my
eyes even more, so I'll pass this time.

~~~
ealhad
I think the point of a tryout version is to make you buy the software.

~~~
derefr
The point of a tryout version is to _allow you to try_ the software, in order
to make you buy the software.

For some people (e.g. people who have delayed sleep-phase syndrome), a dark
theme is essentially an _accessibility_ requirement. They won't be able to
_try_ the software if it doesn't have it.

Imagine a piece of software where the demo version doesn't have screen-reader
support. Would that make sense? How do you expect a blind person demo the
software?

~~~
ealhad
Well, I haven't tried the software, and won't, since I all my needs are
already met and I tend to avoid proprietary software anyway. Nevertheless, I
think this is a clever strategy from Jon Skinner and his team.

------
isatty2
$99 for this?

When there's git cli, magit, fugitive (which you should be using if you're
really really in need of a GUI (and which is also better than whatever the
demo is showing))?

I'm all for paying for your tooling if you can afford it but overcharging
much?

~~~
FraaJad
It is essentially free unless you want the ability to customize the colours.
This is even more generous than SublimeText. Not even nagging popups.

~~~
jimyl
Nope, there are popups just like in ST. But good people will purchase a
license, so that's not a problem, right? ;)

