aboutsummaryrefslogtreecommitdiff
path: root/git
AgeCommit message (Collapse)Author
2016-09-28Win, hook, #519: Consume Hook Popen-proc out of GILKostis Anagnostopoulos
+ 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.
2016-09-28io, dif: #519: FIX DIFF freeze when reading from GILKostis Anagnostopoulos
+ 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.
2016-09-28test: Start using `ddt` library for TCsKostis Anagnostopoulos
+ DataDriven TCs for identifying which separate case failed. + appveyor: rework matrix, conda3.4 cannot install in develop mode
2016-09-28Win, #519: FIX with_rw_directory() to remove read-only dirsKostis Anagnostopoulos
+ Stop using gitdb's respective helper. + Fix files chmod(555) which CANNOT DELETE on Windows (but do on Linux).
2016-09-28TCs: unittestize many test-docs assertionsKostis Anagnostopoulos
2016-09-28Win, #519: Ensure fixtures & bashscript checked-out eol=lfKostis Anagnostopoulos
+ FIX all Diff TCs.
2016-09-28src: constify is_<platform>() callsKostis Anagnostopoulos
+ TCs: unittest-asserts for git-tests.
2016-09-28PY2, #519: FIX GitCommandError.tostr() encoding issueKostis Anagnostopoulos
+ PY3 means "PY3 or later" (TODO: fix also for *gitdb* project).
2016-09-28Win, #519: Remove `git.cmd` failback - no longer exists.Kostis Anagnostopoulos
+ 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
2016-09-28Win, #519: FIX undead Git-daemon on WindowsKostis Anagnostopoulos
+ 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.
2016-09-28test, #519: No remote TCs, git-daemon cannot die@!Kostis Anagnostopoulos
2016-09-28test, #519: Try appveyor advice for never-ending buildsKostis Anagnostopoulos
+ 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]
2016-09-27src, #519: Improve daemon launch so Win does not stuckKostis Anagnostopoulos
+ 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!
2016-09-27src, #519: collect all is_<platform>() callsKostis Anagnostopoulos
2016-09-26win, #519: proc.terminate() instead of kill(SIGTERM)Kostis Anagnostopoulos
+ test_diff: replace asserts with unittest-asserts.
2016-09-26Win, #519: FIX WinHangs: Popen() CREATE_NEW_PROCESS_GROUP to allow killKostis Anagnostopoulos
+ FIXED most hangs BUT no more `git-daemon` un-killable! + Use logger for utils to replace stray print().
2016-09-26test, #519: Popen() pump: remove WaitGroupKostis Anagnostopoulos
2016-09-26test, #519: Popen() universal_newlin.es NoWindow in WinfoesKostis Anagnostopoulos
+ More win-fixes: + Do not check unicode files in < py3. + util, #519: x4 timeout of lock-file blocking, failing in Appveyor.
2016-09-26test, #519: FIX appveyor conda & failures in py2.6 `assertRaisesRegexp`Kostis Anagnostopoulos
2016-09-26apveyor, #519: FIX incomplete Popen pumpKostis Anagnostopoulos
+ 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.
2016-09-26apveyor: simplify test.Kostis Anagnostopoulos
2016-09-26win: GC.collect on all TC.tearDown to fix appveyor hang runsKostis Anagnostopoulos
+ Fixed the hangs at `test_git:TestGit.test_handle_process_output()`. [travisci skip]
2016-09-25test, deps: FIX `mock` deps on py3.Kostis Anagnostopoulos
+ Del extra spaces, import os.path as osp
2016-09-25fix(test): put `test_commits` backSebastian Thiel
Thanks to @yarikoptic for catching this one !
2016-09-25fix(test): deal with py2 and py3Sebastian Thiel
It ain't pretty, but should do the job. Related to #514
2016-09-25fix(index): improve LockedFD handlingSebastian Thiel
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
2016-09-23BF: allow for other section names which start with a string "remote"Yaroslav Halchenko
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'
2016-09-11doc(limitations): be very clear about known issuesSebastian Thiel
Fixes #508
2016-09-11fix(Head): checkout() handles detached headSebastian Thiel
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
2016-09-11fix(repo): make it serializable with pickleSebastian Thiel
It's entirely untested if this repo still does the right thing, but I'd think it does. Fixes #504
2016-09-11fix(tag): resolve `commit` objects deeply.Sebastian Thiel
As TagObjects can point to other TagObjects, we need to keep going in order to resolve the final commit. Fixes #503
2016-08-24Update Remotes section (#502)Forrest Hopkins
Update Remotes section The Remotes section was missing some pretty important info.
2016-08-21fix(commit): handle gpgsig properlySebastian Thiel
Assure that gpgsig is not initialized with None to allow the automatic deserialization to kick in. Fixes #500
2016-08-19Updated unittest.Phil Elson
2016-08-19Allowed remotes to have no refs.Phil Elson
2016-08-17use $GIT_DIR when setPiotr Gaczkowski
2016-08-02Merge pull request #496 from haizaar/masterSebastian Thiel
is_dirty supports path. Fixes #482.
2016-08-02refactor(cmd): streamline usage of creationflagsSebastian Thiel
2016-08-01is_dirty supports path. Fixes #482.Zaar Hai
2016-08-01fix flake8 problemsBarry Scott
2016-08-01add test to detect the corrupt logBarry Scott
- 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
2016-08-01creationflags must be set to 0 on non-windows platformsBarry Scott
2016-08-01Must pass creationflags as a keyworkBarry Scott
2016-07-29Prevent CMD windows being shown when starting git in a subprocess.Barry Scott
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.
2016-07-29Merge remote-tracking branch 'upstream/master'Barry Scott
2016-07-23Merge pull request #490 from bertwesarg/patch-1Sebastian Thiel
Add missing newline when writing a symbolic ref.
2016-07-23fix(diff): use explicit change-type if possibleSebastian Thiel
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
2016-07-19Use binary string constant for concatenation.Bert Wesarg
2016-07-19Add missing newline when writing a symbolic ref.Bert Wesarg
2016-07-17fix(blame): lazily fetch full commit messageSebastian Thiel
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