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!

Commit: option to customize limits of "line length guides"
In many projects there are guidelines regarding how long lines in commit messages can be. In Linux, for instance, the first line can't be longer than 50 characters. Currently to ensure that I don't break the formatting rule I have to use a dedicated editor with sole purpose of measuring line width and then copy-pasting it to SmartGit "Commit" window. My proposal is to add indicator of current line width into the "Commit" window in SmartGit.

Branches view: show commits ahead / behind master for every branch
I like to see at a glance the state of the branches. It helps the overview of what branch contains/misses relevant commits.
Best would be if it the 'master' branch could be configured to see e.g. "commits ahead / behind develop".
Github and Gitlab both have it in their web interface - can it also be added to smartgit?

Provide drag-and-drop functionality for index and working tree virtual commits (Log as main window)
See also:
https://smartgit.userecho.com/topics/655
https://smartgit.userecho.com/topics/27
Allow to drag-and-drop index or working tree virtual commits so
- if dropped on any other commit
- if working tree is dragged and other commit is index, working tree gets staged
- if index is dragged and other commit is working tree, index gets unstaged
- for all of the other cases dragged commit gets squashed into other commit
- if dropped between commits
- 1. commit window appears
- 2. when commit/commit & push pressed, appropriate commit gets created from dragged one
- 3. if working tree/index is present after commit creation, it gets stashed
- 4. new commit gets reordered via interactive rebase (this way commit doesn't get lost if reordering produces any conflicts)
- 5. after interactive rebase is over
- 5.1 apply and drop stash (stage it if the index was stashed) if step 3 was executed
- 5.2 if rebase was aborted, reset temporary commit (--mixed if it was created from working tree, --soft otherwise)
- 5.3 if rebase succeeded and commit&push option was selected, push

Log, Files view: accelerators for toolbar buttons
Like the shortcuts in files view in the main window (Ctrl+1 display unchanged files etc.), I would like similar shortcuts to the toolbar buttons in the Files view in the Log window.

Ignore dialog list users exclude file
I have in my user (global) .gitconfig an excludes file listed.
I would like to add the *.ini in the Ignore dialog to that and not a repository related one.
Wondering if you can read the global excludes file to allow it to be listed.

Files: allow to (re)initialize several missing submodules at once
Sometimes, you have your working tree submodules on this state:
And SmartGit allows you to hit the `Initialize` button. But, if you select more than 1 submodule deleted/uninitialized, SmarGit hides the option:
Forcing me to do one by one.
SmartGit could be smarter and do not hide the `Initialize` option when selecting several uninitialized submodules.
Related to:

Syntax Highlighting: support for SystemVerilog
Would it be possible to add SystemVerilog syntax highlighting to built-in Text Editors?

Increase contrast for dark theme
Dark mode is great but contrast is generally too low, for example:
Hope this can be tweaked to improve the experience!

Discard: should work on renamed (missing/untracked) files
If a file has been renamed, Smartgit does not allow discarding it. I have to first delete the files, and then discard them in "missing state". This clearly can be automated to a single action.
Customer support service by UserEcho