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!

Add the ability to successively apply the conflict solver
It often happens during a merge that a number of files in a repository will have conflicts. It is already possible to apply the conflict solver to individual files, but I would like to propose the following workflow:
During a merge when multiple files are conflicted:
- Select all the conflicted files.
- Choose to activate the Conflict Solver.
- For each file in the select list open the conflict solver (as is done for a single file)
- User solves conflicts (or decides to cancel), thus terminating the conflict solver for that file.
- SmartGit shows a dialogue with the following options "Stage file", "Skip file", "Cancel".
- "Stage file" will stage the file and SmartGit will automatically open the conflict solver for the next file in the selected list.
- "Skip file" will not stage the file, or mark it as resolved, etc, but will move automatically to the next file in the list, opening the conflict solver for the next file.
- "Cancel" will stop the process completely. Files already staged will remain staged.
This will, in my opinion, make merging multiple conflicted files much easier. There could also be a button on the ToolBar which starts the conflict solver for all conflicted files in the current repo, without the user having to select them all.

Remote SSH Connect
The ability to use a ssh connection or tunnel to remotely control git commands on a remote server. This would allow me to connect to other servers and do git / pull /logs...etc.

Replace "Commit" button with "Continue Rebase", "Discard" with "Abort Rebase", etc. [SG-10349]
To continue rebase after fixing a conflict, you have to press Commit.
To abort it, you select the project and press Discard?
These aren't very clear actions. It would be better if the buttons actually changed their names while in the middle of a rebase.

Log: integrate into main window
To unite Log and "Working Tree" window, there are two options: add Log functionality to the "Working Tree" window or add working tree functionality to the Log window. For conceptual and technical reasons, we opted for the latter option: https://smartgit.userecho.com/topics/655
Instead of having a separate Log window, this should be part of the main window in order to have all functionality of SmartGit be available in a single window.
This would mean to add all views of the Log to the main window, duplicating a couple of them with slightly different meaning, e.g. the Changes view in the Log is purely read-only, but can show comments - the one in the repository window can be used to stage/unstage; the Files view in the Log does not allow any of the main window's commands; the Branches view in the Log allows toggling anchor commits for the Commits graph and shows additional items, e.g. recyclable commits. It would be a horrible amount of work and still would require stand-alone Log windows, e.g. for file or subdirectory logs.

Changes view: optionally show as unified diff
The simplified or "unified" diff view (the default on GitHub for example) is often the preferred way to look at changes, especially on smaller screens

add support for diff filter texconv [SG-14488]
It is possible to tell git diff how to convert files into a readable form for the diff command. For example with the following lines slx files are unzipped before the diff is shown
[diff "slx"] textconv = unzip -c -a
See also this topic
https://stackoverflow.com/questions/34356401/diff-between-simulink-models-slx
A similar but more specific idea is already on this site
https://smartgit.userecho.com/topics/369-support-smudge-filter-for-git-crypt-diff/

Project-level ignore
As in this comment
> It would be awesome to have an option "Add To Ignore List" which allows to choose "add to .gitignore" or "add to .git/info/exclude (will be ignored at this computer only)".
When we right-click on a file to ignore it, it should give the option of ignoring it in a .gitignore (that gets committed along with the repo) or .git/info/exclude (which is unique to our computer) or a global gitignore for all repos (garbage files like Thumbs.db. etc)
Customer support service by UserEcho