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 filter box in branches view
In the header of the branches view, it would be cool if you could have a filter box for searching for branches. "Includes" string would be simplest, but could support regex too.
Add `select just this branch` in branches view
Often times I want to just see the log of a single branch or perhaps 2 branches. In this case it would be useful to right-click the first branch in the branches view and select that branch, and unselect all others.
Cherry-pick ALL commits from a branch in one go via filter on branch
Hi,
Recently I've found myself stumbling in this situation:
I was working on feature A.
While I was working on A, a new feature B was requested.
Being as B was heavily dependent on A's code I created feature B branch directly from A.
I've worked on both in parallel.
Since A was being tested at the time (which meant committing some bugfixes from time to time) I've kept merging it into B on a daily basis to keep B aligned and avoid conflicts in the future.
After a while I completed A which was then merged into master via Squash.
This is when I've found myself in a bit of a pickle.
Due to how squash works, merging master into B would now cause the same conflicts I thought I was avoiding by diligently keeping B aligned with A.
At this point I had 2 options:
1- solving conflicts in branch B AND keeping all commits from branch A.
2- create a 3rd branch C from Master and cherry-pick there all commits belonging specifically to branch B (in other words, ignoring all commits from branch A since all its changes were now in master albeit via the squash commit).
Now, the problem was that cherry-picking all intertwined commits from branch B was gonna be very tedious and error-prone. (they were a lot and mixed with A bugfixing commits)
From what I understand there are a combination of git commands to sort of achieve this result but of course I couldn't test it at work and had little time to test at home, hence my feature request here today (which I can confidently study and understand once implemented by git experts).
Patch generation
I just made a commit which I need to send to a client who's not using GIT.
It would be great if SmartGit allowed to right click on a commit and:
- Generate > Patch file (and a counter part feature to apply diff patches)
- Generate > zip archive of affected files
That way I could just right click a commit, get the zip file with the files from the commit in their proper relative folder, so the client only has to extract the archive over his codebase and be updated.
Option to collapse or truncate verbose Git Notes in the Commit View
Automated tools (like git-ai) increasingly use Git Notes to store large, machine-readable data payloads. When mapped to SmartGit's UI via smartgit-notes, these raw notes clutter the Commit Details view, creating massive walls of text that push standard commit information off-screen. See example below (note how the "branches" section has been pushed to the bottom of the text chunk).
Request
Please add a way to manage this UI clutter so users can keep tracking tools enabled without sacrificing readability. Potential solutions:
- Collapsible Notes: Render note text inside an accordion that defaults to "collapsed", showing only the note category or first line.
- Truncation Toggle: A UI preference to only display the first line/paragraph of a note.
- Regex Filtering: Perhaps extend the existing
graphMessageRegexconfiguration to filter or truncate what displays in the Commit Details view, not just the Graph view.
Example of the clutter shown in commit view:
VNA-666: rebundle OpenAPI specs after shared error updates
AI-attribution:
.acme/openapi-reachability-bundled.yaml
s_bbd3531718a57a::t_752916422b0889 237,245,251,256,262,267,273,278,284,289,295,300,319,327,333,338,344
.acme/openapi-sim-swap-bundled.yaml
s_bbd3531718a57a::t_752916422b0889 147-259
.acme/openapi-kyc-match-bundled.yaml
s_bbd3531718a57a::t_752916422b0889 299,307,313,318,324,329,335,340,346,351,357,362,381,389,395
[^many lines like those ^]
---
{
"schema_version": "authorship/3.0.0",
"git_ai_version": "1.4.8",
"base_commit_sha": "cedf23cca61eb8b512c52848675049df93ecd7a6",
"prompts": {},
"sessions": {
"s_bbd3531718a57a": {
"agent_id": {
"tool": "opencode",
"id": "ses_1e9293b65ffeBYXVzwIZ8UJ2Iy",
"model": "gpt-5.3-codex"
},
"human_author": "raton.perez "
}
}
}
branches VNA-666-SAAdv2-openapi-errors, origin/VNA-666-SAAdv2-openapi-errors
Option to keep missing repositories in the list without prompting to remove them
I run SmartGit as a portable installation, shared between my desktop and my laptop. Most repositories are common to both machines, but each machine also has a few repositories that only exist locally on it (e.g. machine-specific scratch work or repos I haven't synced over yet).
Every time I launch SmartGit on one machine, it prompts me to remove the repositories that only live on the other machine. If I confirm, I lose them from the list on this machine and have to re-add them when I switch back. If I cancel, the prompt comes back on the next launch.
It would be very helpful to have a low-level property (e.g. `repositories.promptForMissing=false`) that keeps missing repositories in the list silently, grayed out as they already are, without showing the removal dialog on startup. The dialog could still be triggered on demand by clicking the missing repository, which is already the existing behavior.
This would make portable/multi-machine setups much smoother without changing any default behavior for regular users.
Add rebasing workflow to split up branch into multiple topics
Often i'm working on a long lived branch and I may:
* Need to fix something not directly related to what i'm working on
* Fix something from a previous commit in the same branch
What I often desire is this workflow:
1. Select a range of commits in smartgit
2. Go through each changed file and associate an entire file or hunks within those files to a topic
3. Have smartgit rewrite the history to make each topic a commit
Reveal in Explorer command should be available on all repository regardless of whether it is open
Currently Reveal in Explorer command is only available on open (current) repository.
I don't believe such restriction is necessary and the command should be available on all repositories and only notify/prompt user to remove repository if it can no longer be found.
This should apply to all 'Open in ...' and 'Reveal in ...' commands.
No way to see >1 tag on a commit in Standard Window
When a commit has more than one tag, as far as I can tell, there's no way to see what the tags are. Single tags appear in the log graph, but when there are 2 or more, it just shows "2 tags". Mouse hover, right-click, and select do not show the tags. The only workaround I've found is to open the Log Window and start again. Very frustrating.
The Log Window shows full details in its "Commit" view: branches, tags, on branches, and merged to branches. Very useful. I don't understand why that info is no included in the commit view of the Standard Window. Please add it.
Commit message translation (existing commits)
In the graph window where we see the messages of all commits, it would be really helpful to be able to get a translated version of the commit messages. When you are browsing an external repository it is sometime really difficult to understand a commit when the commit message is written in a language that you don't understand. (I need to work in a Japanese repository and I don't understand any commit messages).
- This should be optional as I don't think that everybody wants to translate everything
- The graph window should display all commit messages in the language of your chosen.
- The commit window when you select a commit should also reflect the translated text.
- You should be able to search for translated text in the filter box component.
- The repository should not be modified with the new translation and allow people to force-push such changes.
- The language of the commit message could be detected automatically (translation services or AI).
I don't know if metadata can be attached to commits but having the translated text attached to it could save time and prevent translating the commit message each time the repository is opened.
Customer support service by UserEcho