| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a sibling method to Repo's blame method:
Repo.blame_incremental(rev, path, **kwargs)
This can alternatively be called using:
Repo.blame(rev, path, incremental=True)
The main difference is that blame incremental is a bit more efficient
and does not return the full file's contents, just the commits and the
line number ranges. The parser is a bit more straight-forward and
faster since the incremental output format is defined a little stricter.
|
|
|
|
| |
if used as context managers, the parsers will automatically release their file locks.
|
|
|
|
| |
Related to #383
|
|
|
|
|
|
| |
Previously, it could have happened that pipes ran full, deadlocking the operation
Related to #72
|
|
|
|
|
|
| |
This should fix resource leaking issues once and for all.
Related #304
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Adds the optional keyword parameter env to Repo.clone_from(). The parameter
is a dictionary containing the desired environment variables for the git
clone invocation. The environment is applied to the temporary Git instance
before calling Repo._clone().
|
| |
|
|\
| |
| | |
support passing odbt for using with Repo
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* renamed `consider_submodules` to `submodules` to be in line with the
existing parameters. Nowadays I would prefer the `consider_` prefix,
but can't change the existing API and thus stick to the current
naming scheme.
* reduced amount of code in one portion to make it more maintainable.
Related to #294
|
|/
|
|
|
|
| |
There are cases when might not consider a directory dirty when a submodule has
changes. Particular case was git-up stashing changes where submodules are
irrelevant.
|
|
|
|
| |
Related to #255
|
|
|
|
|
|
|
|
| |
It verifies that the script is actually called.
Interestingly, the shell script version works within an msysgit environment
on windows.
Fixes #234
|
|
|
|
|
|
| |
That way they are protected from regression.
Fixes #239
|
|
|
|
|
|
| |
GIT_PYTHON_TRACE would actually fail (now) if we debugged archive operations.
Related to #239
|
|
|
|
|
| |
Fixes #235
[ci skip]
|
|
|
|
|
|
| |
A test verifies it's truly working.
Related to #238
|
|
|
|
|
|
| |
This also means that now we seem to be able to properly handle .git files in submodules
Related to #233
|
|
|
|
| |
A simple test verifies this at least.
|
|
|
|
|
|
| |
Fixes #7
[ci skip]
|
|
|
|
|
|
|
| |
This allows sub-trees to be archived as well, and makes `.archive()`
feature complete.
Fixes #67
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We implement it as described in this article:
http://stackoverflow.com/questions/1557183/is-it-possible-to-include-a-file-in-your-gitconfig
Thus we handle
* cycles
* relative and absolute include paths
* write-backs in case of writable GitConfigParser instances
Fixes #201
|
|
|
|
| |
Fixes #169
|
|
|
|
|
|
|
|
|
| |
required afterall.
Turns out that the now removed `read_gitfile` functions applied os.path.realpath which caused
the issue described in #224.
Fixes #224
|
|
|
|
|
|
|
|
|
| |
index related work.
That way, we don't try to compare a real-path to a non-real one, which would make the implementation think
a file is not actually part of the repository.
Fixes #224
|
|
|
|
|
|
|
| |
For some reason, I didn't trust the existing one as it tests that code
more indirectly.
Related to #160
|
|
|
|
|
|
|
| |
The point is that XDG_CONFIG_HOME is meant to point at the '.config' directory,
whereas '.config' has to be added only if HOME is used instead.
Fixes #160
|
|
|
|
| |
Fixes #160
|
|
|
|
|
|
| |
general.
Fixes #83
|
|
|
|
|
|
|
|
| |
Now by default, we will not walk up the directory structure and possibly find
git directories that the user didn't intend to find.
If required, that kind of behaviour can be turned back on.
Fixes #65
|
|
|
|
| |
Fixes #74
|
|
|
|
|
|
|
|
| |
Apparently, thanks to an incorrect version check, PY3 ended up using
a git command object database by default. This is now fixed.
Additionally, the update_cache code was adjusted to check for method-existence,
as it's valid to use object databases which simply don't have a
caching mechanism (like the git command object database)
|
| |
|
|
|
|
| |
Fixes #48
|
|
|
|
|
|
|
|
| |
At least leakage is considerably reduced.
Additionally, a test-case was added which triggers failure if auto-disposal
of resources wouldn't work.
Fixes #60
|
|
|
|
| |
Next up is using threads
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
However, StringIO really is ByteIO in most cases, and py2.7 should
run but doesn't.
This should be made work first.
|
|
|
|
| |
More to come, especially when it's about strings
|
| |
|
|
|
|
|
| |
There is more work to do though, as many imports are still incorrect.
Also, there are still print statements
|
|
|
|
|
| |
Commandline was
autopep8 -j 8 --max-line-length 120 --in-place --recursive --exclude "*gitdb*,*async*" git/
|