<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/gitpython.git/git/index/base.py, branch 1.0.1</title>
<subtitle>github.com: gitpython-developers/GitPython.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/gitpython.git/'/>
<entry>
<title>fix(index): _store_path() now closes it's stream</title>
<updated>2015-04-08T08:13:50+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2015-04-08T08:13:50+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/gitpython.git/commit/?id=98f6995bdcbd10ea0387d0c55cb6351b81a857fd'/>
<id>98f6995bdcbd10ea0387d0c55cb6351b81a857fd</id>
<content type='text'>
This should prevent a resource warning given in py3

Fixes #263
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This should prevent a resource warning given in py3

Fixes #263
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(index): don't write extension data by default</title>
<updated>2015-04-08T07:50:26+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2015-04-08T07:50:26+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/gitpython.git/commit/?id=8f043d8a1d7f4076350ff0c778bfa60f7aa2f7aa'/>
<id>8f043d8a1d7f4076350ff0c778bfa60f7aa2f7aa</id>
<content type='text'>
It turned out that the index is not actually corrupted, which is good
news. What happens is that `git` writes `TREE` extension data into the
index, which causes it to write out the given tree *as is* next time
a `git commit` is executed. When using `git add`, this extension data
is maintained automatically. However, GitPython doesn't do that ... .
Usually this is no problem at all, as you are supposed to use
`IndexFile.commit(...)` along with `IndexFile.add(...)`.

Thanks to a shortcoming in the GitPython API, the index was
automatically written out whenever files have been added, without
providing control over whether or not *extension data* will be
written along with it.

My fix consists of an additional flag in `IndexFile.add(...)`, which
causes extension data not to be written by default, so commits can be
safely done via `git commit` or `IndexFile.commit(...)`.

However, this might introduce new subtle bugs in case someone is
relying on extension data to be written. As this can be controlled
through the said flag though, a fix is easily done in that case.

Fixes #265
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It turned out that the index is not actually corrupted, which is good
news. What happens is that `git` writes `TREE` extension data into the
index, which causes it to write out the given tree *as is* next time
a `git commit` is executed. When using `git add`, this extension data
is maintained automatically. However, GitPython doesn't do that ... .
Usually this is no problem at all, as you are supposed to use
`IndexFile.commit(...)` along with `IndexFile.add(...)`.

Thanks to a shortcoming in the GitPython API, the index was
automatically written out whenever files have been added, without
providing control over whether or not *extension data* will be
written along with it.

My fix consists of an additional flag in `IndexFile.add(...)`, which
causes extension data not to be written by default, so commits can be
safely done via `git commit` or `IndexFile.commit(...)`.

However, this might introduce new subtle bugs in case someone is
relying on extension data to be written. As this can be controlled
through the said flag though, a fix is easily done in that case.

Fixes #265
</pre>
</div>
</content>
</entry>
<entry>
<title>Improved documentation on IndexFile.add(...)</title>
<updated>2015-02-23T07:34:04+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2015-02-23T07:33:54+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/gitpython.git/commit/?id=630d030058c234e50d87196b624adc2049834472'/>
<id>630d030058c234e50d87196b624adc2049834472</id>
<content type='text'>
Related to #224
[ci skip]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Related to #224
[ci skip]
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed regression in test-suite for IndexFile</title>
<updated>2015-01-21T17:57:34+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2015-01-21T17:56:29+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/gitpython.git/commit/?id=d565a874f29701531ce1fc0779592838040d3edf'/>
<id>d565a874f29701531ce1fc0779592838040d3edf</id>
<content type='text'>
Previously, it checked for AssertionErrors, now we have to implement
need-unbare-repo check ourselves.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, it checked for AssertionErrors, now we have to implement
need-unbare-repo check ourselves.
</pre>
</div>
</content>
</entry>
<entry>
<title>IndexFile.commit() now runs pre-commit and post-commit hooks.</title>
<updated>2015-01-12T13:55:31+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2015-01-12T13:55:31+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/gitpython.git/commit/?id=e8eae18dcc360e6ab96c2291982bd4306adc01b9'/>
<id>e8eae18dcc360e6ab96c2291982bd4306adc01b9</id>
<content type='text'>
However, it does so only on posix. The test-case will run on posix only
as well.
Please note that in theory, even on windows we will attempt to run hooks,
even though I am not sure that this will actually work.

Fixes #81
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
However, it does so only on posix. The test-case will run on posix only
as well.
Please note that in theory, even on windows we will attempt to run hooks,
even though I am not sure that this will actually work.

Fixes #81
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed os.path.realpath invocations as they are not necessary if paths are used consistently.</title>
<updated>2015-01-12T11:25:53+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2015-01-12T11:25:53+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/gitpython.git/commit/?id=e7671110bc865786ffe61cf9b92bf43c03759229'/>
<id>e7671110bc865786ffe61cf9b92bf43c03759229</id>
<content type='text'>
This will save IOPs, and make the code easier to understand (I suppose).

Related to #224
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This will save IOPs, and make the code easier to understand (I suppose).

Related to #224
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed all previously added invocations of os.path.realpath as it wasn't required afterall.</title>
<updated>2015-01-12T10:16:52+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2015-01-12T10:16:52+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/gitpython.git/commit/?id=ede325d15ba9cba0e7fe9ee693085fd5db966629'/>
<id>ede325d15ba9cba0e7fe9ee693085fd5db966629</id>
<content type='text'>
Turns out that the now removed `read_gitfile` functions applied os.path.realpath which caused
the issue described in #224.

Fixes #224
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Turns out that the now removed `read_gitfile` functions applied os.path.realpath which caused
the issue described in #224.

Fixes #224
</pre>
</div>
</content>
</entry>
<entry>
<title>Repo paths are now converted to real paths, as well as all paths involved in index related work.</title>
<updated>2015-01-12T10:14:06+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2015-01-12T10:14:06+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/gitpython.git/commit/?id=43e430d7fa5298f6db6b1649c1a77c208bacf2fc'/>
<id>43e430d7fa5298f6db6b1649c1a77c208bacf2fc</id>
<content type='text'>
That way, we don't try to compare a real-path to a non-real one, which would make the implementation think
a file is not actually part of the repository.

Fixes #224
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
That way, we don't try to compare a real-path to a non-real one, which would make the implementation think
a file is not actually part of the repository.

Fixes #224
</pre>
</div>
</content>
</entry>
<entry>
<title>Implemented non-blocking operations using poll()</title>
<updated>2015-01-07T10:18:07+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2015-01-07T10:18:07+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/gitpython.git/commit/?id=491440543571b07c849c0ef9c4ebf5c27f263bc0'/>
<id>491440543571b07c849c0ef9c4ebf5c27f263bc0</id>
<content type='text'>
Next up is using threads
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Next up is using threads
</pre>
</div>
</content>
</entry>
<entry>
<title>test_index works</title>
<updated>2015-01-06T09:43:25+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2015-01-06T09:43:25+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/gitpython.git/commit/?id=45c1c99a22e95d730d3096c339d97181d314d6ca'/>
<id>45c1c99a22e95d730d3096c339d97181d314d6ca</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
