summaryrefslogtreecommitdiff
path: root/git
Commit message (Collapse)AuthorAgeFilesLines
* Don't choke on (legitimately) invalidly encoded Unicode pathsfix-dont-choke-on-invalid-unicode-pathsVincent Driessen2016-06-063-10/+18
|
* Merge pull request #460 from ddanier/autointerrupt_del_no_os_killSebastian Thiel2016-06-021-1/+1
|\ | | | | Make sure os is not even partly destroyed
| * Make sure os is not even partly destroyedDavid Danier2016-06-011-1/+1
| |
* | fix(test): remove unused importSebastian Thiel2016-06-022-1/+1
|/
* Fixed 'TypeError: decode() takes no keyword arguments' on Python 2.6Andreas Maier2016-06-011-3/+3
|
* fix(test): do not skip test on travisSebastian Thiel2016-06-012-2/+0
| | | | | | | Please exclude the particular assertion instead. Related to https://github.com/gitpython-developers/GitPython/commit/a3f24f64a20d1e09917288f67fd21969f4444acd#commitcomment-17691581
* Fix regexVincent Driessen2016-05-301-1/+1
| | | | | This catches the case where the matched line contains "(" or ")" characters.
* Merge pull request #456 from ↵Sebastian Thiel2016-05-303-3/+16
|\ | | | | | | | | gitpython-developers/fix-for-invalid-data-in-commits Add test case as example of Git commit with invalid data
| * 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 test case as example of Git commit with invalid dataVincent Driessen2016-05-302-0/+13
| | | | | | | | | | | | | | | | | | | | This is a real commit from the microjs.com open source project, see https://github.com/madrobby/microjs.com/commit/7e8457c17850d0991763941213dcb403d80f39f8, which is declared to be encoded in UTF-8, but contains invalid bytes. This makes GitPython choke on it while decoding. Rather than choking, this should instead accept the error and replace the invalid bytes by the � (\x80) char.
* | Merge pull request #454 from ↵Sebastian Thiel2016-05-303-8/+29
|\ \ | | | | | | | | | | | | gitpython-developers/fix-octal-escaped-path-parser-bug Fix bug in diff parser output
| * | Fix bug in diff parser outputfix-octal-escaped-path-parser-bugVincent Driessen2016-05-303-8/+29
| |/ | | | | | | | | | | | | | | | | | | | | | | The diff --patch parser was missing some edge case where Git would encode non-ASCII chars in path names as octals, but these weren't decoded properly. \360\237\222\251.txt Decoded via utf-8, that will return: 💩.txt
* | Skip test that always fails on Travis CIfix-ci-testsVincent Driessen2016-05-301-5/+6
|/
* chore(remote): better super-class call syntaxSebastian Thiel2016-05-291-1/+1
| | | | | | Python :) !! Related to #451
* chore(flake8): whitespace ...Sebastian Thiel2016-05-291-1/+1
| | | | | | Related to #451 Signed-off-by: Sebastian Thiel <byronimo@gmail.com>
* Fix traceback because _seen_ops is not initialisedBarry Scott2016-05-291-2/+2
| | | | must call the base class __init__
* fix(remote): improve version checkSebastian Thiel2016-05-291-2/+2
| | | | | | | | | | | | | Make version check much more readable, and fix it at the same time. The previous implementation would assume progress is supported just by looking at the patch-level for instance. A quick check of the git sources seems to indicate the --progress flag exists in v1.7 of the git command-line already. Fixes #449
* fix(remote): Add CallableRemoteProgressSebastian Thiel2016-05-292-12/+22
| | | | | | That way, the base type doesn't need any adjustment. Related to #450
* chore(misc): cleanup and docsSebastian Thiel2016-05-294-34/+24
| | | | | | Minor adjustments to PR to match current code style. Related to #450
* Merge remote-tracking branch 'upstream/master'Barry Scott2016-05-282-16/+34
|\
| * Merge pull request #447 from Xender/patch-1Sebastian Thiel2016-05-271-1/+1
| |\ | | | | | | Use proper syntax for conditional expressions.
| | * Use proper syntax for conditional expressionAleksander Nitecki2016-05-261-1/+1
| | | | | | | | | (instead of abusing the "short-circuit" property of logical operations)
| * | Changing warning to debug logging, to avoid warning showing off when ↵Guyzmo2016-05-261-1/+1
| |/ | | | | | | | | | | | | | | nothing's wrong cf #444 Signed-off-by: Guyzmo <guyzmo+github@m0g.net>
| * fix(remote): py3 compatibilitySebastian Thiel2016-05-261-2/+2
| | | | | | | | Related to #444
| * fix(remote): py3 compatibilitySebastian Thiel2016-05-261-2/+2
| |
| * fix(remote): use universal_newlines for fetch/pushSebastian Thiel2016-05-262-6/+13
| | | | | | | | | | | | That way, real-time parsing of output should finally be possible. Related to #444
| * fix(remote): real-time reading of lines from stderrSebastian Thiel2016-05-261-1/+1
| | | | | | | | | | | | That way, progress usage will behave as expected. Fixes #444
| * import OrderedDict from git.odict rather than directly from collections, to ↵Kenneth Hoste2016-05-261-1/+1
| | | | | | | | pix Py2.6 compatibility
| * fix(remote): better array truncation logicSebastian Thiel2016-05-251-5/+9
| | | | | | | | | | | | | | Previously, the logic was not correct. Now it should work either way, truncating the correct list to assure both always have the same length. Related to #442
| * fix(remote): remove assertion in favour of runtime stabilitySebastian Thiel2016-05-251-4/+11
| | | | | | | | Fixes #442
* | The progress arg to push, pull, fetch and clone is now a python callable.Barry Scott2016-05-283-10/+54
|/ | | | | | | | | | | | | This simplifies the API and removes the parser, RemoteProgres, from the API as RemoteProgress is an internal detail of the implementation. progress is accepted as: * None - drop progress messages * callable (function etc) - call the function with the same args as update * object - assume its RemoteProgress derived as use as before RemoteProgress takes an optional progress_function argument. It will call the progress function if not None otherwise call self.update as it used to.
* fix(RemoteProgress): improve message sanitizationSebastian Thiel2016-05-252-5/+17
| | | | | | Don't allow `, ` prefixes or suffixes in messages. Fixes #438
* Merge branch 'jonathanchu-master'Vincent Driessen2016-05-242-3/+2
|\
| * Ignore trailing last empty string in .split() outputVincent Driessen2016-05-241-4/+1
| |
| * Check if byte string is empty for py3 compatibilityJonathan Chu2016-05-241-1/+1
| |
| * Split lines by new line charactersJonathan Chu2016-05-242-3/+5
| | | | | | | | | | | | Opt to split lines by the new line character instead of letting `splitlines()` do this. This helps catch the issue when there are special characters in the line, particular the commit summary section.
* | fix(cmd): fix with_stdout implementationSebastian Thiel2016-05-241-1/+1
|/ | | | | | | | | | | | | | Admittedly this fix is solely based on the documentation provided for this parameter, which indicated a different intend than was actually implemented. Also I don't believe doing this will cause any harm. As a special note: the call to `open(os.devnull, 'wb')` does not seem leak the handle, apparently it is given as-is to the subprocess, which will then close it naturally. This was tested using an interactive session via `htop` on osx. Fixes #437
* fix(cmd): don't catch progress handler exceptionsSebastian Thiel2016-05-241-6/+1
| | | | Fixes #435
* Merge pull request #433 from StevenWColby/masterSebastian Thiel2016-05-196-6/+6
|\ | | | | Need spaces in Emacs style encoding comment
| * Need spaces in Emacs style encoding commentSteven Colby2016-05-186-6/+6
| | | | | | | | | | 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/
* | Merge pull request #431 from guyzmo/fix-opt_arg-orderSebastian Thiel2016-05-191-0/+3
|\ \ | | | | | | Fix order of operators before executing the git command
| * | Fix order of operators before executing the git commandGuyzmo2016-05-121-0/+3
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Python 3.3, the hash value of an object is seeded randomly, making it change between each call. As a consequence, the `dict` type relying on the hash value for the order of the items upon iterating on it, and the parameters passed to `git` being passed as `kwargs` to the `execute()` method, the order of parameters will change randomly between calls. For example, when you call `git.remote.pull()` in a code, two consecutives run will generate: 1. git pull --progress -v origin master 2. git pull -v --progress origin master Within the `transform_kwargs()` method, I'm promoting `kwargs` into an `collections.OrderedDict` being built with `kwargs` sorted on the keys. Then it will ensure that each subsequent calls will execute the parameters in the same order.
* | Use correct mode for executable filesSebastian Thiel2016-05-192-2/+2
| | | | | | | | Fixes #430
* | Clarify costs of certain propertiesSebastian Thiel2016-05-191-2/+7
| | | | | | | | Fixes #428
* | Deprecate Diffable.rename for .renamed_fileSebastian Thiel2016-05-192-1/+12
|/ | | | Fixes #426
* Allow "@" sign in fetch output linesVincent Driessen2016-04-241-2/+1
|
* Fix assertion2.0.0Sebastian Thiel2016-04-221-1/+1
| | | | Who would have thought we ever go 2.0 ;).
* Merge pull request #414 from nvie/support-full-datetimes-on-commitsSebastian Thiel2016-04-203-2/+50
|\ | | | | Add support for getting "aware" datetime info
| * Fix accidentally added importVincent Driessen2016-04-191-1/+0
| |
| * Add support for getting "aware" datetime infoVincent Driessen2016-04-194-2/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.