summaryrefslogtreecommitdiff
path: root/git/objects
Commit message (Collapse)AuthorAgeFilesLines
* Skip on keyerrorSantos Gallegos2019-07-201-2/+3
|
* Don't assume there is a tag author in tagsSebastian Thiel2019-07-061-2/+3
| | | | Fixes #842
* Update commit.py constructor docstringDavid Host2019-03-151-1/+1
| | | Fixes issue #806: Commit requires author parameter to be of Actor type, not string.
* The proper way is return, not raise StopIterationMichael Käufl2018-10-211-1/+1
| | | | | | | 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
* Avoid from_timestamp() function to raise an exception when the offset is ↵ishepard2018-04-041-2/+5
| | | | | | greater or lower than 24 hours. Add tests that exercise the new behaviour
* Rewrite unnecessary dict/list/tuple calls as literalsHugo2018-03-187-16/+16
|
* Drop support for EOL Python 2.6Hugo2018-03-181-4/+1
|
* Remove trailing slash on drive pathCharles Bouchard-Légaré2017-11-161-1/+1
|
* Store submodule nameJohn Kirkham2017-10-011-1/+3
|
* BF: use get, not casting get_value while dealing with submodule path/url etcYaroslav Halchenko2017-09-191-5/+5
|
* Spelling fixesVille Skyttä2017-03-093-5/+5
|
* Fix git.Commit docs typoReuben Sutton2017-02-021-1/+1
|
* Merge pull request #541 from andy-maier/py26_fixesSebastian Thiel2016-12-081-1/+4
|\ | | | | Fixes to support Python 2.6 again.
| * Fixes to support Python 2.6 again.Andreas Maier2016-10-241-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
* | chore(lint): flake8Sebastian Thiel2016-12-081-1/+1
| | | | | | | | | | | | | | | | Interestingly only shows in particular python versions on travis. Maybe some caching effect? Locally it is reproducible easily, with the latest flake8
* | fix(submodule): don't fail if tracking branch can't be setupSebastian Thiel2016-12-081-1/+1
|/ | | | Fixes #545
* Merge branch 'cygwin' of https://github.com/ankostis/GitPython into ↵Sebastian Thiel2016-10-225-69/+68
|\ | | | | | | ankostis-cygwin
| * Merge with #532, fix unicode filenames with escapesurogatesKostis Anagnostopoulos2016-10-161-5/+2
| |\
| * | src: reduce needless deps to `gitdb.util`Kostis Anagnostopoulos2016-10-164-16/+12
| | |
| * | src: import os.path as ospKostis Anagnostopoulos2016-10-161-53/+56
| | |
* | | Fix some typosSantiago Castro2016-10-205-17/+17
| |/ |/|
* | fix(surrogateescape): enable on py2, fix testsSebastian Thiel2016-10-161-1/+2
| |
* | fix(unicode): use surrogateescape in bytes.decodeSebastian Thiel2016-10-161-5/+1
|/ | | | | | | | | | | | | | 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
* config, #525: polish more config-urlsKostis Anagnostopoulos2016-10-121-0/+4
|
* FIX #526: Do not depend on test-sourcesKostis Anagnostopoulos2016-10-111-1/+1
| | | | | | + 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.
* config: FIX regression by prev commit "wrap all conf..."Kostis Anagnostopoulos2016-10-041-2/+2
| | | | | | + Bug appeared as last 5 TCs (test_commit & test_stream) said: OSError: [WinError 6] The handle is invalid
* io: Wrap (probably) allconfig_writers in `with` blocksKostis Anagnostopoulos2016-10-041-39/+27
|
* src: No PyDev warningsKostis Anagnostopoulos2016-10-045-15/+17
| | | | | | | | + 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
* hidden win-errs: Let leaking TCs run till end, then hideKostis Anagnostopoulos2016-10-041-5/+19
| | | | | | | | | + 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.
* BF: Allow to remove a submodule with a remote without refsYaroslav Halchenko2016-10-031-1/+1
|
* io, #519: ALL open() --> with open()Kostis Anagnostopoulos2016-10-011-0/+2
| | | + Some cases had restructuring of code.
* Win, #519: FIX repo TCs.Kostis Anagnostopoulos2016-10-011-9/+12
| | | | | | | | | | | | | | | + 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.
* FIX hook TC on PY3+Win & indeterministic lock timing.Kostis Anagnostopoulos2016-09-291-0/+2
| | | | | | | | | + 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
* fix(commit): handle gpgsig properlySebastian Thiel2016-08-211-5/+10
| | | | | | | Assure that gpgsig is not initialized with None to allow the automatic deserialization to kick in. Fixes #500
* Fixed 'TypeError: decode() takes no keyword arguments' on Python 2.6Andreas Maier2016-06-011-3/+3
|
* Ignore invalid data when decoding commit objectsfix-for-invalid-data-in-commitsVincent Driessen2016-05-301-3/+3
| | | | | | Previously, GitPython chokes on this while decoding. Rather than choking, instead accept the error and replace the invalid bytes by the � (\x80) char.
* Add support for getting "aware" datetime infoVincent Driessen2016-04-192-2/+39
| | | | | | | | | | | | | | | | 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.
* fix(tree): show that fixing Tree.cache is not possibleSebastian Thiel2015-12-141-23/+29
| | | | | | | | | | 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
* chore(tree): remove dead codeSebastian Thiel2015-12-131-1/+0
| | | | [skip ci]
* fix(tree): tree item sort now uses git-styleSebastian Thiel2015-12-131-1/+49
| | | | | | | | | 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
* fix(commit): respect daylight saving when computing utc-offsetSebastian Thiel2015-11-081-2/+6
| | | | Related to #362
* fix(commit): serialization timezone handlingSebastian Thiel2015-08-171-1/+1
| | | | | | | | | 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
* gic {init,clone} --separate-git-dir is supported only since 1.7.5Julien Pivotto2015-07-221-1/+1
| | | | | Without this commit the update() function of a submodule does not work in CentOS 6.
* typo in submodules api documentationJulien Pivotto2015-07-171-1/+1
|
* Added two extra paramaters for commit to take author date and commit dateavi2015-07-171-3/+10
|
* Added NullHandlers to all loggers to preven "No handler" messagesJames Nowell2015-06-253-0/+3
| | | | | | | | 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.
* Fix type error (startswith expects bytes)John L. Walker2015-05-131-1/+1
|
* Fix problem with submodules on WindowsMarkus Siemens2015-04-071-1/+2
| | | | | | | | 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.
* Fix typoKyle P. Johnson2015-03-271-1/+1
|
* fix(iter-commit): ambiguous argument errorSebastian Thiel2015-03-021-2/+5
| | | | | | | | | | | | | | | 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