summaryrefslogtreecommitdiff
path: root/TODO
blob: 55c30fb107937d6ae2c1cf4e6f4544a8dbc53a4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
====
TODO
====


General
-------
* Classes requiring repo actually only need the git command - this should be 
  changed to limit their access level and make things a little safer.
* Check for correct usage of id, ref and hexsha and define their meanings, 
  currently its not so clear what id may be in cases or not - afaik its usually 
  a sha or ref unless cat-file is used where it must be a sha
* Overhaul command caching - currently its possible to create many instances of 
  the std-in command types, as it appears they are not killed when the repo gets 
  deleted.
* References should be parsed 'manually' to get around command invocation, but 
  be sure to be able to read packed refs.

Docs
----
Overhaul docs - check examples, check looks, improve existing docs

Index
-----
* Index class required for special handling ? Probably considering what I want 
  to do ! Dulwich can already write the index, and read trees, although it 
  could be improved as well and could possibly be made faster unless we want 
  to use the c modules ( not for now )
* Index Merge ( merge two trees into the index to quickly see conflicts ). 
  Its possible to write it into a separate index file that can be read separately.

Repo
----
* Nice fetch/pull handling, at least supported/wired throuhg to the git command
* is_dirty should be improved to allow options what to diff with: 
  working tree|index|head - also it should use raw mode to prevent patch generation
* repo.bare is set according to the path it is initialized with, although it 
  should be read from the configuration in fact. Check uses of repo.bare.
* Blame: Read the blame format making assumptions about its structure, 
  currently regex are used a lot although we can deduct what will be next.
  - Read data from a stream directly from git command

Submodules
----------
* add submodule support

Tree
----
* Should return submodules during iteration ( identifies as commit )
* Work through test and check for test-case cleanup and completeness ( what about
  testing whether it raises on invalid input ? ). See 6dc7799d44e1e5b9b77fd19b47309df69ec01a99
* Derive from Iterable, simple pipe it through to Commit objects and iterate using 
  commit.tree.