| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \ \
| | |/
| |/| |
|
| |/ |
|
|/ |
|
| |
|
|\
| |
| | |
fix(cmd): checking process.DEVNUL were needlessly opening `os.devnull`
|
| |
| |
| |
| |
| |
| |
| | |
Fixes resource-leak warning on Windows Puython-3.5.3+:
D:\python-3.5.2.amd64\lib\site-packages\git\cmd.py:583: ResourceWarning:
unclosed file <_io.BufferedWriter name='nul'>
else getattr(subprocess, 'DEVNULL', open(os.devnull, 'wb')))
|
|\ \
| | |
| | | |
Retrofit `repo` class as context-man to cleanup global mman on repo-delete
|
| |/
| |
| | |
Apply codereview comments of #541.
|
|/
|
|
| |
Fixes #576
|
|\
| |
| | |
Fixes to support Python 2.6 again.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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).
|
|/
|
|
|
|
|
|
| |
Interestingly only shows in particular python versions
on travis.
Maybe some caching effect?
Locally it is reproducible easily, with the latest flake8
|
|\
| |
| |
| | |
ankostis-cygwin
|
| |
| |
| |
| |
| |
| |
| |
| | |
+ Rework git-daemon launching with `with` resource-management.
+ cmd: add `is_cygwin` optional override kwd on `Git.polish_url()`.
- Cygwin TCs failing:
- PY2: err: 13, fail: 3
- PY3: err: 12, fail: 3
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
+ Make `Git.polish_url()` convert paths into Cygwin-friendly paths.
+ Add utility and soe TCs for funcs for detecting cygwin and converting
abs-paths to `/cygdrive/c/...`.
- Cygwin TCs failing:
- PY2: err: 14, fail: 3
- PY3: err: 13, fail: 3
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
| |
+ Ignore `with_extended_output` arg when reaising the exception, keep
its behavior when `status==0`.
|
|
|
|
|
|
| |
+ Bug discovered after enabling TC in prev commit and rework of fetch.
+ remote_tc: unitestize assertions.
+ util: DEL unused `_mktemp()`.
|
|
|
|
|
|
| |
+ `handle_process_output()` accepts null-finalizer, to pump completely
stderr before raising any errors.
+ test: Enable `TestGit.test_environment()` on Windows (to checks stderr
consumption).
|
|
|
|
|
| |
+ cmd: use DEVNULL for non PIPEs; no open-file.
+ TCs: some unitestize-assertions on base & remote TCs.
|
|
|
|
|
|
|
|
|
|
|
|
| |
+ Parse most remote & config-urls \-->/.
+ Used relative daemon-paths.
+ Use git-daemon PORT above 10k; on Windows all below need Admin rights.
+FIXED git-daemon @with_rw_and_rw_remote_repo():
+ test_base.test_with_rw_remote_and_rw_repo() PASS.
+ test_remote.test_base() now freezes! (so still hidden win_err)
+ repo_test: minor finally delete test-repos created inside this repo.
+ util: delete unused `absolute_project_path()`.
|
|
|
|
| |
+ Do not abspath twice when contructing cloned repo.
+ Add `git.repo.base` logger.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
+ 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.
|
|
|
| |
+ Collect all known commands
|
| |
|
|
|
|
| |
+ 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
+ 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.
|
|
|
|
|
| |
+ 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.
|
|
|
|
|
|
|
| |
+ Simplify call_process, no win-code case, no `make_call()` nested func.
+ Del needless WinError try..catch, in `_call_process()` already
converted as GitCommandNotFound by `execute()`.
+ pyism: kw-loop-->comprehension, facilitate debug-stepping
|
|
|
|
|
|
|
|
|
|
|
| |
+ 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]
|
| |
|
|
|
|
|
| |
+ FIXED most hangs BUT no more `git-daemon` un-killable!
+ Use logger for utils to replace stray print().
|
| |
|
|
|
|
|
|
|
|
| |
+ 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.
|
|
|
|
| |
+ Del extra spaces, import os.path as osp
|
|
|
|
|
|
|
| |
It's entirely untested if this repo still does the right thing,
but I'd think it does.
Fixes #504
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This fixes a UI problem with using GitPython from a GUI python probgram.
Each repo that is opened creates a git cat-file processs and that provess will create
a console window with out this change.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
| |
Convert to the expected bytes.
|