update TODO
[ngit.git] / TODO
blob6bf8441e11f2e7628aa861e958c0adefda96933b
1 # -*- mode: org; encoding: utf-8 -*-
2 #+TITLE: TODO & Requirements for ngit package
3 #+FILETAGS: :Emacs:OSS:ngit:
4
6 * TODO Requirements
8  - [ ] Work with local changes
9    - [ ] view changes for whole repository or concrete files
10    - [ ] commit changes
11    - [ ] undo changes
12    - [ ] stash changes
13    - [ ] stage/unstage files to commit queue
14    - [ ] allow staging of the partial commits, like gitsum
15  - [ ] Work with remotes
16    - [ ] Add/delete remote repository
17    - [ ] Pull/push/fetch data from remote repository
18  - [ ] Work with log/history
19    - [ ] make separate major mode for log/history view
20    - [ ] cherry-pick older patches
21    - [ ] apply patches from other branches
22  - [ ] Work with stashed changes
23    - [ ] Separate mode for stashed changes
24  - [ ] Work with files
25    - [ ] Implement inventory mode with operations on files
26    - [ ] add/rename/remove files from inventory buffer
27    - [ ] view history/log for concrete file
28  - [ ] Rebase
29  - [ ] Work with tags/branches
30    - [ ] show list of tags/branches
31    - [ ] add tag/branch (using current tag/branch or specify concrete)
32    - [ ] delete tag/branch
33    - [ ] switch to tag/branch
34    - [ ] automatic merge with another branch
35    - [ ] manual merge with another branch
37 * TODO Implementation
39 ** Make list of major modes for each of functions
41 ** Make list of keybindings for major modes
43  - [ ] Inventory mode
44  - [ ] Changes mode
45  - [ ] Remotes mode
46  - [ ] log/history mode
49 * Misc 
51 ** Look for functions in existing ngit modes
53 try to collect which functions are implemented in other git mdoes