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!

+4

Cherrypick line in log window (Git)

stefanoc 7 years ago updated by Marc Strapetz 7 years ago 1

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:

Image 182

The dashed line shows the cherrypick effect.

This is pretty useful with our Giflow Workflow.

+4

Journal: Directly amend-commit to an older commit

ubruhin 7 years ago updated by Thomas Singer 5 years ago 2

I like to have a clean history in my repositories and thus I do lot of rebasing and squashing on feature branches. And there is especially one task I do *very* often in the exact same way: Amend (parts of) local changes to older commits of the current feature branch because there was something missing/wrong in an older commit which I want to fixup now. This is my current workflow to do this:


- Stage changes which should be amended to an older commit

- Commit index into a (temporary) commit (with a random commit message like "asdf")

- Using drag&drop in the Journal, move the commit down the history, right after the commit to fixup

- Select both commits in the Journal and choose "Squash" from the context menu


This works pretty good (as long as there are no conflicts), but requires lot of clicks/typing/dragging every time. If I'm not the only one who often amends to older commits, it may be worth to implement a feature to make this easier ;)


Such a feature could look very simple: In the Journal, add a context menu item called something like "Amend current index". Then one needs to just stage the desired changes, right click on an older commit in the Journal, choose "Amend current index", and SmartGit would do the whole rebase operation.

+4

Show repo status in taskbar icon

Sync 7 years ago updated 7 years ago 1

It would be nice if the repo status icons (the "orange up" or "green down" icons) can be repeated at the taskbar level.  We just need to add these arrows in the lower-right quadrant of the taskbar icon.


As a maintainer, I would like to know something has changed while SmartGit is minimized.


I believe some media players to this as well, indicating the play/pause state in the icon.

+4
Completed

Log: add "Repositories" view [SG-11649]

Jeff Jensen 7 years ago updated by Marc Strapetz 6 years ago 4

See also: https://smartgit.userecho.com/topics/655


TL;DR: If the Log window had a Repositories view, switching between repos is as easy as on the main window, and does not require finding/launching and switching to the main window to do so.


I understand the design decision to have separate windows for the different macro activities, so this request is an idea that will help a lot with usability in that design and is possibly a reasonable answer for those that want a single window.


I often work on large products and they often have over 25 repositories; this causes a lot of switching between repos.  I use one main window and easily switch between repos; occasionally I open a second or third main window but not usually.


I regularly open a log window when needed on a repo to review commits/diffs.  This is the usability problem - having to find the main window, select the repo, and open the Log window.


+4

Repositories view: instead of showing the checked out ID show a nice name, e.g. "<tag> +1" [SG-8069]

Bruno 7 years ago updated by Andreas Koch 7 years ago 1

In pane Repositories, next to a repository (also true for submodules) the branch that is checked out is displayed, and the tooltip shows additional information about this branch.



When HEAD is pointing to a commit (no local branch present; 'read-only' checkout), the information displayed is very limited, being the commit ID and commit summary. Also the tooltip shows only few information.


Instead of

    Repository_name (short_SHA: commit_summary)

it would be great to have tag information displayed here if present, e.g.

    Repository_name (chronological list of tags)

and move the

    short_SHA: commit_summary

to the tooltip. The tags could also be added to the tooltip, one per line.



With this information I would be possible to immediately see for a repository using submodules which submodule versions are used (assuming that the submodule commits have been properly tagged).

+4

Allow word-wrap in [Output] window

Sync 7 years ago updated 7 years ago 1

Horizontal scrolling is bad, so it would be nice if this window allows word-wrapping, just like the Output window in Visual Studio.

+4

Log, Checkout: trying to check out remote branch with behind tracking branch should offer fast-forward merge

Bernard 7 years ago updated by Maja Stamenic 7 years ago 4

Example: current branch is branch1; want to checkout 'develop' but develop diverged and requires a pull (an extra step).

The idea is using an existing local branch that is already tracking it, not create a new local branch. (I do not want to checkout as "develop2" just because develop has diverged!)

Use cases:
- Submodules: Over time submodules can be changed (added/removed). This is not an operation that is well done when performing a checkout and submodules directories gets in the way when switching back & forth in history.
- PR workflow : PR systems often merges a PR branch to develop/master, locally switching from a PR branch that just got merged by such system to the latest "develop" would often yield near-zero change and would be more "friendly" with system that looks for changes on disk to "reload" pages and such.

- Optimization; large repo with long history:  switching to a branch that has diverged for a long time on a large repo can be very slow (because of the large number of files to change). Git needs to restore a very old state. In the case that the pull step would presumable restore the branch to a fairly recent state, then we could have saved us the heavy back&forth in history. From a Git standpoint, we could have saved lot of time by going directly to the other commit without going through a very old commit first.

Currently this case is already detected in SmartGit and a dialog with a few options are shown to the user. I think we could safely add another option.

+4

Better executable bit support

Artem Russakovskii 8 years ago updated by Marc Strapetz 8 years ago 0

Can you please add executable status to the column list and also properly detect it per file so that only one option shows up to either set or unset the executable bit instead of both?

+4
Completed

Syntax Highlighting: support for CMake files

Christian Strahl 8 years ago updated by Thomas Singer 5 years ago 1

please add syntax highlighting for CMake files

+4

Add an option to leave a conflicted file unstaged after conflict resolution

Ludovic 8 years ago 0

Image 135


Currently the dialog offers two choices after the resolution is done:

- Stage: Mark the conflict as resolved and stage the file

- Cancel: Revert the file into conflicted state.


It would be nice to have a third option that will allow the user to mark the conflict as resolved and the file unstaged. I believe the Git command in this case is simply "git reset HEAD <file>".