I want a tortoisegit like program in linux that can do the following:
- Popup a dialog if I right click a folder or file in a file system treeview and chose a menu item in the resulting context menu. If I popup a commit dialog, I want to see a list of all changes and all unstaged files. Those should be sortable with respect of modification time in descending order. Each file should have a checkbox so I can choose which file to include in a commit. If I double click a file, I get the diff view of the changes for that file.
- Diffs views of text files consist of a side by side view with "theirs" and "mine", with a full listing in each side, marking lines that will be both removed or added. A "gutter" between the two textviews visualizes which lines in the left view that corresponds with lines in the right view. If there is a conflict, the gutter will show that marking a portion as red. The textviews scrolls down to the first change when the diff view pops up. A key press will take the user to the next diff. In this view, the user can chose to either undo an add or a removal by clicking areas that are marked as changes. Text can also be entered freely in the right view (mine).
- Have "restore after commit", meaning that I can take a snapshot of a file by marking it as "restore after commit" in the commit dialog. Then, in the diff view, I click some changed areas to undo some of the changes, but after the commit, the file is restored to the contents of the snapshot so the next time I commit the file, I can commit the changes I did not commit the previous time.
Note: I have tried gitkraken before, and one of the downsides it has accounts. Why would I want to have a git client account? The visualization is really cool, but there are no file system views, there are no checkboxes for changed files, it seems to only sort on filename, not modification time, the diff view is using diff syntax instead of a side by side view. I have found no "restore after commit" function.