| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|\
| |
| | |
Adding support for git remote set-url/get-url API to Remote
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
remote get-url`
`get-url` is a new API that is not widely available yet (introduced in git 2.7.0), and
provokes failure on travis.
Signed-off-by: Guyzmo <guyzmo+github@m0g.net>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Both commands enable handling of a little known feature
of git, which is to support multiple URL for one remote.
You can add multiple url using the `set_url` subcommand of
`git remote`. As listing them is also handy, there's a
nice method to do it, using `get_url`.
* adding set_url method that maps to the git remote set-url command¶
* can be used to set an URL, or replace an URL with optional positional arg¶
* can be used to add, delete URL with kwargs (matching set-url options)¶
* adding add_url, delete_url methods that wraps around set_url for conveniency¶
* adding urls property that yields an iterator over the setup urls for a remote¶
* adding a test suite that checks all use case scenarii of this added API.¶
Signed-off-by: Guyzmo <guyzmo+github@m0g.net>
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | |
| | | |
pr-cmd-raise-with-stderr-on-error
|
| | |
| | |
| | |
| | |
| | | |
This catches the case where the matched line contains "(" or ")"
characters.
|
| | | |
|
| | | |
|
|/ / |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
That way, the base type doesn't need any adjustment.
Related to #450
|
| |
| |
| |
| |
| |
| | |
Minor adjustments to PR to match current code style.
Related to #450
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| | |
nothing's wrong
cf #444
Signed-off-by: Guyzmo <guyzmo+github@m0g.net>
|
| |
| |
| |
| | |
Related to #444
|
| | |
|
| |
| |
| |
| |
| |
| | |
That way, real-time parsing of output should finally be possible.
Related to #444
|
| |
| |
| |
| |
| |
| | |
That way, progress usage will behave as expected.
Fixes #444
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Fixes #442
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
| |
Related to #396
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
Previously it was possible for it to pick up non-repository
branch configuration, even though it was unlikely.
Closes #350
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Think about how expensive this single invisible character was, with
all the time and energy spent on it !
|
|
|
|
| |
Fixes #260
|
|
|
|
|
|
| |
While at it, all other invocations of .git in remote.py were reviewed
Fixes #262
|
|
|
|
| |
Fixes #250
|
|\
| |
| |
| |
| |
| | |
Need latest master to proceed with test
Conflicts:
doc/source/tutorial.rst
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
That way they are protected from regression.
Fixes #239
|
|/ |
|
|
|
|
|
|
| |
GIT_PYTHON_TRACE would actually fail (now) if we debugged archive operations.
Related to #239
|
| |
|
|
|
|
|
|
|
| |
This simplification should improve performance and remove issues like those
in #232.
NOTE: Debug code is still contained here
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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]
|