Redefine the main workflow¶
Right now the main idea of QGit is showing the commit log. I.e., it fulfills but a small segment of the daily work in a GIT repository.
I should prepare a few specialized displays related to an usual workflow:
- repositories (welcome) display
- automatically lists all previously used repositories;
- gives terse usage information (e.g. name of the current branch, age of the newest commit etc.) for each repo;
- allows for creating a new local repository by cloning a user-provided url.
- status display showing:
- current branch;
- currently added, tracked-uncommited and untracked files;
- id, date and message of latest commit;
- links for
- going back to repositories display.
- branches display showing:
- all local (and optionally remote) branches;
- all remotes
- most recent commit for each branch;
- upstream config for each branch;
- a terse graph with relations among branches.
- log display showing essentially what main qgit window shows today. Will allow:
- separated stage and work-area items;
- complete list of stashes, which, upon selection, jump the view to the appropriate tree section containing the stash;
- id next to each commit (selectable);
- terse (one-line) commit display with in-view expansion showing full message and files list;
- easier filtering;
- “tag cloud” showing most active branch, most modified file etc.
- revision display with:
- full parenting information (as today);
- kompare (or meld)-like diff viewer;
- file navigator
- annotate display, very similar with the one of today, but corrected and more flexible
- commit display with:
- colorized message composer;
- file selector;
- commit diff viewer;
Tabs and windows¶
Automatically, all above displays will be separate tabs.
Easy separation of tabs into separate dockable windows required.
Easy separation of repositories into separate complete (duplicated) instance/window required.