mirror of
https://github.com/nvbn/thefuck.git
synced 2025-02-22 12:58:33 +00:00
Merge pull request #559 from josephfrazier/git-push-explicit-upstream
Fix suggestions for `git push -u origin`
This commit is contained in:
commit
db7dffdb44
@ -23,5 +23,9 @@ def test_match(stderr):
|
|||||||
def test_get_new_command(stderr):
|
def test_get_new_command(stderr):
|
||||||
assert get_new_command(Command('git push', stderr=stderr))\
|
assert get_new_command(Command('git push', stderr=stderr))\
|
||||||
== "git push --set-upstream origin master"
|
== "git push --set-upstream origin master"
|
||||||
|
assert get_new_command(Command('git push -u origin', stderr=stderr))\
|
||||||
|
== "git push --set-upstream origin master"
|
||||||
|
assert get_new_command(Command('git push --set-upstream origin', stderr=stderr))\
|
||||||
|
== "git push --set-upstream origin master"
|
||||||
assert get_new_command(Command('git push --quiet', stderr=stderr))\
|
assert get_new_command(Command('git push --quiet', stderr=stderr))\
|
||||||
== "git push --set-upstream origin master --quiet"
|
== "git push --set-upstream origin master --quiet"
|
||||||
|
@ -10,5 +10,21 @@ def match(command):
|
|||||||
|
|
||||||
@git_support
|
@git_support
|
||||||
def get_new_command(command):
|
def get_new_command(command):
|
||||||
|
# If --set-upstream or -u are passed, remove it and its argument. This is
|
||||||
|
# because the remaining arguments are concatenated onto the command suggested
|
||||||
|
# by git, which includes --set-upstream and its argument
|
||||||
|
upstream_option_index = -1
|
||||||
|
try:
|
||||||
|
upstream_option_index = command.script_parts.index('--set-upstream')
|
||||||
|
except ValueError:
|
||||||
|
pass
|
||||||
|
try:
|
||||||
|
upstream_option_index = command.script_parts.index('-u')
|
||||||
|
except ValueError:
|
||||||
|
pass
|
||||||
|
if upstream_option_index is not -1:
|
||||||
|
command.script_parts.pop(upstream_option_index)
|
||||||
|
command.script_parts.pop(upstream_option_index)
|
||||||
|
|
||||||
push_upstream = command.stderr.split('\n')[-3].strip().partition('git ')[2]
|
push_upstream = command.stderr.split('\n')[-3].strip().partition('git ')[2]
|
||||||
return replace_argument(command.script, 'push', push_upstream)
|
return replace_argument(" ".join(command.script_parts), 'push', push_upstream)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user