| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
fix(cmd): fixed deadlock when stderr buffer overflow
|
|/
|
|
|
|
|
| |
Fixed deadlock when using stderr=PIPE in Popen and Git generates enough
output to a pipe such that it blocks waiting for the OS pipe buffer to
accept more data (see
https://docs.python.org/2/library/subprocess.html#subprocess.Popen.wait)
|
| |
|
|
|
|
|
|
|
| |
Previously it was possible for it to pick up non-repository
branch configuration, even though it was unlikely.
Closes #350
|
|
|
|
|
|
|
|
|
|
|
| |
Similar to git, we now ignore options which have no value.
Previously it would not handle it consistently, and throw a parsing
error the first time the cache was built.
Afterwards, it was fully usable though.
Now we specifically check for the case of no-value options instead.
Closes #349
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As GitPython is in maintenance mode, there will be no new features.
However, I believe it's good idea to explicitly state we do not support
certain things if this is the case.
Therefore, when worktrees are encountered, we will throw an specific
exception to indicate that.
The current implementation is hacky to speed up development,
and increases the risk of failing due to false-positive worktree
directories.
Related to #344
|
|
|
|
|
|
| |
This should fix resource leaking issues once and for all.
Related #304
|
|\
| |
| | |
fix(cmd): make short options with arguments become two separate argum…
|
| | |
|
| |
| |
| |
| | |
for the executable.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I really never want to touch python again, and never deal with
py2/3 unicode handling anymore.
By now, it seems pretty much anything is better.
Is python to be blamed for it entirely ?
Probably not, but there are better alternatives.
Nim ? Rust ? Ruby ?
Totally
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously timezones which were not divisable by 3600s would be
parsed correctly, but would serialize into a full hour, rounded up.
Now floating point computation is used which fixes the issue.
Related to #336
|
| |
| |
| |
| |
| |
| |
| | |
Now we select the submodule by name, not by index. The latter is not
deterministic.
Closes #335
|
| |
| |
| |
| |
| |
| |
| |
| | |
It's somewhat more complex to add new commits in submodules to the
parent repository. The new test shows how to do that in a 'GitPythonic'
way.
Related to #335
|
| |
| |
| |
| |
| | |
Coveralls was disabled a while ago because it would prevent merging
PRs from the phone.
|
|/
|
|
|
|
|
|
|
| |
This issue only surfaced in python 2, in case paths containing unicode
characters were not actual unicode objects.
In python 3, this was never the issue.
Closes #331
|
|
|
|
|
|
|
|
| |
If the file was not present, the mode seen in a diff can be legally '0',
which previously caused an assertion to fail for no good reason.
Now the assertion tests for None instead.
Closes #323
|
|
|
|
|
|
| |
There is simply no excuse to doing that.
Closes #330
|
|\
| |
| |
| |
| | |
Be explicit about usage of commit of head-ref in index diff call.
There is no need to do this, but it won't hurt either.
|
|/ |
|
|\
| |
| | |
Ensure file resources are released
|
|/ |
|
|\
| |
| | |
gic {init,clone} --separate-git-dir is supported only since 1.7.5
|
|/
|
|
|
| |
Without this commit the update() function of a submodule does not work
in CentOS 6.
|
|\
| |
| | |
Implement is_ancestor
|
|/
|
|
|
| |
Wrap `git merge-base --is-ancestor` into its own function because it acts
as a boolean check unlike base `git merge-base call`
|
|
|
|
|
|
| |
I knew that flake would eventually get me, especially when least
suspected.
This time it's even useful, as it is a non-whitespace related issue.
|
|
|
|
|
| |
It was a left-over of some prior hacking that was not removed by
accident.
|
|
|
|
|
|
|
| |
I have no idea why PY3 requires such a mess of encoding/decoding
statements, but let's just be happy it works.
Also let's be sure I never ever write python code again ... EVER.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* untracked_files could, if there were spaces in the path returned,
re-rencode the previously decoded unicode string thanks to a
`decode("string_escape")` call. Now re-encode into utf-8 afterwards
- added test to assure this works indeed
* IndexFile.add() didn't handle unicode correctly and would write
broken index files. The solution was to compute the path length after
encoding it into utf-8 bytes, not before ... .
Closes #320
|
|\
| |
| | |
Always add '--' to git reset
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If a git repo has the misfortune to have a file with the name "HEAD"
at the root level of the repo, git will return an error because it
is unsure whether the file or ref is meant:
File "/usr/local/lib/python2.7/dist-packages/git/refs/head.py", line 81, in reset
self.repo.git.reset(mode, commit, add_arg, paths, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 440, in <lambda>
return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 834, in _call_process
return self.execute(make_call(), **_kwargs)
File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 627, in execute
raise GitCommandError(command, status, stderr_value)
GitCommandError: 'git reset --hard HEAD' returned with exit code 128
stderr: 'fatal: ambiguous argument 'HEAD': both revision and filename
Use '--' to separate filenames from revisions'
Implement its suggested fix by always passing '--' as an argument to
"git reset". It is fine to pass it with no file specifiers afterwords.
In that case, git knows that "HEAD" is always meant as the ref.
|
|\ \
| |/
|/| |
typo in submodules api documentation
|
|/ |
|
|\
| |
| | |
Feature: Make commits with custom `author_date` and `commit_date` (closes #315)
|
| | |
|
|/ |
|
|\
| |
| | |
Correct doc errors
|
|/
|
|
|
|
|
|
|
| |
revA..revB → revA...revB (three instead of two dots) [base.py, line
467](https://github.com/gitpython-developers/GitPython/blob/master/git/repo/base.py#L467)
rorepo is a ~~a~~ Repo instance [test_docs.py, line
21](https://github.com/gitpython-developers/GitPython/blob/master/git/test/test_docs.py#L21)
closes #314
|
|\
| |
| | |
Fix typo
|
|/ |
|
|\
| |
| | |
care tilde in include.path config
|
| | |
|
|/ |
|
|
|
|
| |
Seems like OSX is somewhat special here ... .
|
|
|
|
|
|
| |
Fixed additional test which seems to have different outcomes depending
on the interpreter. This just makes it work withouth attempting
to find the root cause of the issue.
|
| |
|
|
|
|
|
|
|
|
|
| |
Previously travis would fail to clone the special testing repository
as SSH access requires a deploy key to be set. The latter has been
configured and is now added in clear-text.
This is save as it is only good for read-only access to a test
repository, mis-use cannot happen that way.
|