| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
+ 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
|
| |
|
|
|
|
| |
+ Unicode PY2/3 issues fixed also in pump stream func.
|
|
|
|
|
| |
+ No WindowsError exception.
+ Add `test_exc.py` for unicode issues.
+ Single-arg for decoding-streams in pump-func.
|
|
|
|
|
| |
+ When `universal_lines==True` (515a6b9ccf8) must tel
`handle_process_output` to stop decoding strings.
|
|
|
|
|
|
|
|
| |
+ HookException thrown on Popen, and were missed on Windows.
+ No SHELL on Popen??
+ Minor fixes:
+ Try harder to delete trees - no remorses.
+ Simplify exception reprs.
+ Unittest-ize test_index assertions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
+ CAUSE: In Windows, Diffs freeze while reading Popen streams,
probably buffers smaller; good-thin(TM) in this case because reading a
Popen-proc from the launching-thread freezes GIL. The alternative to
use `proc.communicate()` also relies on big buffers.
+ SOLUTION: Use `cmd.handle_process_output()` to consume Diff-proc
streams.
+ Retroffited `handle_process_output()` code to support also
byte-streams, both Threading(Windows) and Select/Poll (Posix) paths
updated.
- TODO: Unfortunately, `Diff._index_from_patch_format()` still slurps
input; need to re-phrase header-regexes linewise to resolve it.
|
|
|
|
|
| |
+ DataDriven TCs for identifying which separate case failed.
+ appveyor: rework matrix, conda3.4 cannot install in develop mode
|
|
|
|
|
| |
+ Stop using gitdb's respective helper.
+ Fix files chmod(555) which CANNOT DELETE on Windows (but do on Linux).
|
| |
|
|
|
| |
+ TCs: unittest-asserts for git-tests.
|
|
|
|
|
|
|
|
|
|
|
| |
+ On MINGW-git, daemon exists but if invoked as 'git daemon', DAEMON
CANNOT DIE!
+ So, launch `git-daemon` on Apveyor, but
- remote TCs fail due to paths problems.
+ Updated README instructions on Windows.
+ Restore disabled remote TCs on Windows.
+ Disable failures on daemon-tests only the last moment
(raise SkipTest) so when ready, it will also pass.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
+ see
http://help.appveyor.com/discussions/problems/5334-nosetests-finsih-bu-build-stuck-and-next-job-dealys-to-start
+ Use `io.DEFAULT_BUFFER_SIZE`.
+ test_commit: replace asserts with unittest-asserts.
- TRY Popen() NO universal_newlines: NO, reverted in next commits.
+
[travisci skip]
|
|
|
|
|
|
|
| |
+ Retrofit try...finally blocks to ensure killing the daemon - now
vulnerable also on Windows due to Popen() + CREATE_NEW_PROCESS_GROUP
- BUT `test_base.test_with_rw_remote_and_rw_repo()` TC fails in MINGW
due to invalid remote-URL in fetching-repo's config. Another day.
- NEXT FREEZE to solve: test-diff_interface() under MINGW!
|
| |
|
|
|
| |
+ test_diff: replace asserts with unittest-asserts.
|
|
|
|
|
| |
+ FIXED most hangs BUT no more `git-daemon` un-killable!
+ Use logger for utils to replace stray print().
|
|
|
|
|
|
| |
+ More win-fixes:
+ Do not check unicode files in < py3.
+ util, #519: x4 timeout of lock-file blocking, failing in Appveyor.
|
| |
|
|
|
|
|
|
|
|
| |
+ The code in `_read_lines_from_fno()` was reading the stream only once
per invocation, so when input was larger than `mmap.PAGESIZE`, bytes
were forgotten in the stream.
+ Replaced buffer-building code with iterate-on-file-descriptors.
+ Also set deamon-threads.
|
| |
|
|
|
|
|
| |
+ Fixed the hangs at `test_git:TestGit.test_handle_process_output()`.
[travisci skip]
|
|
|
|
| |
+ Del extra spaces, import os.path as osp
|
|
|
|
| |
Thanks to @yarikoptic for catching this one !
|
|
|
|
|
|
| |
It ain't pretty, but should do the job.
Related to #514
|
|
|
|
|
|
|
|
|
|
| |
Relying on the destructor will not work, even though
the code used to rely on it.
Now we handle failures more explicitly. Far from perfect,
but a good start for a fix.
Fixes #514
|
|
|
|
|
|
|
|
|
| |
It's not optimal, as we can now return one of two types
which are only compatible in the most basic ways.
However, it is better than before, I presume.
Fixes #510
|
|
|
|
|
|
|
| |
It's entirely untested if this repo still does the right thing,
but I'd think it does.
Fixes #504
|
|
|
|
|
| |
Update Remotes section
The Remotes section was missing some pretty important info.
|
|
|
|
|
|
|
| |
Assure that gpgsig is not initialized with None
to allow the automatic deserialization to kick in.
Fixes #500
|
| |
|
|\
| |
| | |
is_dirty supports path. Fixes #482.
|
| | |
|
| | |
|
| |
| |
| |
| | |
- add a second line to commit messages with the "BAD MESSAGE" text
- read in the log and confirm that the seond line is not in the log file
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
That way, we do not have to figure the change type out by
examining the diff object.
It's implemented in a way that should yield more desireable results
as we keep the change-type that git is providing us with.
Fixes #493
|
|/
|
|
|
|
|
|
|
|
| |
That way, we will not only get the summary line
contained in the blame, but fetch the full message.
This is more costly than the previous implementation
allowed it to be, but being less surprising/correct
certainly is the preferred behaviour here.
Fixes #485
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Please exclude the particular assertion instead.
Related to
https://github.com/gitpython-developers/GitPython/commit/a3f24f64a20d1e09917288f67fd21969f4444acd#commitcomment-17691581
|
|\ \
| | |
| | |
| | |
| | | |
gitpython-developers/fix-for-invalid-data-in-commits
Add test case as example of Git commit with invalid data
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|