Git integration discussion
Here we can discuss git integration related stuff.
Goals
- Support most commonly used git stuff
Non Goals
- Be a competitor to git guis
- Have support for advanced / not commonly used features
Features that would be nice to have
-
Git checkout support -
Branch creation -
File staging -
viewing untracked / modified stuff -
Line / hunk staging -
Diff viewing - Partially done, allows external diff tool and view raw diffs -
Conflict Resolution -
Pull + Push - Basic support for it. Maybe we'll improve on it if there are better ideas. -
Stashing -
Commit with extended description -
Git blame (tons of UIs for it already, + design for it needs some deep thinking so that we get it right) -
Beautiful git icons, see frameworks/breeze-icons#2 (closed) -
Show file history -
Compare branches , rev 1 -
Commit Ammend
Undecided
- Log
Additional stuff for project plugin
- Project files (in git mode), should show that a file is modified by coloring it.
- Maybe rethink how to show untracked files?
- context menus will need to have git related options?
Current idea is to do this inside the project plugin. Advantage would be that we can notify the project plugin about changes. Disadvantage is that code will grow, which is not really a big disadvantage I think. Another advantage is that vcs is related to project stuff, so things will live quite near to the project in UI and will be discoverable.
Edited by Waqar Ahmed