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!
Multi-repository Support for Branch Actions: Checkout, Add, Delete, and Rename
My regular multi-repo need is branch manipulation across many repos - checkout, add, delete, and rename. Currently, I use an IDE or create scripts to do so for products' source I'm working on. I think the best multi-repo-git-client, SmartGit, should have these features so users can stay using it instead of switching tools.
Text Search for all files in a given commit
I keep looking for an option to search across multiple files in a given commit. I know you can text search in the ‘Show Changes’ and ‘Log’ windows, but that is for a single file. If the Graph window has focus and you press <ctrl-f> the ‘Filter’ box gets focus. If you the same for the files window, the ‘File Filter’ box gets focus. If I try the same in the ‘Changes of xxx’ window, nothing happens. I’d like to click on a given commit, and have an option to text search all files in that commit for a specific string.
I’ve seen a couple of similar requests in this forum from the past, but they seem to have never gone anywhere. This feature would save me quite a bit of time.
Thanks!!
Unified Diff: Show compact unified diff for all files at once when commit selected
This will look just like how GitHub shows diffs
Example: https://github.com/git/git/commit/45ee13b942b26925b33d827bda2856e1ed0af0b7
Rename "Check Out" to "Switch" in branch UI
Git 2.23 added a new "git switch" command for switching branches: https://github.blog/2019-08-16-highlights-from-git-2-23/#experimental-alternatives-for-git-checkout. This new name is much clearer in explaining what it does than "checkout" ever was.
I use "git switch" at the command line so often now, that when I come to SmartGit I have to spend several seconds scanning the branch context menu for the "Switch" command before I remember it's still called "Check Out".
SmartGit should adopt this new git terminology and use it in the SmartGit UI, as it's a clearer verb for what the command will do, and it matches the future of the git CLI.
Ability to view size on disk difference of modified files
We are coming from a centralized source control repository and adopting Git. One thing we loved about our old tool (SourceGear Vault) was that for our modified files, it showed us the difference of the modified file's size on disk compared to the current version in source control. This was helpful for us and provided some context on the size of the change we made to each file.
For example if one file has +10kb of changes, then we know that is a significant change and should be reviewed closely before committing, where as a +1 byte delta would tell us it was a trivial/minor change to the file.
Having the ability to also sort on the file size delta was helpful to get the most significant changes (largest deltas) grouped together before committing, helping us see the biggest changes in one spot rather than sorted by filename or by folder. Sometimes we'd catch a 'console.log' statement in a file when sorting by size as well, as that change would be around +18 bytes to a file, which is easier to detect and remove before committing when sorting changes by size.
See screenshots for where this would be great in SmartGit, and how it is displayed in SourceGear Vault:
"Creature Comfort" enhancements for Groups
Long time SmartGit user!
I've been using SmartGit exclusively for almost 10 years now, and over the course of time have accumulated access to almost 70 distinct source repositories related to/necessary for my job functions. As a result, I'm heavily dependent upon the functionality that's provided by Repository Groups.
It would be helpful/useful to expand upon the attribute set currently afforded by Repository Groups, to include the following:
1. The ability to optionally specify (and edit) a short description or comment for the group. This description could then appear upon hover over the group in the Repositories view. (some of the "legacy" repositories and parent groups I maintain are used infrequently, and a tool tip that additionally helps to identify the purpose/intent of the Repository Group - and its subordinate repositories - would be helpful).
2. The ability to optionally specify (and edit) a color for the group, which affects the either the folder icon and/or text color of the group name displayed in the Repositories view. (some of the "legacy" repository and parent Repository Groups I maintain are used infrequently, and a identifiable color that helps better distinguish Repository Groups from one another would be helpful).
LFS: lock multiple files
LFS->Lock seems only to work with the currently selected file. Selecting multiple files will disable this options in the context menu. For my work it would be great if it would also work for selected files (maybe with an additional dialogue).
Pull: Automatically decide between merge and rebase (smart pull)
Pull already lets you choose between merge and rebase as well as setting a default action. I propose an additional smart mode mapped to a separate toolbar button, which can be added to the toolbar and/or replace regular pull if desired:
- If there are no local changes...
-- ... and no local commits, fast forward without asking
-- ... and local commits, rebase without asking (optional warning, if there are a lot of incoming commits)
- If there are local changes...
-- ... and no local commits, attempt to pull with merge, on failure offer stash&retry
-- ... and local commits, warn user and offer to stash and proceed with rebase
Log graph: customize color per remote
As an user I'd like to be able to define background color label per git remote.
Right now graph window shows remote/branch labels with bright yellow background.
I'd like to adjust background for certain repos to make it more distinct.
Allow choosing the default destination for new ignore rules
This is a followup / extension to:
- Ignore file ability to specify which gitignore file to use
- Merge local gitignore file rules into root gitignore file
- Ignore dialog list users exclude file
Currently, adding new ignored files will be stored in a local .gitignore file (local to the ignored file / same directory). It would be nice if the default option for the destination dropdown box could be selected in settings.
Currently, I need to change the dropdown on every ignored file or pattern to .gitignore in the repository root.
Customer support service by UserEcho