Version 17.1

Major Improvements in SmartGit 17.1

Features

Dark Theme

SmartGit 17.1 dark theme with operating system independent colors and comprehensive UI coverage
SmartGit supports a dark theme with operating system independent colors, which was our #1 requested feature  on smartgit.userecho.com .

Changes view: Optional Compact Display

SmartGit 17.1 compact changes view hiding unchanged lines for focused code review
For the Changes views an option allows to hide unchanged lines, which was requested on smartgit.userecho.com . Currently, this mode causes that no syntax coloring nor editing is possible.

Improved Line-Endings Support

SmartGit 17.1 line-ending change visualization in changes view with optional display
The Changes view can optionally show line-ending changes (requested at smartgit.userecho.com ).

Warning for mixed line-endings

SmartGit 17.1 mixed line-endings warning dialog preventing accidental file corruption
SmartGit makes accidentally overwriting text files with mixed (inconsistent) line-endings harder by showing a warning dialog for the built-in File Compare, Index Editor and Conflict Solver (which only show the file content without line-endings).

Interactive Rebase

SmartGit 17.1 batch interactive rebase with conflict resolution and Modify/Split Commit command

Former SmartGit versions already allowed to reorder or squash commits in the Journal view immediately. But if you had to do multiple changes at once, this was not perfectly handy.

Now SmartGit allows to batch process such interactive rebase operations which also has the advantage of being able to resolve conflicts (requested at smartgit.userecho.com ).

The interactive rebase option to edit a commit has been made available as a dedicated Modify or Split Commit command.

Stash Improvements

SmartGit 17.1 enhanced stash functionality with selective file stashing and rename capabilities

The stash command has been improved:

  • support for stashing just the selected files (requested at smartgit.userecho.com ),
  • optionally keep the index or the whole working copy (making the stash just a backup of the modified files),
  • the toolbar buttons has popup options for supporting a quick stash without dialog,
  • stashes can be renamed.

The option to include untracked files has been moved to the preferences.

Conflict Solver: Take Both

SmartGit 17.1 conflict solver with Take Both option for comprehensive merge resolution
The Conflict Solver now offers commands to take changes from both sides (requested at smartgit.userecho.com ).

Refresh Performance Improvements

The refresh performance (especially for large repositories) has been improved by roughly 50%, making SmartGit more responsive when initially scanning a repository and when invoking fast Git operations, like Stage (requested at smartgit.userecho.com ).

DeepGit Integration

SmartGit 17.1 integrated DeepGit for advanced code history investigation and blame analysis
DeepGit  is a combined Blame/Log tool which helps to investigate the history of source code. It’s now bundled with SmartGit and can be invoked using Query|Investigate.

Locate Gitignore Files

SmartGit 17.1 gitignore file location for understanding ignore rules and file influence
If you want to know why a certain ignored file is ignored or what gitignore files have influence to the selected file or repository, you now can reveal the corresponding gitignore files easily.

Improved Find, Find & Replace

SmartGit 17.1 unified Find/Replace dialog with regex support and intuitive navigation
The Find and Find & Replace dialogs have been unified being the Find dialog a part of the Find & Replace dialog. The Find feature part now allows to use regular expression and the Find Previous and Find Next operations have been made more intuitive to use.

Ignore Tracked Files

SmartGit 17.1 ignore command extension for tracked files with automatic removal and ignore
The Ignore command has been extended to also support tracked files by first removing and then ignoring them.

Rename Detection

SmartGit 17.1 working tree rename detection showing file relationships in changes view
Files renamed in the working tree (either missing and untracked, or removed and added) can be detected. The Changes view shows the file names and the file content from the correct file (Index and HEAD).

Repository Settings

SmartGit 17.1 redesigned repository settings with effective Git config display and submodule options
The dialog has been reworked for easier display and editing of the effective Git config values. A new option for what to do when pushing submodules has been added.

Output Popup

SmartGit 17.1 space-saving output popup with command success/failure notifications SmartGit 17.1 detailed command output dialog with ESC dismissal and auto-hiding notifications

To not waste more screen space than necessary, you now have the option of hiding the Output view and still being notified about the command success or failure.

If a command fails or produces some warning messages, you will see the exact invoked commands and their output in a dialog, easily disposable with ESC.

In case the command succeeded or you have opted for not seeing certain warning messages you may see instead an automatically-hiding notification. Certain commands, e.g. Stage, will not show any dialog at all. To see the full output again, use Window | Output.

More Ref-Sorting Options

SmartGit 17.1 intelligent ref sorting with numerical awareness for version-based branch naming
Usually, tags or branch names with a higher number are more important than those with a lower number. Hence, a new sorting mode has been added to take account of that.

Easier Tagging

SmartGit 17.1 simplified tagging with Ctrl+Space completion popup for existing tag names
Creating a tag is easier by taking the name of an existing tag and changing it slightly, but searching in long tag lists is not necessary and more because of the Ctrl+Space completion popup.

Journal: Show More Commits

SmartGit 17.1 journal with multiple commit display options for expanded history viewing SmartGit 17.1 journal collapsed commits view for efficient large history navigation
There are now 2 ways to show more commits.

Quicker Access to Commands

SmartGit 17.1 toolbar popup menus with quick command access including confirmation-free fetch SmartGit 17.1 combined Log toolbar button with repository and selection-based log options

A few toolbar buttons got (click and hold) popup menus for quicker access to certain commands, e.g. a quick way to fetch commits without a confirmation dialog.

The new combined Log toolbar button opens the repository log, and has a popup to show the log for the selected item. The old Log (Selection) toolbar button always working on the selection also is still available.

Log: File Tools

SmartGit 17.1 log window external tools integration for working tree file operations
In the Log you now can start external tools that operate on the working tree files.

Log: Improved Drag and Drop

SmartGit 17.1 enhanced log drag-and-drop with popup menu for quick operation access
When dragging commits or refs in the log window, the occurring dialog has been replaced by a popup menu so you have quicker access to the options.
Illustration of Smart Gitty, the SmartGit mascot -- a grey cartoon cat with glasses, sitting behind a laptop