Share your ideas on how to improve SmartGit!
This is no support platform! To report bugs or request support, please contact us directly. If in doubt ask us.
First search for a similar request and add your votes or comments there.
Take the time to describe your request as precisely as possible, so users will understand what you want. Please note that we appreciate your time and input, but we don't give any guarantees that a certain feature will be implemented. Usually, a minimum requirement is a sufficient number of votes. Hence, please don't comment like "when will this be implemented", but vote instead.
Follow the stackoverflow.com writing guidelines.
Thank you for your help!

Log: maintain selected file when changing commits to make examining historical differences easier
When trying to understand the history of a change, it's common for someone to open the log window and then click back and forth on different commits to see what changed in them.
Currently, when the user clicks on a commit, the differences pane in the log window switches to display the file that is at the top of the Files window based on the current sort order. This makes it cumbersome to switch back and forth between commits to see what happened to a particular file because, unless that file happens to be at the top of the sort order in each commit, the differences pane keeps jumping around between files.
As an example, attached are two screenshots of what happens to the view when I switch between two changelists, both of which contain the same file "DBExternalViewManagerImpl.inl".
I click on first commit and select DBExternalViewManagerImpl.inl in the files window:
Then I click on next commit in log; DBExternalViewManagerImpl.inl does not remain selected in files window, and the contents of the differences pane therefore change:
What I think the behavior should be is:
- the file selected in the current commit should remain selected when switching to another commit, so long as the other commit contains the same file.
- when switching to a different commit that does not contain the same file, it should switch to either:
- The file that was selected most recently for this commit
- Or the file at the top of the sort order, if no file was previously selected for the commit
#1 is the most important. #2 would really help when skipping around through multiple changelists that may not all contain the same files, but I understand that it would require a tiny amount of state tracking and may not be as easy to implement as #1.
Thanks for considering this request.
(Note: I filed this several years ago via email and it was filed internally as SG-9991. Since I cannot find it here on userecho, I have assumed it got "lost" and am re-filing it)

Commit dialog: add convenience paste buttons for key words
I regularly type "fixup! " and paste a copied hash into the commit window message box.
Since my hand is already on the mouse to click into the text box and paste the hash, it could easily click a "fixup!" button above the text box (to the right of the "Commit Message:" label) just before that and save the typing.

New Log Frame: Add Commit Message view
The Log window with the Repositories view and Branches view is a fantastic new feature. With the Commits view now having the Working Tree and we can commit from the Log window, please add the Commit Message view to the Log window too. I miss having the ability to pre-type commit message info as I make changes and/or stage files.

Log: add any commit from the Log to the list of commits in Branches panel
When I open Log by double-clicking on a commit in the Journal, this commit appears under Commits node in the Branches panel. Thus I can use it as a root in the commits tree. I want to be able to conveniently add any commit from the log to this list in Commits node. So that I can use any commit as a root in the commit tree.
This would be very helpful in the following scenario. I am digging down the history, find relevant commit, and then make it the root of the tree to simplify further research.

New Log Frame: allow to open multiple repositories
The new Log window Repo and Branches feature is fantastic. One thing on the Repos view that I'm missing from the Working Tree window is allow to opening multiple repos

New Log Frame: Need to "open repository"?
With the new Log window having the Repo and Branches views, and currently limited to "opening" only one repo at a time, is there a need to "Open Repository" on it?

Support clone from the command line.
I like how when cloning a repository SmartGit populates the clone url from the clipboard. What would also be nice would be if there was a --clone command line option that would launch the clone dialog using the current directory as the default location in which to create the cloned repository.
This would be especially useful as on Linux SmartGit doesn't seem to have any file manager integration so currently the only way to clone in SmartGit is to open SmartGit, launch the clone dialog, then use the folder explorer to choose where to put the cloned repo. Currently it's quicker and easier to clone using the git cli than to use SmartGit.

Syntax Highlighting: add support for Perl 5.10 and newer
The new Perl language syntax is not properly interpreted in SmartGit when showing diffs.
The wrong syntax colouring starts after the defined-or operator (//) introduced in Perl 5.10:
my $review = $model->test // !1;
This is equivalent to C logic:
Review *review = test() ?: nil;
SmartGit interprets it as a comment and colours everything after the '//' with green colour.

Log, double-click on remote branch, and local diverged: option to pull after checkout
Currently, if you double-click on a remote branch in the Log view, you get something like the following:
What I (almost?) always want to do is to checkout the corresponding local branch, but at that commit; in other words, I want to checkout the local branch and then pull. It would be great if there were a "Pull after checkout" checkbox on the dialog, to make this a single action to get where I want. (Bonus points if the checkbox's state was preserved between actions, although I'm not sure of the details of how this would work.)

Git-Flow: load configuration/naming from file
When our developers starts a new software project, and hence have to configure Git-Flow, they have to manually enter the branch names, which tends to result in differences from one project to the next.
It would be really nice if SmartGit supported loading a conf file with the naming, or even better, allowed the Defaults to be changed, so that when configuring Git-Flow, the names would already be according to the company rules.
Customer support service by UserEcho