| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the following fields on Diff instances were assumed to be
passed in as unicode strings:
- `a_path`
- `b_path`
- `rename_from`
- `rename_to`
However, since Git natively records paths as bytes, these may
potentially not have a valid unicode representation.
This patch changes the Diff instance to instead take the following
equivalent fields that should be raw bytes instead:
- `a_rawpath`
- `b_rawpath`
- `raw_rename_from`
- `raw_rename_to`
NOTE ON BACKWARD COMPATIBILITY:
The original `a_path`, `b_path`, etc. fields are still available as
properties (rather than slots). These properties now dynamically decode
the raw bytes into a unicode string (performing the potentially
destructive operation of replacing invalid unicode chars by "�"'s).
This means that all code using Diffs should remain backward compatible.
The only exception is when people would manually construct Diff
instances by calling the constructor directly, in which case they should
now pass in bytes rather than unicode strings.
See also the discussion on
https://github.com/gitpython-developers/GitPython/pull/467
|
| |
|
|
|
|
|
| |
It usually fails on branches, which doesn't help
assessing PRs.
|
|\
| |
| | |
Adding support for git remote set-url/get-url API to Remote
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
remote get-url`
`get-url` is a new API that is not widely available yet (introduced in git 2.7.0), and
provokes failure on travis.
Signed-off-by: Guyzmo <guyzmo+github@m0g.net>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Both commands enable handling of a little known feature
of git, which is to support multiple URL for one remote.
You can add multiple url using the `set_url` subcommand of
`git remote`. As listing them is also handy, there's a
nice method to do it, using `get_url`.
* adding set_url method that maps to the git remote set-url command¶
* can be used to set an URL, or replace an URL with optional positional arg¶
* can be used to add, delete URL with kwargs (matching set-url options)¶
* adding add_url, delete_url methods that wraps around set_url for conveniency¶
* adding urls property that yields an iterator over the setup urls for a remote¶
* adding a test suite that checks all use case scenarii of this added API.¶
Signed-off-by: Guyzmo <guyzmo+github@m0g.net>
|
|\ \
| | |
| | |
| | |
| | | |
gitpython-developers/fix-dont-choke-on-invalid-unicode-paths
Don't choke on (legitimately) invalidly encoded Unicode paths
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
I see no need in verifying the status code.
It's enough to just get the error.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Just went through all changes and adjusted them to the best of my
abilities. As there are no tests to claim otherwise, I believe
this is correct enough.
However, it becomes evident that it's no longer possible to just
make changes without backing them with a respective test.
|
|\ \ \
| | | |
| | | |
| | | | |
https://github.com/barry-scott/GitPython into barry-scott-pr-cmd-raise-with-stderr-on-error
|
| | | |
| | | |
| | | | |
Convert to the expected bytes.
|
| | | | |
|
| |\ \ \
| | |/ /
| | | |
| | | | |
pr-cmd-raise-with-stderr-on-error
|
| | | |
| | | |
| | | | |
remove stderr for a wait() that is not the GitPython wrapper.
|
| | | | |
|
| | | | |
|
| | | | |
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
This issue must have rosen from `to_progress_instance()`
being inserted in a spot where `None` was a legit value.
Fixes #462
|
|\ \ \
| | | |
| | | | |
Make sure os is not even partly destroyed
|
| | | | |
|
|/ / / |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Please exclude the particular assertion instead.
Related to
https://github.com/gitpython-developers/GitPython/commit/a3f24f64a20d1e09917288f67fd21969f4444acd#commitcomment-17691581
|
| | |
| | |
| | |
| | |
| | | |
This catches the case where the matched line contains "(" or ")"
characters.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
gitpython-developers/fix-for-invalid-data-in-commits
Add test case as example of Git commit with invalid data
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously, GitPython chokes on this while decoding. Rather than
choking, instead accept the error and replace the invalid bytes by the
� (\x80) char.
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
gitpython-developers/fix-octal-escaped-path-parser-bug
Fix bug in diff parser output
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|/ / |
|
| |
| |
| |
| |
| |
| | |
Python :) !!
Related to #451
|
| |
| |
| |
| |
| |
| | |
Related to #451
Signed-off-by: Sebastian Thiel <byronimo@gmail.com>
|
| |
| |
| |
| | |
must call the base class __init__
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
That way, the base type doesn't need any adjustment.
Related to #450
|
| |
| |
| |
| |
| |
| | |
Minor adjustments to PR to match current code style.
Related to #450
|
|\ \ |
|
| |\ \
| | | |
| | | | |
Use proper syntax for conditional expressions.
|
| | |/
| | |
| | | |
(instead of abusing the "short-circuit" property of logical operations)
|
| |/
| |
| |
| |
| |
| |
| |
| | |
nothing's wrong
cf #444
Signed-off-by: Guyzmo <guyzmo+github@m0g.net>
|
| |
| |
| |
| | |
Related to #444
|
| | |
|
| |
| |
| |
| |
| |
| | |
That way, real-time parsing of output should finally be possible.
Related to #444
|
| |
| |
| |
| |
| |
| | |
That way, progress usage will behave as expected.
Fixes #444
|
| |
| |
| |
| | |
pix Py2.6 compatibility
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Fixes #442
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|