Edit: there's also the announcement blog post, at https://www.sublimetext.com/blog/articles/sublime-merge
Edit: there's also the announcement blog post, at https://www.sublimetext.com/blog/articles/sublime-merge
Great job on Sublime Merge.
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?
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.
It basically operates on your local Maildir which you can keep in sync with your mail server by using a tool like OfflineIMAP[1].
I am considering creation of EMail client, as a next step of my https://notes.sciter.com.
The Sciter Notes resembles email client UI pretty close, so UI portion is feasible in months time frame.
At the mean time I am doing html-notepad that has also close UI: https://sciter.com/html-notepad-new-kid-in-the-block/
If someone knows IMAP/POP/SMTP stuff and want to join or invest into the project - please let me know.
I believe it is finally the time to make convenient email client.
I'm going to assume you meant you could start in a month, rather than be completed in a month, because otherwise I'd like to save you some pain!
I wrote a mail client, two actual, focussed upon the console. (Think "scriptable mutt".) Writing a mail-client is hard. Partly due to the sheer amount of bogus mails you'll get, and partly due to people having very firm beliefs about what they want.
The user-interface is the easy part. More important is to design how you're going to work - Originally I allowed something similar to google's tagging, so you could "open a folder" which contained mail from multiple Maildir collections. It was not a success.
Using a database to store your state is a cheap alternative, but risks issues getting outdated if you ever interact with the mail outside your program. You either have to force an "indexing" step - like notmuch does - or scan the filesystem tree. Neither of those approaches are great, for obvious reasons.
(Also God help you if you want to work with remote IMAP servers. Standards? What are they!)
I'm not exactly an expert on imap/pop/smtp, but I'd potentially be interested in helping depending on what your plans are for it. Honestly I'd be happy to help with any new privacy-focused e-mail client that has a convenient ui.
Been messing with it for a few minutes and it is awesome. Been looking for a good Sublime-like git tool for years.
Does it offer any integration with Sublime itself (e.g. if someone has a license for both)?
Right now, Sublime Merge will pickup installed Sublime Text packages (e.g., for syntax highlighting), and will also find Sublime Text when you choose Open in Editor from within Merge (this can be customised to something else though, of course).
1. If Sublime Text could detect when a directory is a git root directory, and present a button to "open in sublime merge" (my sublime projects often span multiple git repos, so detection on a folder by folder basis would be key). The ability to configure this to use another git client would make sense, although personally Sublime Merge looks fantastic.
2. A create commit action accessible from the Command-Shift-P dialog. I imagine Sublime Merge launches pretty quickly, so this would be pretty nice as I wouldn't have to keep it open: I could just let Sublime Text manage my "workspace". I currently commit using the terminal (+ Micro Editor), but this could be even better. Note: I notice that there is no "Stage All" button. That would be useful...
Aside: IMO managing workspaces/projects is a weakness of Sublime Text atm. I have tendency to move directories around which makes managing projects a bit awkward. I've resorted to opening sublime from the terminal with `cd /path/to/project/; subl .`. Not sure I have any specific suggestions for improvements, but that welcome screen in Sublime Merge sure looks nice...
2. Merge tool integration for file merging/diffing (e.g. if two files are selected in the sidebar, you could right-click > diff files, and perhaps an action on an open file could be "diff file with..."). There are plugins for Sublime Text that try to do this with two text panes, but they don't work especially well. IMO there aren't very many good diff tools, so a lightweight one that works cross-platform could be a good market to target.
Thank you for Sublime Text. I've used it almost every day for work for the last 5 years and it's definitely made my life much easier!
With regards to Stage All, we don't have a button, but we do have a key binding: Command+Shift+A to stage all Modified files, and then press it a second time to stage all Untracked files, if desired.
If it's possible, I'd also like some auto-sync mode (e.g. when a folder with a git repo is opened/active in sublime text, have sublime merge automatically switch to that).
Eventually, perhaps Merge can just be an extra tab (or something similar), inside ST, for people with both licenses.
Pngcrush is rather limiting though. I could compress the PNG textures by ~8% more with optimage [2] (I'm the author).
And for newer browsers, serving the textures as brotli-compressed BMPs would actually make them >30% smaller (probably more with filtered but uncompressed PNGs).
[1] http://www.sublimetext.com/~jps/animated_gifs_the_hard_way.h...
Also, most of those savings came from near-optimal Deflate compression.
I just opened this on my repo and there's 3 immediate things I noticed:
1. The commit message UI sprouts a subtle 72 column marker when I put text in it, which is nice. But what it's missing is the even more subtle 50 column marker that I expect for the first line. Standard git commit style says the first line should try to be shorter than 50 chars because it's frequently shown as a summary and you don't want it truncated. Other tools like GitUp and GitX handle this nicely.
2. The diff view doesn't seem to have syntax highlighting for .swift files. I see highlighting for Tcl and Obj-C so I can confirm it's highlighting in general, but nothing for Swift. This is a rather surprising omission.
3. I can't actually commit using this app at all, because it seems to think I have no configured user details. Trying to commit pops up a dialog for me to set it either globally or locally. But I do already have it configured globally. In fact, I have it configured globally twice. I have it first in ~/.git/config, and then I also have it overridden in ~/.git/config.local, and my ~/.git/config has an [include] section that specifies `path = config.local`. I'm wondering if Sublime Merge is getting confused by that include and throwing away my entire global config?
1. You can setup two rulers via adding "rulers": [50, 72] to Commit Message.sublime-settings, which is available via the Preferences menu.
2. We don't have Swift syntax highlighting out of the box, but if you have it installed for Sublime Text, we'll pick it up
3. Thanks for the report, I'll investigate
- It doesn't seem to be picking up my global .gitignore file. I see untracked changes of something that should be ignored. It doesn't appear on any other git client nor `git status`.
- Please add regex to the search :)
EDIT - read the blog post and idly wondering if you would ever consider licensing Sublime's UI engine?
- Block a small threshold of vertical scrolling when scrolling horizontally on a trackpad to stop the current line I‘m tracking wavering up and down as I scroll.
- Highlight whether there are further changes on the same line in some way (e.g. Git Fork starts a highlight at the first change and stops it at the last).
- Allow some sort of merge comparison with word wrapping turned on (I‘m yet to find a client that does this).
If you can get the first, and one of the second or third in, then I‘ll happily pick up a Sublime Merge licence to go with my Sublime Text one. I do understand that this isn‘t a typical merge environment, but I’m editing ebooks with long paragraphs.
https://www.kaleidoscopeapp.com/
You can map git difftool to it to launch it from the command line.
Trying to migrate away using spacemacs but it's not going well
Question about Sublime Merge, is it possible to use smerge as a diff tool without git?
Seems like it is not possible right now. Curious, if you are planning to add this in the future.
I have a question, or rather a request. As a long term Sublime Text user I like to hide the menu bar which you can't seem to do in Sublime Merge. Would you consider adding this in a future release?
Not a huge problem because there's the cool branch list/switcher at top center, so maybe will find myself working with the Location Bar hidden mostly.
In demoing Sublime Merge — if I move branches that use a different submodule or different submodule version, I get uncommitted changes, either a folder where the submodule was or commit change on submodule.
Other than this it looks great!
I'd like to revisit this, as the hidpi experience really is a lot better with GTK3.
SublimeText uses "Skia Graphics Library" to draw the entire user interface.
However, you still need to write Cocoa for macOS components and GTK for Linux.
Many cross-platform programs do the same, developers use a high-level library to render the overall interface, but underneath they are still using the native graphics libraries offered by the operating system where the program is running in, in this example, macOS and Linux. You can still do a lot with Skia alone, but eventually you'll find yourself writing some platform-specific custom code.
I have a couple questions: - Do you have a plan to add git flow integration? And what about interactive rebases? - Please, please, allow free users to use dark theme as well! Sublime Text license was really great, why add such a small change?
Bonus if the other strings contain placeholders e.g. "Interactive #{rebase|ucfirst}" to reduce the changes.
Bravo Jon, SourceTree has been sucking more and more recently, and as a Windows & Mac user I'm looking forward to trying this out.
I think it's actually good of the developers not to impose DRM, but it seems that confused you into thinking this is free software?
What does that mean? Isn't git flow just a branching model?
git flow init = git init; git branch develop; git checkout develop; ```
``` git flow feature start add login page = git branch develop feature/add-login-page; git checkout feature/add-login-page; ```
``` git flow feature finish = git checkout develop; git merge develop feature/add-login-page; git branch -d feature/add-login-page; ```
Just a sidenote, good on you for keeping SublimeText fast and optimized. There are way too many systems out there that have moved to the "put every single application ever inside a self-contained chrome". I usually recommend Sublime before I recommend Atom because of this.
Given there's a custom Git library in use under the hood, I don't suppose there'll be Mercurial support in the future?
Sublime Merge is looking very responsive and cleanly organized. Great job!
Magit does this in Emacs, especially when used with Helm.
But PS, you have a broken link on the /download page
<a href="/https://www.sublimehq.com/store">purchased</a>
Of course that leading slash will break things -- you could drop the whole `/https:` too.For example, when you stage a file in Sublime Merge, we internally predict the resulting change to the repository, so the changes are reflected in the UI immediately, while the operation is actually happening asynchronously. In contrast, other Git clients can take seconds before being able to stage a second file.
There's just one thing I found really annoying and it's that the window doesn't remember where I snap it to (Windows). Every time I open it I have to snap it to half my display again. GitKraken (and as of a month ago, VS Code) remember where they belong.
Is there a way to delete a local tracking branch and its corresponding branch on the origin in one operation? I often use this when cleaning up old branches that have been merged into the main development lines.
Thanks for the great work! No single text editor in my life i love as much as sublime!
Go to Preferences > Edit Settings, then add a new setting to the dict: `"dpi_scale": 2.0` (or whatever float value works for you)
I think you need to restart Sublime Merge then.
We do have some basics in there right now, you can directly edit commit messages and squash commits without any fuss. Full interactive rebase support will be coming later.
I'd like to add a custom command for pulling a specified branch from a remote, and given the extensibility of Sublime Text, I think there's a way to do that, but I'm not yet sure how to find it all?
Also, count me as a vote for a high performance Sublime Terminal. I'd pay for that in a heartbeat.
One feature that's missing from most of the git clients I use is the ability to do "branch1...branch2" diffs, ie, diff two branches from a common starting point but only show the new changes in branch2. Do you think this will be possible in Sublime Merge at some point?
Will there be a home-brew cask for us on MacOS, by any chance?
I'm hoping you could somewhat detail your custom UI toolkit used in these apps as they are consistently fast and uniform across platforms?
Is there any roadmap somewhere so we know what to expect in the future?
If your dpi scale isn't being detected correctly on Linux, you can set it explicitly via the dpi_scale setting (there are instructions elsewhere in this thread)