Skip to content

Commit 48c149c

Browse files
committed
doc(limitations): be very clear about known issues
Fixes #508
1 parent 06c9c91 commit 48c149c

File tree

3 files changed

+31
-10
lines changed

3 files changed

+31
-10
lines changed

README.md

+14-9
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,20 @@ git submodule update --init --recursive
4040
./init-tests-after-clone.sh
4141
```
4242

43+
### Limitations
44+
45+
#### Leakage of System Resources
46+
47+
GitPython is not suited for long-running processes (like daemons) as it tends to
48+
leak system resources. It was written in a time where destructors (as implemented
49+
in the `__del__` method) still ran deterministically.
50+
51+
In case you still want to use it in such a context, you will want to search the
52+
codebase for `__del__` implementations and call these yourself when you see fit.
53+
54+
Another way assure proper cleanup of resources is to factor out GitPython into a
55+
separate process which can be dropped periodically.
56+
4357
### RUNNING TESTS
4458

4559
*Important*: Right after cloning this repository, please be sure to have executed the `init-tests-after-clone.sh` script in the repository root. Otherwise you will encounter test failures.
@@ -59,13 +73,6 @@ For more fine-grained control, you can use `nose`.
5973

6074
Please have a look at the [contributions file][contributing].
6175

62-
### Live Coding
63-
64-
You can watch me fix issues or implement new features [live on Twitch][twitch-channel], or have a look at [past recordings on youtube][youtube-playlist]
65-
66-
* [Live on Twitch][twitch-channel] (just follow the channel to be notified when a session starts)
67-
* [Archive on Youtube][youtube-playlist]
68-
6976
### INFRASTRUCTURE
7077

7178
* [User Documentation](http://gitpython.readthedocs.org)
@@ -104,6 +111,4 @@ Now that there seems to be a massive user base, this should be motivation enough
104111
* no open pull requests
105112
* no open issues describing bugs
106113

107-
[twitch-channel]: http://www.twitch.tv/byronimo/profile
108-
[youtube-playlist]: https://www.youtube.com/playlist?list=PLMHbQxe1e9MnoEcLhn6Yhv5KAvpWkJbL0
109114
[contributing]: https://github.com/gitpython-developers/GitPython/blob/master/README.md

doc/source/intro.rst

+16
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,22 @@ script:
5959

6060
.. note:: In this case, you have to manually install `GitDB`_ as well. It would be recommended to use the :ref:`git source repository <source-code-label>` in that case.
6161

62+
Limitations
63+
===========
64+
65+
Leakage of System Resources
66+
---------------------------
67+
68+
GitPython is not suited for long-running processes (like daemons) as it tends to
69+
leak system resources. It was written in a time where destructors (as implemented
70+
in the `__del__` method) still ran deterministically.
71+
72+
In case you still want to use it in such a context, you will want to search the
73+
codebase for `__del__` implementations and call these yourself when you see fit.
74+
75+
Another way assure proper cleanup of resources is to factor out GitPython into a
76+
separate process which can be dropped periodically.
77+
6278
Getting Started
6379
===============
6480

0 commit comments

Comments
 (0)