1
====
2
TODO
3
====
4
5
General
6
-------
7
* Classes requiring repo actually only need the git command - this should be
8
  changed to limit their access level and make things a little safer.
9
* Check for correct usage of id, ref and hexsha and define their meanings,
10
  currently its not so clear what id may be in cases or not - afaik its usually
11
  a sha or ref unless cat-file is used where it must be a sha
12
* Derive all Object like items like types such as Commit, Tag(Object), Tree, Blob
13
  from a common base. This allows to easily add __eq__, __ne__, __hash__ method
14
  to make their use more comfortable and reduces code duplication.
15
* References like Tag(Reference), Heads and Remotes should have an own Base class
16
* Optimize type size by adding __slots__ ( at least ), which would also make sure
17
  no one accidentally adds attributes to classes.
18
* Add more performance tests, see branch "performance_testing"
19
20
Configuration
21
-------------
22
* Native configuration handling, ideally without using git-config for it to keep
23
  handling fast
24
25
Docs
26
----
27
Overhaul docs - check examples, check looks, improve existing docs
28
29
Remotes
30
-------
31
* Remote handling should be rather easy to implement as it is 'just' another
32
  type of reference. It will be more work to do it right and allow convenient
33
  access to the most common operations on remotes though.
34
35
Submodules
36
----------
37
* add submodule support
38
39
Testing
40
-------
41
* Upgrade to newer mock version >0.4 as the newer versions break support with 0.4
42
43
Tree
44
----
45
* Should return submodules during listing or deal with them in a way, see Submodules