
Sublime Merge 2 - robin_reala
https://www.sublimetext.com/blog/articles/sublime-merge-2-announcement
======
eknkc
Sublime Merge seems to want to run as a git client, fully controling the
behavior.

I wanted to use it as a difftool as I already am fine with the git cli. I
don't think it can do it? Maybe I could not find the documentation.

The thing is, I used
[https://www.kaleidoscopeapp.com/](https://www.kaleidoscopeapp.com/) on mac,
which is just pure joy. Recently I'm trying to migrate into Windows with WSL
and a decent graphical diff / merge tool is my pain point.

Any suggestions (or a way to use SM via CLI)?

~~~
guitarbill
I'm in the same boat as you. There was something about integrating SM, but I
couldn't get it to work. There are two decent open source choices IMO.

Meld Merge ([https://meldmerge.org/](https://meldmerge.org/)) is my favourite,
due to being cross-platform. Works well for merging, and `git difftool -d`.
Although I cannot get it to run decently on macOS nowadays :(

WinMerge ([https://winmerge.org/](https://winmerge.org/)) is also good, but
Windows only.

~~~
geoelectric
The custom Mac builds the Meld site points you at work ok for me on Catalina.
The biggest issue is there’s no proper command line utility on Mac for some
reason, but the person maintaining the unofficial Mac fork documents an
incantation that’ll work for git difftool, using open and Meld.app.

------
thiht
The UIs developed by Sublime HQ are incredible. I so wish they would develop a
database client with this level of polish.

~~~
hnarn
Speaking of good database clients, I actually got my favorite from HN:
[https://dbeaver.io/](https://dbeaver.io/) \-- it's not "sexy" but it's the
best one I've used.

~~~
seaghost
Tableplus is so much better.

~~~
hnarn
Perhaps, but DBeaver is under the Apache license and TablePlus is from what I
can tell proprietary software.

------
jameslk
I wish there was UI that I could just point at a repository locally and get a
GitHub-like view of the repository, where I can browse all the files, see
their last commit date/message, click on them, and see the contents as well as
history and git blame. I keep hoping someone will build a GitHub UI without
having to use GitHub but for some reason every one of these Git UIs focus on
just showing me the commit history and diffs. This is useful too but it's not
really much different from all the other apps that do this.

~~~
coldtea
>point it at a repository locally and get a GitHub-like view of the
repository, where I can browse all the files, see their last commit
date/message, click on them, and see the contents as well as history and git
blame

You can do pretty much all of these things with Sublime Merge 2, so?

~~~
apocalyptic0n3
I don't think so. At first glance, the file browser is only showing files that
were part of the commit selected. He wants to have a full file explorer like
if you opened a Github repo and started clicking into directories. Unless
there's an option to enable that somewhere that I'm missing.

~~~
asgeir
When you have a specific commit selected you can see in the Files tab at the
bottom two buttons Changes and Tree. If you select Tree it will show you the
tree for that commit. From there you can get the blame log or history for
individual files.

~~~
apocalyptic0n3
There it is. I stand corrected. Thanks for pointing that out. Merge is much
quicker to navigate to specific points in time than GitHub and GitLab are, so
this should be useful.

------
pizza234
This actually makes me wonder which the company's plans are.

Sublime Text's changelog
([https://www.sublimetext.com/3](https://www.sublimetext.com/3)) depicts the
product as essentially abandoned, which matches my experience.

On the other hand, the page linked says that the team is expanding.

I'm puzzled.

~~~
wbond
We are actively working on Sublime Text as I type here, and we've got a lot of
good stuff coming!

Sublime Merge and Sublime Text share a bunch of low-level code, various
aspects like the syntax definitions and engine, the UI library, rendering
backends, and a whole bunch more. The higher-level UI components and the exact
way they are put together are different, but there is a lot shared.

All of that is to say that we've been busy at work on Sublime Text and have a
whole bunch of new features, improvements and bugs fixes that are working
their way towards a release.

Some of them are present in Sublime Merge since they are part of the shared
code base, but a whole bunch aren't present in Merge since they are the sort
of thing you deal with with editing and navigating source code, and not when
dealing with version control.

We now have six engineers working at Sublime HQ between the Sublime Text and
Sublime Merge products. So we have been growing, and we are still very much
dedicated to both Sublime Text, and Sublime Merge.

~~~
terpimost
What do you use guys to build such an awesome cross platform app? it is
native, right?

~~~
wbond
It all depends on what you mean by "native." :-)

Our products are implemented in C++, and we utilize platform-specific APIs to
integrate with the OS in the ways that make the most sense.

In terms of the UI, however, we have a custom library with our own controls,
control structure, event handling, rendering, etc. We only use native UI for
menus, file pickers and title bars. We do, however, use OS-provided font
layout and rendering APIs so that text looks like other apps on your OS.

By implementing only what we need, using a language with low overhead, and
making a point of writing code that is efficient, we can generally accomplish
excellent performance. This, combined with trying to following platform
conventions and taking the time to integrate with the OS APIs, provides a UI
that feels snappy and generally doesn't look out-of-place, such as most Java
UIs.

------
hprotagonist
I was mildly impressed by smerge when it came out, and it looks a lot better
now!

I have a different porcelain which I prefer, but if i wasn't an emacs person
(and thus, a magit person), i'd be willing to pay for this just like i once
bought sublime text.

Nice to see a native app keep chugging along.

------
mastermojo
Downloaded and played with this a little, and I like it so far. Theres a
button in SourceTree that I like to change the lines of context
1/3/6/12/25/50/100 etc. I find myself occasionally changing this on a commit
level. Is there a quick way to do this in Sublime Merge?

~~~
mos_basik
Not quite what you're asking for, but you can drag the top/bottom borders of a
given hunk to expose more of the context on a case-by-case basis.

~~~
mastermojo
Thanks, I was wondering if there was a way to change the default.

------
drey08
Does it support three-way merge? I still use BeyondCompare for this, and it's
a killer feature whenever I have to rebase my PR against the latest upstream
HEAD. Can't live without it, and I consider it an essential feature for a paid
product.

~~~
ben-schaaf
Yes it does. It gets used for resolving merge conflicts, but it can also be
used as a separate tool:
[https://www.sublimemerge.com/docs/command_line](https://www.sublimemerge.com/docs/command_line)

------
Offpics
Why would I use sublime merge over vscode with extensions?

~~~
NikolaeVarius
Reversed the question. Why should I move to vscode when sublime exists

~~~
pizza234
As I wrote in another comment, ST's development essentially halted more than
an year ago.

My last straw has been having to use a specialized plugin to workaround a bug
that hasn't been fixed in years.

There may be platform reasons not use VSC - I don't argue about those - but as
things are, VSC is an immensely more polished product.

~~~
Nicksil
>As I wrote in another comment, ST's development essentially halted more than
an year ago.

Sublime Text development is not halted. What has given you the idea that it
halted more than a year ago?

>My last straw was being forced to use a plugin to fix a bug that hasn't been
fixed in years.

What's the bug?

~~~
pizza234
> Sublime Text development is not halted. What has given you the idea that it
> halted more than a year ago?

(As I wrote in another comment) The typical information channels (blog,
twitter, development builds page) don't say anything.

I take the point that one can gather from the forum, the fact that there is
ongoing development, but I think it's reasonable to be at least perplexed when
a company is not active on the standard information channels, while at the
same time expanding the team on a different product.

> What's the bug?

Files navigation panel goes out of whack, while switching between the editor
and it with the keyboard; any keyboard-only user will experience it (although
ST can't be used keyboard only, due to the inability to open a popup in the
file panel via keyboard).

Somebody opened a bug open a long time ago, and somebody else wrote a snippet
(a plugin, I suppose) to use as workaround.

------
thewisenerd
Does anybody know if this, or can suggest a GUI client that supports "split-
diff" similar to what GitHub offers?

I tried a bunch of clients, including "Sublime Merge", but none of them seem
to have what to me, seems like a better way of looking at diffs where the
changes are interspersed across an entire function.

... maybe I'm not looking for the right "name"? any pointers in that direction
would help as well.

~~~
wbond
In Sublime Merge under Preferences > Layout you can change the Diff Layout. By
default we use Auto, which switches between Inline (unified) and Side-by-side
(split) based on how large the window is. You can pin it to a specific size if
you prefer that style.

~~~
thewisenerd
ah! how did I miss this option! thanks :)

------
_jordan
What UI library does this use? Looks great. Is it a web technology?

~~~
snazz
It's a custom, proprietary UI library built on Skia. It would be really cool
if they released it as open-source, but it's also their competitive advantage.

~~~
wbond
Just to clarify, we use very little of Skia these days - we draw some basic
primitives with it (i.e. rounded rectangles, pngs drawn to a rect) in software
rendering mode only. With the new GPU renderer we don't use Skia at all.

~~~
snazz
Huh! That's really cool. I'm glad that you invested in the UI toolkit---that
distinguishes Sublime products from other text editors and Git GUIs by a wide
margin.

------
naringas
I really like being able to selectively hide branches, it's a cool git history
exploration tool

are there other git gui's which can do that? (surely there are, but I don't
know them)

