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!
Conflict Resolver: show diverged commits (with their messages)
I use and love the “Conflict Resolver” window every day. It is extremely useful to have a 3-way diff like that. I love the “Base Changes” window as well.
But sometimes it is difficult to understand why the change in either side was made. My suggestion is to show, at the top of the left and right editors, a list of the commits since the common root. The abbreviated SHA1 (perhaps linked, so that clicking opens that commit in the Log view), author, date, and the first line of the message.
Log, Graph: when the graph is filtered, highlight the matching text parts in commit message/author columns
Sometimes it's not immediately obvious why a commit has been matched by the Log Graph filter. Hence, it would be helpful to highlight the matching part of the text (e.g. in the commit message or author name) for quicker understanding. Highlighting could be done using a different text background color (like browsers do). The color should be configurable, at least using Low Level properties.
Conflict solver: add the ability to manually select which conflict solver to use
I like the possibility to set different solvers for different file extensions, but sometimes I would like to manually select the solver.
I'm working with PLC code files and, for some of them, a specific graphical solver is provided. Sometimes (I have to say often), that solver fails, but on the low-level, those files are XML-like files, so a manual intervention is possible.
It would be great if you could provide a drop-down menu, with all solvers feasible for that file type and let the user choose.
Of course, the "Conflict Solver" command should behave as now, launching the default one.
Compare: check for modified file when saving
SmartGit's diff tool is great, and I'll often use it to review and adjust changes before committing. However, SmartGit's editor has some significant limitations, and I'll do much of my work using BBEdit.
At times I'll have the same file open in both SmartGit and BBEdit. If I make a change with SmartGit, and then try to save a different change with BBEdit, BBEdit will warn me that the disk file has been changed. If I've changed a file with BBEdit, though, and then try to save a change with SmartGit, it'll happily tromp over the changed file.
Suggestion: when you're about to save a file, make sure it hasn't changed since it was read. If it has, show a warning.
File Compare: option to Export as Patch
Today it only has the option `Export as HTML`:
The option Export as Patch, would create a diff file from the current file as:
```
From .... Mon Sep 17 00:00:00 2001
From: .....
Date: Sat, 29 Feb 2020 16:29:30 -0300
---
rslib/src/template.rs | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/rslib/src/template.rs b/rslib/src/template.rs
index cf38bce2..10a1b081 100644
--- a/rslib/src/template.rs
+++ b/rslib/src/template.rs
@@ -276,6 +276,7 @@ pub fn without_legacy_template_directives(text: &str) -> Cow {
impl ParsedTemplate<'_> {
/// true if provided fields are sufficient to render the template
pub fn renders_with_fields(&self, nonempty_fields: &HashSet<&str>) -> bool {
+ println!("nonempty_fields '{:?}'", nonempty_fields);
!template_is_empty(nonempty_fields, &self.0)
}
}
...
```
Sparse Checkout
Please consider adding sparse checkout support once it becomes more stable in git.
https://git-scm.com/docs/git-sparse-checkout
The motivations for why someone would use this are well described here:
https://github.blog/2020-01-17-bring-your-monorepo-down-to-size-with-sparse-checkout/
Related topics:
Stash: add stash index next to the name
Use case: If you use git stash list
to search a particular stash, it is shown like stash@{24}: On brach: Stash name
, and you currently have to manually count 24 stashes in SmartGit's list.
Say which submodule is on a detached head state
I had selected all files o my working tree and I hit the commit button. Then Smartgit said this:
But I have no idea which one is the submodule which is on a detached head state.
Smartgit could at least inform from where it is coming from.
Automatically save and apply stash when rebasing
It would be nice if SmartGit would automatically stash possible files in the working tree when you start to modify, split or manually rebase some commits, and then apply it back after git rebase finishes. Similar to how it does on a checkout when it detects possible conflicts.
Show the files to be staged, similar to the Commit window
This way, it's way easier to notice that staged files are automatically stashed for selective stashing, and you can also double click each file to view its content beforehand. So something along the lines of:
Customer support service by UserEcho