summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Submodule.remove() now deals with .git files correctly.Sebastian Thiel2015-01-173-21/+41
| | | | A simple test verifies this at least.
* Assured Submodule.(update|move) are dealing with .git files appropriately.Sebastian Thiel2015-01-172-60/+106
| | | | | However, a simple test-case still fails for reasons not yet understood. There is more to be fixed here - .remove() still fails.
* Implemented more tests and made use of .git files when adding submodulesSebastian Thiel2015-01-162-8/+79
| | | | | | | There is some more work to do, as renames and updates still have to be adjusted accordinlgy. Relates #233
* Fixed previously failing testSebastian Thiel2015-01-152-4/+5
| | | | | | It actually revealed a bug in the implementation of Submodule.add, which just showed in python 3 for the wrong reasons. Thankfully, failing tests after all allowed to get this issue fixed ... .
* Verified that it apparently is impossible to add empty submodules using ↵Sebastian Thiel2015-01-151-4/+20
| | | | | | | | | | | | | | | | | | | git-python. This is the case with `git submodule add` as well. This makes sense as an empty git repository doesn't have a commit, which needs to be specified as SHA in the parent repositories tree entry for the respective submodule. When manually adding the empty submodule to the .gitmodules file, git-python will throw another error related to the inability to find the submodule in the index. Even if an iteration would be possible, git-python would now throw a BadName exception, which clearly indicates that the 'HEAD' revision is invalid (as it doesn't point to any commit). Fixes #152 Fixes #105
* Submodule.add() can now handle absolute module paths in agreement to the doc ↵Sebastian Thiel2015-01-152-3/+22
| | | | | | | | | | string. Previously, it would say it can handle absolute module paths, but didn't actually do so. A test-case was improved to check for this case. Fixes #161
* For some reason, the new submodule test still broke on py3Sebastian Thiel2015-01-151-3/+0
| | | | | | | Adjusted code to not check for .gitmodules existence anymore, we will deal with it. Fixes #117
* Added the first submodule will no longer cause an IOError.Sebastian Thiel2015-01-152-1/+8
| | | | | | This is verified by the respective test. Fixes #117
* Added sphinx build process to end of travis test chainSebastian Thiel2015-01-151-1/+2
|
* Fixed some doc strings to build correctly with sphinxSebastian Thiel2015-01-147-32/+32
| | | | | | Fixes #7 [ci skip]
* An attempt to help the threaded reading to not show spurious errors anymore.Sebastian Thiel2015-01-141-8/+8
| | | | | It does not necessarily seem to work, but at least we don't access a dict concurrently anymore.
* Added 'path' keyword argument to Repo.archive().Sebastian Thiel2015-01-143-3/+11
| | | | | | | This allows sub-trees to be archived as well, and makes `.archive()` feature complete. Fixes #67
* GitConfigParser now respects and merges 'include' sectionsSebastian Thiel2015-01-145-17/+143
| | | | | | | | | | | | | 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
* Fixed youtube playlist linkSebastian Thiel2015-01-131-1/+1
| | | | [ci skip]
* Added `Repo.merge_base(...)` implementation, including test-case.Sebastian Thiel2015-01-133-2/+63
| | | | Fixes #169
* Bumped version to 0.3.5, required latest gitdb (v0.6.4)0.3.5Sebastian Thiel2015-01-122-3/+3
|
* IndexFile.commit() now runs pre-commit and post-commit hooks.Sebastian Thiel2015-01-126-12/+89
| | | | | | | | | However, it does so only on posix. The test-case will run on posix only as well. Please note that in theory, even on windows we will attempt to run hooks, even though I am not sure that this will actually work. Fixes #81
* Removed os.path.realpath invocations as they are not necessary if paths are ↵Sebastian Thiel2015-01-123-5/+11
| | | | | | | | used consistently. This will save IOPs, and make the code easier to understand (I suppose). Related to #224
* Removed all previously added invocations of os.path.realpath as it wasn't ↵Sebastian Thiel2015-01-122-4/+3
| | | | | | | | | required afterall. Turns out that the now removed `read_gitfile` functions applied os.path.realpath which caused the issue described in #224. Fixes #224
* Repo paths are now converted to real paths, as well as all paths involved in ↵Sebastian Thiel2015-01-123-7/+12
| | | | | | | | | 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
* Added specific test for roughly checking configuration paths.Sebastian Thiel2015-01-123-2/+7
| | | | | | | For some reason, I didn't trust the existing one as it tests that code more indirectly. Related to #160
* Re-implemented 'user' config level based on suggestion by @jzempelSebastian Thiel2015-01-121-6/+2
| | | | | | | 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
* Added twitch/youtube information to ReadmeSebastian Thiel2015-01-101-0/+10
|
* Added 'user' configuration level.Sebastian Thiel2015-01-101-1/+8
| | | | Fixes #160
* Fixed test to actually use tilde and environment variables respectively.Sebastian Thiel2015-01-101-2/+6
| | | | Related to #83
* Repo.init() now supports paths with a '~' in it, or environment variables in ↵Sebastian Thiel2015-01-103-6/+23
| | | | | | general. Fixes #83
* Added search_parent_directories keyword argument to Repo type.Sebastian Thiel2015-01-104-28/+16
| | | | | | | | 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
* rewrote test-string to have a chance to make flake8 happy.Sebastian Thiel2015-01-101-10/+9
| | | | | That way, flake won't have to completely ignore issues it might have in other portions of this file.
* Implemented multi-line parsing of git-config to the point where a sepcific ↵Sebastian Thiel2015-01-103-39/+271
| | | | | | | | | | test-file is working. This brings us much closer to what git can do, and should at least prevent errors while reading configuration files (which would break a lot of features, like handling of remotes since these rely reading configuration files). Fixes #112
* Added test for complex blame revision query.Sebastian Thiel2015-01-092-0/+184
| | | | | It works as expected by me at least. Related to #71
* Now Diff.__str__ works correctly in all python versions.Sebastian Thiel2015-01-092-9/+31
| | | | | | | | | Additionally, unicode handling was improved to the point where we deal with all diff(create_path=True) data as binary. Therefore we don't claim to know all encodings of all textfiles in the world, even though we still assume that everything git throws at us is utf-8 encoded. Fixes #113
* Fixed mode-handling in Diff creation, and added assertions to catch this in ↵Sebastian Thiel2015-01-092-3/+10
| | | | | | future There is still some work todo in terms of how we handle the encoding
* Added test to verify binary diffs are working as well.Sebastian Thiel2015-01-094-11/+134
| | | | Related to #74
* Added test to verify binary diffs are working as well.Sebastian Thiel2015-01-093-0/+14
| | | | Related to #74
* Added test to assure blame can deal with binary patches.Sebastian Thiel2015-01-094-15/+44
| | | | Fixes #74
* Now finally, tests should be working on travis too.Sebastian Thiel2015-01-081-3/+6
| | | | Now handling the new exception BadName as well
* Updated submodule to latest commit, hopefully fixing travisSebastian Thiel2015-01-081-0/+0
|
* Improved empty-repo testSebastian Thiel2015-01-081-2/+5
| | | | Helps to clarify #55
* Improved handling of name-resolution, which will not mangle names anymore.Sebastian Thiel2015-01-082-4/+32
| | | | | | | | | Previously, an unresolvable ref name like HEAD would end up as HEX and was presented as BadObject error, even though that exception is for invalid shas only. Now BadName is thrown, which converts into a more useful error message. Improves #105
* And finally, PY3 support should be restored.Sebastian Thiel2015-01-081-1/+1
| | | | Forgot to fix the test, which used the same broken version_info condition
* Fixed PY3 support.Sebastian Thiel2015-01-082-3/+5
| | | | | | | | 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)
* Auto-update odb caches after fetch or pull.Sebastian Thiel2015-01-082-2/+7
| | | | Fixes #34
* Added test to verify blame commits can have multiple lines.Sebastian Thiel2015-01-081-2/+6
| | | | See #47
* Added support for rename detection in raw mode (which is the default).Sebastian Thiel2015-01-084-6/+19
| | | | Fixes #36
* Added assertion to better detect diff issues.Sebastian Thiel2015-01-084-4/+5
| | | | | | | Helps fixing #35 Also, the production status was changed to 'stable', which should have been done much earlier.
* Added Remote.exists() method, and test. Fixes #229Sebastian Thiel2015-01-083-2/+23
|
* Improve error handling of fetch/pull line parsingSebastian Thiel2015-01-083-3/+8
| | | | Fixes #48
* Made improvements to assure test-cases don't leak file handlesSebastian Thiel2015-01-077-6/+57
| | | | | | | | 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
* Merge branch 'firm1-commit_by_actor'Sebastian Thiel2015-01-075-10/+46
|\
| * Made sure commits accept unicode or unicode charactersSebastian Thiel2015-01-073-10/+23
| |