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!

+12
Completed

Have an option to delete all branches that are already merged to master

Michael Tsibelman 8 years ago updated by Thomas Singer 4 years ago 11
+12
Completed

Stash should be saved prior to merging into branch with local changes, to allow for safely aborting the merge

Christopher Kline 8 years ago updated by Marc Strapetz 7 years ago 3

This has bitten me a couple times now.


If you have local changes (unstaged) and you right-click on a different branch and choose "merge" and then select "create merge commit", SmartGit does not create a stash prior to initiating the merge.


If the merge goes bad, and you abort it, you will lose all of your local changes when SmartGit aborts the merge.


If SmartGit first created a stash (as it does for pull operations), this loss of work could be avoided by recovering from the stash.


Repro:

  1. Make some changes locally in master but do not stage or commit them
  2. Initiate a merge into master from another branch (using the "create merge commit" dialog option), such that conflicts are created during the merge
  3. Click the "Merge" button on SmartGit to abort the merge
  4. When the "Do you want to reset your working tree?" dialog appears, press "abort merge"

Result: after the abort completes, the local workspace is clean and all local changes have been erased.



Other notes:
  • In step (3), it would be helpful if the "Merge" button would change to "Abort Merge" in this situation, for discoverability
  • In step (4), this dialog is a little confusing. It asks if you want to reset your working tree, but the buttons say "abort merge" and "cancel". For clarity, I recommend A) changing "Do you want to reset your working tree?" to "Do you want to abort the merge and reset your working tree?", B) changing "abort merge" to say "Yes, abort merge"
+12

Support smudge filter for git-crypt diff

Randy Syring 8 years ago updated by Gijs-Jan Roelofs 2 weeks ago 4

When using git-crypt, the smudge filter is needed to see a diff of changed encrypted files. git-crypt adds the following to .git/config:


[filter "git-crypt"]
    smudge = git-crypt smudge
    clean = git-crypt clean
    required = true
[diff "git-crypt"]
    textconv = git-crypt diff

Please support the smudge filter so I can see diffs of encrypted files without having to go to git cli.


Thanks.

+12

Show files which would be updated by pull.

Mark Lofdahl 8 years ago updated by Jaap W 3 years ago 2

In the main view, there are several buttons to filter which files are shown, such as ignored files, untracked files, unchanged files, etc. If my local branch is known to be behind the remote tracked branch (I have fetched but not pulled those changes into my working files), it would quite helpful to have the option to show files that have been changed in remote branch in those commits. That way I can see which files will be updated when I pull.

+12
Completed

Log: don't hide graph when filtering

Pierre Goiffon 8 years ago updated by Thomas Singer 7 years ago 8

In our company all deployed packages contains the GIT SHA1, so we can know what code level is running. From time to time, we have to check where a specific SHA1 is located in the log. To achieve this, we need two steps :

  1. fill in the search field with the SHA1, enter
  2. on the found commit, right click and select the "reveal commit" option

Not very pleasant...


But this is more of a general question : this choice of hiding everything to give only the found commit(s) is too much often not in phase with what we need in our team, so I suppose this is a common problem.


I would suggest one of those solutions :

  • if only one commit is found (or we're obviously searching on commit IDs ?), then just jump to this commit in the log, and otherwise keep current implementation (display search results)
  • highlight the found commits in the log, and have next / previous buttons
  • have a separate search results window (maybe not a real window but a tooltip ?)
+12

Ability to save multiple files from a commit

Sergey Filippov 8 years ago updated by Thomas Singer 6 years ago 6

In the Log window, the Files tab, it would be handy to save multiple files at once.

When multiple files are selected, I'd suggest to replace the Save As... command with Save To... that invokes a dialog to select the destination folder.

+12
Completed

Log : select commits then squash

joel costigliola 8 years ago updated by David Rees 10 months ago 4

I often take my last n commits and squash them with the command, it would be nice to be able to do it from the Log view, here's how I see it:
1 - select the n last commits

2 - right click > squash action

3 - a popup opens with the commits messages that I can edit

4 - I click on the squash button to finalize the interactive rebase

Missing Git feature
+12
Completed

Allow to open multiple log windows for the same repository [SG-10350]

Alexander Puchkov 8 years ago updated by Alexander Zhezherun 8 years ago 4

I often want to review commits from different long running branches in the same repository side by side.


Currently I have to use a different git client or clone repository multiple time to be able to do that.

Missing Git feature
+11
Completed

Cherry-pick/revert: allow to select the file(s) to cherry-pick/revert

Thomas Singer 7 years ago updated 4 years ago 2

In the Log window's Files view, allow to cherry-pick/revert just the selected files. This also would solve the request https://smartgit.userecho.com/topics/221