aboutsummaryrefslogtreecommitdiff
path: root/git/test/test_index.py
AgeCommit message (Collapse)Author
2015-06-26fix(index): handle adding symlinks to dirsSebastian Thiel
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
2015-04-08fix(index): don't write extension data by defaultSebastian Thiel
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
2015-04-07test(index): test for #265Sebastian Thiel
However, it doesn't reproduce on the latest version of GitPython. Maybe it's on an older one.
2015-01-21Fixed regression in test-suite for IndexFileSebastian Thiel
Previously, it checked for AssertionErrors, now we have to implement need-unbare-repo check ourselves.
2015-01-19Improved unicode handling when using os.environ or GitConfigParserSebastian Thiel
Assured unicode values are supported when reading the configuration, and when getting author/committer information from the environment. Fixes #237
2015-01-12IndexFile.commit() now runs pre-commit and post-commit hooks.Sebastian Thiel
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
2015-01-12Removed os.path.realpath invocations as they are not necessary if paths are ↵Sebastian Thiel
used consistently. This will save IOPs, and make the code easier to understand (I suppose). Related to #224
2015-01-07Made sure commits accept unicode or unicode charactersSebastian Thiel
2015-01-07fix pep8firm1
2015-01-07add tests for commit by actorfirm1
2015-01-06test_repo worksSebastian Thiel
2015-01-06test_index worksSebastian Thiel
2015-01-05Fixed io types to make tests work on PY2 once again.Sebastian Thiel
Now it's about going through PY3 issues
2015-01-04Dum brute force conversion of all types.Sebastian Thiel
However, StringIO really is ByteIO in most cases, and py2.7 should run but doesn't. This should be made work first.
2015-01-04initial set of adjustments to make (most) imports work.Sebastian Thiel
More to come, especially when it's about strings
2015-01-04Replaced ordered dict with standard version; used logging moduleSebastian Thiel
All performance tests still print to stderr, but do so in a py3 compatible way
2015-01-04Removed 'from X import *' whereever possibleSebastian Thiel
2015-01-04Bumped version, updated changelog, reduced code smellSebastian Thiel
There is more work to do though, as many imports are still incorrect. Also, there are still print statements
2015-01-04Applied autopep8Sebastian Thiel
autopep8 -v -j 8 --max-line-length 120 --in-place --recursive
2015-01-03Fixed all remaining non-performance testsSebastian Thiel
* travis configuration adjusted to hopefully work better than before Performance traversal still fails when using git-python as standard repository. It naturally wants a larger one. On travis these tests are skipped though.
2014-11-19Applied autopep8Sebastian Thiel
Commandline was autopep8 -j 8 --max-line-length 120 --in-place --recursive --exclude "*gitdb*,*async*" git/
2014-11-17Allow Index.add() on bare repositoriesSebastian Thiel
2014-11-16pep8 linting (trailing whitespace)Antoine Musso
W291 trailing whitespace
2014-11-16pep8 linting (whitespace before/after)Antoine Musso
E201 whitespace after '(' E202 whitespace before ')' E203 whitespace before ':' E225 missing whitespace around operator E226 missing whitespace around arithmetic operator E227 missing whitespace around bitwise or shift operator E228 missing whitespace around modulo operator E231 missing whitespace after ',' E241 multiple spaces after ',' E251 unexpected spaces around keyword / parameter equals
2014-11-16pep8 linting (blank lines expectations)Antoine Musso
E301 expected 1 blank line, found 0 E302 expected 2 blank lines, found 1 E303 too many blank lines (n)
2014-11-16pep8 linting (whitespaces)Antoine Musso
W191 indentation contains tabs E221 multiple spaces before operator E222 multiple spaces after operator E225 missing whitespace around operator E271 multiple spaces after keyword W292 no newline at end of file W293 blank line contains whitespace W391 blank line at end of file
2014-02-09tabs to 4 spaces - this won't make integrating the patches easier, but it's ↵Sebastian Thiel
probably a good idea to go a little more pep8 (and fix sins of my youth ;) )
2010-11-25Moved everything into the git subdirectory - some tests still need to be ↵Sebastian Thiel
adjusted