aboutsummaryrefslogtreecommitdiff
path: root/git/test/test_index.py
AgeCommit message (Collapse)Author
2018-03-18Use automatic formattersHugo
2018-03-18Unnecessary generator - rewrite as a set comprehensionHugo
2018-03-18Unnecessary generator - rewrite as a list comprehensionHugo
2018-03-18Rewrite unnecessary dict/list/tuple calls as literalsHugo
2018-03-18Replace function call with set literalHugo
2018-03-18Drop support for EOL Python 2.6Hugo
2017-11-28RF: use HIDE_WINDOWS_KNOWN_ERRORS instead of is_win to skip hooks testsYaroslav Halchenko
2017-11-28RF(TST): skip all tests dealing with hooks on windowsYaroslav Halchenko
2017-11-28RF: no "need" for custom shebang on windows since just does not workYaroslav Halchenko
2017-11-28RF(+BF?): refactor hooks creation in a test, and may be make it compat with ↵Yaroslav Halchenko
windows
2017-11-27BF(PY26): {} -> {0}, i.e. explicit index for .format()Yaroslav Halchenko
2017-10-30IndexFile.commit() now runs pre-commit and post-commit and commit-msg hooks.satahippy
2017-04-09Python 3.6 invalid escape sequence deprecation fixesVille Skyttä
https://docs.python.org/3/whatsnew/3.6.html#deprecated-python-behavior
2016-10-24Fixes to support Python 2.6 again.Andreas Maier
Details: - Added Python 2.6 again to .travis.yml (it was removed in commit 4486bcb). - Replaced the use of dictionary comprehensions in `git/cmd.py` around line 800 with the code before that change (in commit 25a2ebf). Reason: dict comprehensions were introduced only in Python 2.7. - Changed the import source for `SkipTest` and `skipIf` from `unittest.case` to first trying `unittest` and upon ImportError from `unittest2`. This was done in `git/util.py` and in several testcases. Reason: `SkipTest` and `skipIf` were introduced to unittest only in Python 2.7, and `unittest2` is a backport of `unittest` additions to Python 2.6. - In git/test/lib/helper.py, fixed the definition of `assertRaisesRegex` to work on py26. - For Python 2.6, added the `unittest2` dependency to `requirements.txt` and changed `.travis.yml` to install `unittest2`. Because git/util.py uses SkipTest from unittest/unittest2, the dependency could not be added to `test-requirements.txt`. - Fixed an assertion in `git/test/test_index.py` to also allow a Python 2.6 specific exception message. - In `is_cygwin_git()` in `git/util.py`, replaced `check_output()` with `Popen()`. It was added in Python 2.7. - Enabled Python 2.6 for Windows: - Added Python 2.6 for MINGW in .appveyor.yml. - When defining `PROC_CREATIONFLAGS` in `git/cmd.py`, made use of certain win32 and subprocess flags that were introduced in Python 2.7, dependent on whether we run on Python 2.7 or higher. - In `AutoInterrupt.__del__()` in `git/cmd.py`, allowed for `os` not having `kill()`. `os.kill()` was added for Windows in Python 2.7 (For Linux, it existed in Python 2.6 already).
2016-10-16cygwin, appveyor, #533: Enable actual failures, hide certain 2+2 casesKostis Anagnostopoulos
2016-10-16src: reduce needless deps to `gitdb.util`Kostis Anagnostopoulos
2016-10-16src: import os.path as ospKostis Anagnostopoulos
2016-10-11FIX #526: Do not depend on test-sourcesKostis Anagnostopoulos
+ Move `HIDE_WINDOWS_KNOWN_ERRORS` flag from `git.test.lib.helper-->git.util`; regular modules in main-sources folder also depend on that flag. + Use unittest.SkipTest instead of from non-standard `nose` lib.
2016-10-04io: Wrap (probably) allconfig_writers in `with` blocksKostis Anagnostopoulos
2016-10-04src: No PyDev warningsKostis Anagnostopoulos
+ Mark all unused vars and other non-pep8 (PyDev) warnings + test_utils: + enable & fix forgotten IterableList looped path. + unittestize all assertions. + remote: minor fix progress dispatching unknown err-lines
2016-10-04hidden win-errs: Let leaking TCs run till end, then hideKostis Anagnostopoulos
+ Detect code breaking the body of TCs eventually hidden win-errors by raising SkipTest ALAP. + submodule.base.py: import classes from `git.objects` instead of `utils`. + had to ++ ulimit 100->110 for the extra code tested (more leaks :-) + Centralize is_win detection.
2016-10-03Appveyor: Add and set HIDE_WINDOWS_KNOWN_ERRORS=Falsewinerr_showKostis Anagnostopoulos
+ Collect all "acknowledged" failing TCs on Appveyor and use "HIDE_WINDOWS_KNOWN_ERRORS" var to hide them.
2016-10-01Win, #519: FIX repo TCs.Kostis Anagnostopoulos
+ FIX TestRepo.test_submodule_update(): + submod: del `.git` file prior overwrite; Windows denied otherwise! + FIX TestRepo.test_untracked_files(): + In the `git add <file>` case, it failed with unicode args on PY2. Had to encode them with `locale.getpreferredencoding()` AND use SHELL. + cmd: add `shell` into `execute()` kwds, for overriding USE_SHELL per command. + repo: replace blocky `communicate()` in `_clone()` with thread-pumps. + test_repo.py: unittestize (almost all) assertions. + Replace open --> with open for index (base and TC). + test_index.py: Enabled a dormant assertion.
2016-09-29FIX tox/requirementsKostis Anagnostopoulos
2016-09-28Proc, #519: Rework error-exc msgs & log thread-pumps errorsKostis Anagnostopoulos
+ No WindowsError exception. + Add `test_exc.py` for unicode issues. + Single-arg for decoding-streams in pump-func.
2016-09-28Win, hook, #519: Consume Hook Popen-proc out of GILKostis Anagnostopoulos
+ HookException thrown on Popen, and were missed on Windows. + No SHELL on Popen?? + Minor fixes: + Try harder to delete trees - no remorses. + Simplify exception reprs. + Unittest-ize test_index assertions.
2016-09-28Win, #519: FIX with_rw_directory() to remove read-only dirsKostis Anagnostopoulos
+ Stop using gitdb's respective helper. + Fix files chmod(555) which CANNOT DELETE on Windows (but do on Linux).
2016-09-28src: constify is_<platform>() callsKostis Anagnostopoulos
+ TCs: unittest-asserts for git-tests.
2016-09-27src, #519: collect all is_<platform>() callsKostis Anagnostopoulos
2016-09-26test, #519: FIX appveyor conda & failures in py2.6 `assertRaisesRegexp`Kostis Anagnostopoulos
2016-09-25fix(test): deal with py2 and py3Sebastian Thiel
It ain't pretty, but should do the job. Related to #514
2016-09-25fix(index): improve LockedFD handlingSebastian Thiel
Relying on the destructor will not work, even though the code used to rely on it. Now we handle failures more explicitly. Far from perfect, but a good start for a fix. Fixes #514
2016-05-18Need spaces in Emacs style encoding commentSteven Colby
Although it's hard to see, PEP-0263 does have ws delimiting the 'coding' string. This commit will fix the root cause of (at least) one bug: https://lists.fedoraproject.org/archives/list/eclipse-sig@lists.fedoraproject.org/thread/5XQ5JRHG6DPPMGRDU7TA2AO4EYS2H7AG/
2016-04-13fixed unittest of issue #407 for Python3Piotr Pietraszkiewicz
2016-04-13fix(index): avoid recursing endlessly in add()Piotr Pietraszkiewicz
Issue #407
2015-08-29fix(compat): make test work with git >= 2.5Sebastian Thiel
2015-08-17fix(test_index): fix encodingSebastian Thiel
I really never want to touch python again, and never deal with py2/3 unicode handling anymore. By now, it seems pretty much anything is better. Is python to be blamed for it entirely ? Probably not, but there are better alternatives. Nim ? Rust ? Ruby ? Totally
2015-07-29fix(index):allow adding non-unicode paths to indexSebastian Thiel
This issue only surfaced in python 2, in case paths containing unicode characters were not actual unicode objects. In python 3, this was never the issue. Closes #331
2015-07-17added tests for commits with datesavi
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