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.

Specialized displays

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
      • commit,
      • log,
      • branches,
      • 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.