| 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
|
| |
|
|
|
|
| |
Relates to #446
|
|
|
|
|
| |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The main point is that from now on, tests are required to add
new features. If the fix is minor enough, not having a test
is probably alright.
That distinction is not represented in the contribution guide
as more tests are better - people should prefer to have a test
whenever they contribute anything.
My motivation to finally do this is the sad realization that
I grow too unconfident about the quality of some contributions
without having tests that proof they are valid. It's not enough
to not break anything that exists, as the current test-suite is
certainly not perfect either.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | | | |
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Fixes #457: 'TypeError: decode() takes no keyword arguments' on Python 2.6
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Please exclude the particular assertion instead.
Related to
https://github.com/gitpython-developers/GitPython/commit/a3f24f64a20d1e09917288f67fd21969f4444acd#commitcomment-17691581
|
| | |
| | |
| | |
| | |
| | |
| | | |
More information in the respective issue.
Fixes #453
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| |/ /
|/| | |
Skip test that always fails on Travis CI
|
|/ / |
|
| |
| |
| |
| |
| |
| | |
Python :) !!
Related to #451
|
| |
| |
| |
| |
| |
| | |
Related to #451
Signed-off-by: Sebastian Thiel <byronimo@gmail.com>
|
|\ \
| | |
| | | |
Fix traceback because _seen_ops is not initialised
|
|/ /
| |
| |
| | |
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
|
| |
| |
| |
| | |
Related to #450
|
| |
| |
| |
| |
| |
| | |
Minor adjustments to PR to match current code style.
Related to #450
|
|\ \
| | |
| | | |
The progress arg to push, pull, fetch and clone is now a python calla…
|