| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Fixes #842
|
|
|
| |
Fixes issue #806: Commit requires author parameter to be of Actor type, not string.
|
|
|
|
|
|
|
| |
See PEP 479[1] which is part of Python 3.7[2].
[1]: https://www.python.org/dev/peps/pep-0479/
[2]: https://docs.python.org/3/whatsnew/3.7.html#changes-in-python-behavior
|
|
|
|
|
|
| |
greater or lower than 24 hours.
Add tests that exercise the new behaviour
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
Fixes to support Python 2.6 again.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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).
|
| |
| |
| |
| |
| |
| |
| |
| | |
Interestingly only shows in particular python versions
on travis.
Maybe some caching effect?
Locally it is reproducible easily, with the latest flake8
|
|/
|
|
| |
Fixes #545
|
|\
| |
| |
| | |
ankostis-cygwin
|
| |\ |
|
| | | |
|
| | | |
|
| |/
|/| |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
That way, we will try to decode as default encoding (usually
utf-8), but allow ourselves to simply keep bytes that don't
match within the resulting unicode string.
That way, we allow for lossless decode/encode cycles while still
assuring that decoding never fails.
NOTE: I was too lazy to create a test that would verify it, but manually
executed https://github.com/petertodd/gitpython-unicode-error.
fixes #532
|
| |
|
|
|
|
|
|
| |
+ 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.
|
|
|
|
|
|
| |
+ Bug appeared as last 5 TCs (test_commit & test_stream) said:
OSError: [WinError 6] The handle is invalid
|
| |
|
|
|
|
|
|
|
|
| |
+ 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
|
|
|
|
|
|
|
|
|
| |
+ 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.
|
| |
|
|
|
| |
+ Some cases had restructuring of code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
+ 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.
|
|
|
|
|
|
|
|
|
| |
+ Cannot `index.path` into ENV, it is bytes!
+ The hook TC never runs on linux!
+ Unblock removal of odbfile in perf-large streams TC.
+ Attempt to unblock removal of submodule file by intensive cleaning.
more unblock files
|
|
|
|
|
|
|
| |
Assure that gpgsig is not initialized with None
to allow the automatic deserialization to kick in.
Fixes #500
|
| |
|
|
|
|
|
|
| |
Previously, GitPython chokes on this while decoding. Rather than
choking, instead accept the error and replace the invalid bytes by the
� (\x80) char.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds 2 properties to commits. Their values are derived from the
existing data stored on them, but this makes them more conveniently
queryable:
- authored_datetime
- committed_datetime
These return "aware" datetimes, so they are effectively companions to
their raw timestamp equivalents, respectively `authored_date` and
`committed_date`.
These datetime instances are convenient structures since they show the
author-local commit date and their UTC offset.
|
|
|
|
|
|
|
|
|
|
| |
The problem is that a per-tree modification API cannot work properly, as the sorting is based
on full paths of all entries within the repository. This feat can only be achieved by the index,
which to my knowledge already does it correctly.
The only fix is to remove the misleading API entirely, which will happen in the next commit.
Related to #369
|
|
|
|
| |
[skip ci]
|
|
|
|
|
|
|
|
|
| |
Previously it was possible to generate trees which didn't
appear legit to git as gitpython's sorting was a simple alpha-numeric
sort. Git uses one that minimizes literal string comparisons though,
and thus behaves slightly differently sometimes.
Fixes #369
|
|
|
|
| |
Related to #362
|
|
|
|
|
|
|
|
|
| |
Previously timezones which were not divisable by 3600s would be
parsed correctly, but would serialize into a full hour, rounded up.
Now floating point computation is used which fixes the issue.
Related to #336
|
|
|
|
|
| |
Without this commit the update() function of a submodule does not work
in CentOS 6.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
When the code is run without setting up loggers, the loggers have no
handlers for the emitted messages. The logging module displays:
`No handlers could be found for logger "git.cmd"` on the
console. By adding a NullHandler (a no-op) the message disappears,
and doesn't affect logging when other handlers are configured.
|
| |
|
|
|
|
|
|
|
|
| |
On Windows, `repo.create_submodule(...)` failed because git didn't recognize
the worktree path set in `.git/modules/sub/config` (`fatal: bad config file
line 6 in ./config`). This commit makes `_write_git_file_and_module_config`
convert the worktree path to the linux format (forward slashes) which git
recognizes.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In repositories like
> git branch -a
* test
> ls
test
`repo.iter_commits` failed due to an ambigous argument
(`'git rev-list test`).
Now this cannot happen anymore.
fixes #264
|