mirror of
https://github.com/nvbn/thefuck.git
synced 2025-01-18 20:11:17 +00:00
Offer git commit --amend after previous git commit (#764)
This commit is contained in:
parent
7b10a86267
commit
797ca1c564
@ -187,6 +187,7 @@ using the matched rule and runs it. Rules enabled by default are as follows:
|
|||||||
* `git_branch_exists` – offers `git branch -d foo`, `git branch -D foo` or `git checkout foo` when creating a branch that already exists;
|
* `git_branch_exists` – offers `git branch -d foo`, `git branch -D foo` or `git checkout foo` when creating a branch that already exists;
|
||||||
* `git_branch_list` – catches `git branch list` in place of `git branch` and removes created branch;
|
* `git_branch_list` – catches `git branch list` in place of `git branch` and removes created branch;
|
||||||
* `git_checkout` – fixes branch name or creates new branch;
|
* `git_checkout` – fixes branch name or creates new branch;
|
||||||
|
* `git_commit_amend` – offers `git commit --amend` after previous commit;
|
||||||
* `git_diff_no_index` – adds `--no-index` to previous `git diff` on untracked files;
|
* `git_diff_no_index` – adds `--no-index` to previous `git diff` on untracked files;
|
||||||
* `git_diff_staged` – adds `--staged` to previous `git diff` with unexpected output;
|
* `git_diff_staged` – adds `--staged` to previous `git diff` with unexpected output;
|
||||||
* `git_fix_stash` – fixes `git stash` commands (misspelled subcommand and missing `save`);
|
* `git_fix_stash` – fixes `git stash` commands (misspelled subcommand and missing `save`);
|
||||||
|
25
tests/rules/test_git_commit_amend.py
Normal file
25
tests/rules/test_git_commit_amend.py
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import pytest
|
||||||
|
from thefuck.rules.git_commit_amend import match, get_new_command
|
||||||
|
from thefuck.types import Command
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize('script, output', [
|
||||||
|
('git commit -m "test"', 'test output'),
|
||||||
|
('git commit', '')])
|
||||||
|
def test_match(output, script):
|
||||||
|
assert match(Command(script, output))
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize('script', [
|
||||||
|
'git branch foo',
|
||||||
|
'git checkout feature/test_commit',
|
||||||
|
'git push'])
|
||||||
|
def test_not_match(script):
|
||||||
|
assert not match(Command(script, ''))
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize('script', [
|
||||||
|
('git commit -m "test commit"'),
|
||||||
|
('git commit')])
|
||||||
|
def test_get_new_command(script):
|
||||||
|
assert get_new_command(Command(script, '')) == 'git commit --amend'
|
11
thefuck/rules/git_commit_amend.py
Normal file
11
thefuck/rules/git_commit_amend.py
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
from thefuck.specific.git import git_support
|
||||||
|
|
||||||
|
|
||||||
|
@git_support
|
||||||
|
def match(command):
|
||||||
|
return ('commit' in command.script_parts)
|
||||||
|
|
||||||
|
|
||||||
|
@git_support
|
||||||
|
def get_new_command(command):
|
||||||
|
return 'git commit --amend'
|
Loading…
x
Reference in New Issue
Block a user