summaryrefslogtreecommitdiff
path: root/git
Commit message (Collapse)AuthorAgeFilesLines
...
* Proc, #519: Rework error-exc msgs & log thread-pumps errorsKostis Anagnostopoulos2016-09-289-57/+240
| | | | | + No WindowsError exception. + Add `test_exc.py` for unicode issues. + Single-arg for decoding-streams in pump-func.
* remote, #519: FIX1-of-2 double-decoding push-infosKostis Anagnostopoulos2016-09-283-3/+9
| | | | | + When `universal_lines==True` (515a6b9ccf8) must tel `handle_process_output` to stop decoding strings.
* Win, hook, #519: Consume Hook Popen-proc out of GILKostis Anagnostopoulos2016-09-285-108/+124
| | | | | | | | + 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.
* io, dif: #519: FIX DIFF freeze when reading from GILKostis Anagnostopoulos2016-09-283-88/+105
| | | | | | | | | | | | | | | + 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.
* test: Start using `ddt` library for TCsKostis Anagnostopoulos2016-09-281-12/+16
| | | | | + DataDriven TCs for identifying which separate case failed. + appveyor: rework matrix, conda3.4 cannot install in develop mode
* Win, #519: FIX with_rw_directory() to remove read-only dirsKostis Anagnostopoulos2016-09-2814-49/+69
| | | | | + Stop using gitdb's respective helper. + Fix files chmod(555) which CANNOT DELETE on Windows (but do on Linux).
* TCs: unittestize many test-docs assertionsKostis Anagnostopoulos2016-09-281-29/+29
|
* Win, #519: Ensure fixtures & bashscript checked-out eol=lfKostis Anagnostopoulos2016-09-282-3/+3
| | | | + FIX all Diff TCs.
* src: constify is_<platform>() callsKostis Anagnostopoulos2016-09-2813-52/+45
| | | + TCs: unittest-asserts for git-tests.
* PY2, #519: FIX GitCommandError.tostr() encoding issueKostis Anagnostopoulos2016-09-282-14/+22
| | | | + PY3 means "PY3 or later" (TODO: fix also for *gitdb* project).
* Win, #519: Remove `git.cmd` failback - no longer exists.Kostis Anagnostopoulos2016-09-281-54/+15
| | | | | | | + 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
* Win, #519: FIX undead Git-daemon on WindowsKostis Anagnostopoulos2016-09-283-10/+31
| | | | | | | | | | | + 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.
* test, #519: No remote TCs, git-daemon cannot die@!Kostis Anagnostopoulos2016-09-282-2/+5
|
* test, #519: Try appveyor advice for never-ending buildsKostis Anagnostopoulos2016-09-285-49/+52
| | | | | | | | | | | + 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]
* src, #519: Improve daemon launch so Win does not stuckKostis Anagnostopoulos2016-09-271-31/+38
| | | | | | | + 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!
* src, #519: collect all is_<platform>() callsKostis Anagnostopoulos2016-09-2714-47/+66
|
* win, #519: proc.terminate() instead of kill(SIGTERM)Kostis Anagnostopoulos2016-09-262-39/+41
| | | + test_diff: replace asserts with unittest-asserts.
* Win, #519: FIX WinHangs: Popen() CREATE_NEW_PROCESS_GROUP to allow killKostis Anagnostopoulos2016-09-264-17/+26
| | | | | + FIXED most hangs BUT no more `git-daemon` un-killable! + Use logger for utils to replace stray print().
* test, #519: Popen() pump: remove WaitGroupKostis Anagnostopoulos2016-09-262-46/+9
|
* test, #519: Popen() universal_newlin.es NoWindow in WinfoesKostis Anagnostopoulos2016-09-264-2/+16
| | | | | | + More win-fixes: + Do not check unicode files in < py3. + util, #519: x4 timeout of lock-file blocking, failing in Appveyor.
* test, #519: FIX appveyor conda & failures in py2.6 `assertRaisesRegexp`Kostis Anagnostopoulos2016-09-263-5/+11
|
* apveyor, #519: FIX incomplete Popen pumpKostis Anagnostopoulos2016-09-262-6/+18
| | | | | | | | + 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.
* apveyor: simplify test.Kostis Anagnostopoulos2016-09-261-1/+1
|
* win: GC.collect on all TC.tearDown to fix appveyor hang runsKostis Anagnostopoulos2016-09-269-3/+38
| | | | | + Fixed the hangs at `test_git:TestGit.test_handle_process_output()`. [travisci skip]
* test, deps: FIX `mock` deps on py3.Kostis Anagnostopoulos2016-09-254-20/+30
| | | | + Del extra spaces, import os.path as osp
* fix(test): put `test_commits` backSebastian Thiel2016-09-251-0/+1
| | | | Thanks to @yarikoptic for catching this one !
* fix(test): deal with py2 and py3Sebastian Thiel2016-09-251-1/+3
| | | | | | It ain't pretty, but should do the job. Related to #514
* fix(index): improve LockedFD handlingSebastian Thiel2016-09-252-2/+29
| | | | | | | | | | 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
* BF: allow for other section names which start with a string "remote"Yaroslav Halchenko2016-09-231-1/+1
| | | | | | | | | | | | | | | | | | | by demanding a space after a word remote, and space is explicitly described as a delimiter in man git-config: To begin a subsection put its name in double quotes, separated by space from the section name, otherwise e.g. File "/usr/lib/python2.7/dist-packages/datalad/support/gitrepo.py", line 836, in get_remote_branches for remote in self.repo.remotes: File "/home/yoh/deb/gits/python-git/git/repo/base.py", line 271, in remotes return Remote.list_items(self) File "/home/yoh/deb/gits/python-git/git/util.py", line 745, in list_items out_list.extend(cls.iter_items(repo, *args, **kwargs)) File "/home/yoh/deb/gits/python-git/git/remote.py", line 453, in iter_items raise ValueError("Remote-Section has invalid format: %r" % section) ValueError: Remote-Section has invalid format: u'remotes'
* doc(limitations): be very clear about known issuesSebastian Thiel2016-09-111-0/+0
| | | | Fixes #508
* fix(Head): checkout() handles detached headSebastian Thiel2016-09-112-1/+12
| | | | | | | | | 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
* fix(repo): make it serializable with pickleSebastian Thiel2016-09-113-3/+25
| | | | | | | It's entirely untested if this repo still does the right thing, but I'd think it does. Fixes #504
* fix(tag): resolve `commit` objects deeply.Sebastian Thiel2016-09-111-7/+7
| | | | | | | As TagObjects can point to other TagObjects, we need to keep going in order to resolve the final commit. Fixes #503
* Update Remotes section (#502)Forrest Hopkins2016-08-241-2/+7
| | | | | Update Remotes section The Remotes section was missing some pretty important info.
* fix(commit): handle gpgsig properlySebastian Thiel2016-08-212-6/+39
| | | | | | | Assure that gpgsig is not initialized with None to allow the automatic deserialization to kick in. Fixes #500
* Updated unittest.Phil Elson2016-08-191-2/+2
|
* Allowed remotes to have no refs.Phil Elson2016-08-191-1/+0
|
* use $GIT_DIR when setPiotr Gaczkowski2016-08-171-1/+1
|
* Merge pull request #496 from haizaar/masterSebastian Thiel2016-08-022-4/+25
|\ | | | | is_dirty supports path. Fixes #482.
| * is_dirty supports path. Fixes #482.Zaar Hai2016-08-012-4/+25
| |
* | refactor(cmd): streamline usage of creationflagsSebastian Thiel2016-08-021-13/+4
| |
* | fix flake8 problemsBarry Scott2016-08-011-3/+3
| |
* | add test to detect the corrupt logBarry Scott2016-08-011-1/+12
| | | | | | | | - 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
* | creationflags must be set to 0 on non-windows platformsBarry Scott2016-08-011-4/+5
| |
* | Must pass creationflags as a keyworkBarry Scott2016-08-011-1/+1
| |
* | Prevent CMD windows being shown when starting git in a subprocess.Barry Scott2016-07-291-1/+14
| | | | | | | | | | 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.
* | Merge remote-tracking branch 'upstream/master'Barry Scott2016-07-297-11/+23
|\ \
| * \ Merge pull request #490 from bertwesarg/patch-1Sebastian Thiel2016-07-231-1/+1
| |\ \ | | | | | | | | Add missing newline when writing a symbolic ref.
| | * | Use binary string constant for concatenation.Bert Wesarg2016-07-191-1/+1
| | | |
| | * | Add missing newline when writing a symbolic ref.Bert Wesarg2016-07-191-1/+1
| | | |