aboutsummaryrefslogtreecommitdiff
path: root/git/remote.py
AgeCommit message (Collapse)Author
2016-06-14fix(flake): misc whitespace fixesSebastian Thiel
2016-06-13fix(misc): various cleanupSebastian Thiel
Just went through all changes and adjusted them to the best of my abilities. As there are no tests to claim otherwise, I believe this is correct enough. However, it becomes evident that it's no longer possible to just make changes without backing them with a respective test.
2016-06-06Merge remote-tracking branch 'upstream/master' into ↵Barry Scott
pr-cmd-raise-with-stderr-on-error
2016-05-30Fix regexVincent Driessen
This catches the case where the matched line contains "(" or ")" characters.
2016-05-30Fix flake8 complaintsBarry Scott
2016-05-29Return stderr lines from a pull() call that failsBarry Scott
2016-05-29Return all the stderr messge after an error is detected for pull()Barry Scott
2016-05-29fix(remote): improve version checkSebastian Thiel
Make version check much more readable, and fix it at the same time. The previous implementation would assume progress is supported just by looking at the patch-level for instance. A quick check of the git sources seems to indicate the --progress flag exists in v1.7 of the git command-line already. Fixes #449
2016-05-29fix(remote): Add CallableRemoteProgressSebastian Thiel
That way, the base type doesn't need any adjustment. Related to #450
2016-05-29chore(misc): cleanup and docsSebastian Thiel
Minor adjustments to PR to match current code style. Related to #450
2016-05-28Merge remote-tracking branch 'upstream/master'Barry Scott
2016-05-28The progress arg to push, pull, fetch and clone is now a python callable.Barry Scott
This simplifies the API and removes the parser, RemoteProgres, from the API as RemoteProgress is an internal detail of the implementation. progress is accepted as: * None - drop progress messages * callable (function etc) - call the function with the same args as update * object - assume its RemoteProgress derived as use as before RemoteProgress takes an optional progress_function argument. It will call the progress function if not None otherwise call self.update as it used to.
2016-05-26Changing warning to debug logging, to avoid warning showing off when ↵Guyzmo
nothing's wrong cf #444 Signed-off-by: Guyzmo <guyzmo+github@m0g.net>
2016-05-26fix(remote): py3 compatibilitySebastian Thiel
Related to #444
2016-05-26fix(remote): py3 compatibilitySebastian Thiel
2016-05-26fix(remote): use universal_newlines for fetch/pushSebastian Thiel
That way, real-time parsing of output should finally be possible. Related to #444
2016-05-26fix(remote): real-time reading of lines from stderrSebastian Thiel
That way, progress usage will behave as expected. Fixes #444
2016-05-25fix(remote): better array truncation logicSebastian Thiel
Previously, the logic was not correct. Now it should work either way, truncating the correct list to assure both always have the same length. Related to #442
2016-05-25fix(remote): remove assertion in favour of runtime stabilitySebastian Thiel
Fixes #442
2016-04-24Allow "@" sign in fetch output linesVincent Driessen
2016-04-20Allow "$" sign in fetch output linesVincent Driessen
2016-03-29Remove assertion over fetch refspec when explicitly specifiedrrei
2016-03-28fix(remote): asssertion message formattingSebastian Thiel
Related to #396
2016-02-11chore(version): set to next patch releaseSebastian Thiel
2016-02-07fix(cmd): prevent deadlock on clone/fetch/pullSebastian Thiel
We keep stdout closed, which seems to have the side-effect of stdout being connected to your TTY, in case you run a terminal. However, this shold also prevent deadlocks, as only stderr is used. The alternative would have been to try to fetch lines concurrently, and we have been there. For clone(), `communicate()` is used, and with some luck this will just do the right thing. Even though last time I checked, it didn't ... ? Lets see. Stab at #72
2016-02-07chore(flake8): unnused importSebastian Thiel
2015-09-06fix(remote): assure only repository configurationSebastian Thiel
Previously it was possible for it to pick up non-repository branch configuration, even though it was unlikely. Closes #350
2015-07-03fix(cmd): work with py3Sebastian Thiel
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.
2015-07-03fix(cmd): don't open stdout when fetchingSebastian Thiel
This allows us to use the main thread to parse stderr to get progress, and resolve assertion failures hopefully once and for all. Relates to #301
2015-07-03test(remote): make assertion less verboseSebastian Thiel
2015-06-10fix(remote): assert fetch respec is setSebastian Thiel
It turns out we can't deal do fetches if no refspec is set as git will change the format of the fetch return values, providing less information than usual. A test was added to show that such a case will fail, and an assertion will assure we don't attempt to fetch/pull if there is no refspec for 'fetch'. Closes #296
2015-06-10fix(remote): don't close stdout on fetch/pullSebastian Thiel
Reverted changes of `fe2fbc5~2`. This caused `git-pull` to error, which now actually results in a fatal error while fetching or pulling. Previously we simply didn't check for this issue. Now we are back to a `poll` based or threaded concurrent reading from stdout and stderr to prevent a git process deadlock, and the aforementioned error. Related to #297
2015-06-08While parsing errors, also detecting lines starting with error:Victor Garcia
2015-04-08fix(remote): allow to raise during push/fetchSebastian Thiel
Do not swallow non-zero exit status during push and fetch unless we managed to parse head information. This behaviour will effetively handle cases were no work was done due to invalid refspecs or insufficient permissions. Fixes #271
2015-02-21Fixed trailing white space!Sebastian Thiel
Think about how expensive this single invisible character was, with all the time and energy spent on it !
2015-02-21`stale_refs()` may now also handle other kinds of references, like tags.Sebastian Thiel
Fixes #260
2015-02-21Added 'insert_kwargs_after' flag for consumption by _call_process.Sebastian Thiel
While at it, all other invocations of .git in remote.py were reviewed Fixes #262
2015-01-30Remote.update() didn't pass kwargs along to git command.Sebastian Thiel
Fixes #250
2015-01-22Merge branch 'master' into teeberg-masterSebastian Thiel
Need latest master to proceed with test Conflicts: doc/source/tutorial.rst
2015-01-22Fetch now deals with custom refspecs much better.Sebastian Thiel
Even though the test-csae only verifies this spec: +refs/pull/*:refs/heads/pull/* I could locally verify that it indeed handles other ones just as well: +refs/pull/*:refs/pull/* Fixes #243
2015-01-22Overhauled all tutorials, and placed them in a unit-test.Sebastian Thiel
That way they are protected from regression. Fixes #239
2015-01-21Fix some typosJonas Trappenberg
2015-01-21Added advance usage examples to tutorial and made minor fixes.Sebastian Thiel
GIT_PYTHON_TRACE would actually fail (now) if we debugged archive operations. Related to #239
2015-01-21removed debug codeissue-232-reproductionSebastian Thiel
2015-01-20Remote.fetch|pull() will not use poll/threads anymore as only stderr is read.Sebastian Thiel
This simplification should improve performance and remove issues like those in #232. NOTE: Debug code is still contained here
2015-01-16Added debug code to keep lines fed into progress handler and the contents of ↵Sebastian Thiel
FETCH_HEAD. This data will be written into the git-repository itself, prefixed with the number of the operation. Thus, a test-run with exactly one fetch operation would look like this afterwards: ls -l .git total 96 -----> -rw-r--r-- 1 byron staff 141B Jan 16 11:54 000_debug_git-python_FETCH_HEAD <----- -----> -rw-r--r-- 1 byron staff 180B Jan 16 11:54 000_debug_git-python_stderr <----- -rw-r--r-- 1 byron staff 487B Jan 16 11:54 FETCH_HEAD -rw-r--r-- 1 byron staff 22B Jan 16 11:54 HEAD -rw-r--r-- 1 byron staff 41B Jan 16 11:54 ORIG_HEAD drwxr-xr-x 2 byron staff 68B Jan 16 11:54 branches/ -rw-r--r-- 1 byron staff 560B Jan 16 11:54 config -rw-r--r-- 1 byron staff 73B Jan 16 11:54 description drwxr-xr-x 11 byron staff 374B Jan 16 11:54 hooks/ -rw-r--r-- 1 byron staff 13K Jan 16 11:54 index drwxr-xr-x 3 byron staff 102B Jan 16 11:54 info/ drwxr-xr-x 4 byron staff 136B Jan 16 11:54 logs/ drwxr-xr-x 12 byron staff 408B Jan 16 11:54 objects/ -rw-r--r-- 1 byron staff 1.2K Jan 16 11:54 packed-refs drwxr-xr-x 5 byron staff 170B Jan 16 11:54 refs/ [ci skip]
2015-01-14Fixed some doc strings to build correctly with sphinxSebastian Thiel
Fixes #7 [ci skip]
2015-01-08Fixed PY3 support.Sebastian Thiel
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)
2015-01-08Auto-update odb caches after fetch or pull.Sebastian Thiel
Fixes #34
2015-01-08Added assertion to better detect diff issues.Sebastian Thiel
Helps fixing #35 Also, the production status was changed to 'stable', which should have been done much earlier.