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 - [x] [Git checkout support](https://invent.kde.org/utilities/kate/-/merge_requests/227) - [x] [Branch creation](https://invent.kde.org/utilities/kate/-/merge_requests/238) - [x] [File staging](https://invent.kde.org/utilities/kate/-/merge_requests/255) - [x] [viewing untracked / modified stuff](https://invent.kde.org/utilities/kate/-/merge_requests/255) - [x] [Line / hunk staging](https://invent.kde.org/utilities/kate/-/merge_requests/290) - [x] [Diff viewing](https://invent.kde.org/utilities/kate/-/merge_requests/255) - Partially done, allows external diff tool and view raw diffs - [ ] Conflict Resolution - [x] [Pull + Push](https://invent.kde.org/utilities/kate/-/merge_requests/308) - Basic support for it. Maybe we'll improve on it if there are better ideas. - [x] [Stashing](https://invent.kde.org/utilities/kate/-/merge_requests/272) - [x] [Commit with extended description](https://invent.kde.org/utilities/kate/-/merge_requests/255) - [x] [Git blame](https://invent.kde.org/utilities/kate/-/merge_requests/266) (tons of UIs for it already, + design for it needs some deep thinking so that we get it right) - [x] Beautiful git icons, see https://invent.kde.org/frameworks/breeze-icons/-/issues/2 - [x] [Show file history](https://invent.kde.org/utilities/kate/-/merge_requests/294) - [x] [Compare branches](https://invent.kde.org/utilities/kate/-/merge_requests/340) , [rev 1](https://invent.kde.org/utilities/kate/-/merge_requests/347) - [x] [Commit Ammend](https://invent.kde.org/utilities/kate/-/merge_requests/388) ## 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.
issue