<feed xmlns='http://www.w3.org/2005/Atom'>
<title>GitPython/git/index, branch issue-301-reproduction</title>
<subtitle>Forked from https://github.com/gitpython-developers/GitPython</subtitle>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/GitPython/'/>
<entry>
<title>fix(index): handle adding symlinks to dirs</title>
<updated>2015-06-26T07:58:47+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2015-06-26T07:58:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/GitPython/commit/?id=cfc70fe92d42a853d4171943bde90d86061e3f3a'/>
<id>cfc70fe92d42a853d4171943bde90d86061e3f3a</id>
<content type='text'>
When expanding directories, check if it is a symlink and don't expand
them at all.

Previously, we followed symlinks and expanded their contents, which
could lead to weird index files.

Fixes #302
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When expanding directories, check if it is a symlink and don't expand
them at all.

Previously, we followed symlinks and expanded their contents, which
could lead to weird index files.

Fixes #302
</pre>
</div>
</content>
</entry>
<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='https://git.otimperi.dev/GitPython/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='https://git.otimperi.dev/GitPython/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='https://git.otimperi.dev/GitPython/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>Merge branch 'bf/run_hooks_from_working_dir' of https://github.com/yarikoptic/GitPython into yarikoptic-bf/run_hooks_from_working_dir</title>
<updated>2015-02-09T18:23:17+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2015-02-09T18:23:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/GitPython/commit/?id=9dc8fffd179b3d7ad7c46ff2e6875cc8075fabf3'/>
<id>9dc8fffd179b3d7ad7c46ff2e6875cc8075fabf3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Minor Flake8 fixes.</title>
<updated>2015-02-09T18:22:18+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2015-02-09T18:22:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/GitPython/commit/?id=fe426d404b727d0567f21871f61cc6dc881e8bf0'/>
<id>fe426d404b727d0567f21871f61cc6dc881e8bf0</id>
<content type='text'>
Latest version of it is required to show the issues travis shows as well
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Latest version of it is required to show the issues travis shows as well
</pre>
</div>
</content>
</entry>
<entry>
<title>BF: run commit hook with repo.working_dir as cwd</title>
<updated>2015-02-09T02:47:55+00:00</updated>
<author>
<name>Yaroslav Halchenko</name>
<email>debian@onerussian.com</email>
</author>
<published>2015-02-09T02:47:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/GitPython/commit/?id=873823f39275ceb8d65ebfae74206c7347e07123'/>
<id>873823f39275ceb8d65ebfae74206c7347e07123</id>
<content type='text'>
Otherwise commit hook might rightfully fail, as happens if
repository is e.g. git-annex repository.  See e.g. now failing

https://travis-ci.org/datalad/datalad/builds/49802394\#L1590
which seems to pass tests nicely with patch as this
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Otherwise commit hook might rightfully fail, as happens if
repository is e.g. git-annex repository.  See e.g. now failing

https://travis-ci.org/datalad/datalad/builds/49802394\#L1590
which seems to pass tests nicely with patch as this
</pre>
</div>
</content>
</entry>
<entry>
<title>Overhauled all tutorials, and placed them in a unit-test.</title>
<updated>2015-01-22T11:40:07+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2015-01-22T11:40:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/GitPython/commit/?id=b54b9399920375f0bab14ff8495c0ea3f5fa1c33'/>
<id>b54b9399920375f0bab14ff8495c0ea3f5fa1c33</id>
<content type='text'>
That way they are protected from regression.

Fixes #239
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
That way they are protected from regression.

Fixes #239
</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='https://git.otimperi.dev/GitPython/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>Fixed some doc strings to build correctly with sphinx</title>
<updated>2015-01-14T16:49:33+00:00</updated>
<author>
<name>Sebastian Thiel</name>
<email>byronimo@gmail.com</email>
</author>
<published>2015-01-14T16:47:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/GitPython/commit/?id=6569c4849197c9475d85d05205c55e9ef28950c1'/>
<id>6569c4849197c9475d85d05205c55e9ef28950c1</id>
<content type='text'>
Fixes #7

[ci skip]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #7

[ci skip]
</pre>
</div>
</content>
</entry>
</feed>
