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!
Support for $XDG_CONFIG_HOME/git/config
SmartGit should support $XDG_CONFIG_HOME/git/config as user global configuration.
reference: git-config - Get and set repository or global options
cf. SG 18.2 does not look into the $XDG_CONFIG_HOME/git/config
Files view: better differentiation between "Modified" and "Staged Modified" icons
Currently, it's easy to miss the difference between "Modified" and "Staged Modified" icons:
between "Modified" and "Staged Modified" icons
Adding a stronger outline to the "Staged" circle, or pulling the "Staged" circle a couple of pixels to the right, would really help.
External tools: support environment variables in the Command input field
It's usually recommended to use the following environment variables to locate tools:
%ProgramFiles%
%ProgramFiles(x86)%
Faster merge workflow: Support auto-stashing for merging in the same way it is already supported for pulling
(Note: relates to this request, which deals with safely aborting merges)
When you pull from the remote origin into a repot that has local changes, SmartGit has a great feature where it will auto-stash before the pull, and auto-apply the stash after pulling. If conflicts occur after pulling, the user must manually apply the auto-saved stash after resolving the conflicts.
This feature is a huge time saver, and prevents loss of work as well.
This request is to implement the same feature for merging into a branch with local changes.
Currently I have to do this:
Best case:
- Create a stash (because I don't know if the merge will generate conflicts or not until I try)
- Merge (no conflicts)
- Apply the stash (no conflicts)
- Drop the stash
Worst case:
- Create a stash
- Merge
- Resolve merge conflicts
- Manually apply the stash
- Resolve conflicts from applying the stash
- Drop the stash
What I would like is for SmartGit to perform the auto-stash / auto-unstash for me before/after merging. The resulting workflow would be simplified:
Best case:
- Merge (SmartGit does auto-stash/un-stash, no conflicts at all from merge or unstash, SmartGit auto-drops the stash)
Worst case:
- Merge (SmartGit auto-stashes)
- Resolve merge conflicts and continue the merge
- Manually apply the stash
- (Possibly) Resolve conflicts from the auto-unstash
- Drop the stash
As you can see, this reduces the common-case (clean merge, clean unstash) from 4 steps to 1.
In the middle case (conflicts only upon merge or unstash, but not both) it reduces it from 6 steps to 4.
In the worst case (conflicts on both merge and un-stash) it reduces it from 6 steps to 5.
User defined Tool argument with input label
I as a user would be happy if a Tool argument could be like ${UserInput:InputLabel} to make it possible to give parameters to an external script.
The InputLabel would be displayed either as a Label to the left of an input field or inside an input field as a message to the user executing the tool.
Examples I need this for is to passa new branch names, commit messages.
The later would need citation also of course, but that could be done on the arguments line in the Preferences > Tools. Like "{UserInput:NewSquashCommitMessage}"
If multiple argument variables are used, it would be nice to have all in the same dialog to fill them in.
It would also be nice to have list selection ${AllBranches:MasterBranch}
Allow custom root CAs to be trusted, or respect Windows / IE's list
My company has recently put in a new web proxy which man-in-the-middles all https traffic; it intercepts it, decrypts it, then re-encrypts it with a certificate that is signed by a local company authority. My understanding is that this is fairly common in enterprise environments.
This is largely transparent for web browsing, because the company pushes its own CA certificate to the PCs; but SmartGit (and its built-in git implementation) do not use this certificate store.
This means that SmartGit cannot connect to its update server and, more seriously, means that it cannot connect to any remotes.
I can probably work around the git problem by installing git myself and not using Smartgit's built-in version; but that is significant extra hassle on Windows, which I imagine is why there is a built-in version in the first place.
RFE: Allow users to edit the list of trusted root certificate authorities, or respect Windows's list. The latter would be far better, but would also be platform-specific.
Enable 'compare with working tree' when multiple files are selected
This feature is available in the log windows under (Shift+F4), but only for a single selected file.
Regular compare (F4) works on a range of files. This feature should too.
Add "Fixup" option to the journal
For those who have to always clean up feature branch history before merging (commit squashing, reordering, splitting, etc) it would also be handy to have the "Fix up" option which basically is a "squash this commit with parent keeping parent message only). My co-workers constantly use GitUp for this kind of history rewrite thing, it's ugly but very fast. Personally I'd rather have only one tool.
Changes view: allow to configure tools that convert binary files to displayable text files
gitk display a simple but great "text diff" of the content changed in files such as Microsoft Word. This is very helpful when reviewing what was changed before committing and for review. Please add this ability to the diff tool.
Cherrypick line in log window (Git)
It could be useful to have a special line to show the cherrypick effect: the commit/branch from which the cherry pick started and where it arrived.
Here how it works in TortoiseHG:
The dashed line shows the cherrypick effect.
This is pretty useful with our Giflow Workflow.
Customer support service by UserEcho