mirror of
				https://github.com/nvbn/thefuck.git
				synced 2025-10-31 07:04:12 +00:00 
			
		
		
		
	#N/A: Add rule for git commit that reverts previous commit (#886)
				
					
				
			This commit is contained in:
		
				
					committed by
					
						 Vladimir Iakovlev
						Vladimir Iakovlev
					
				
			
			
				
	
			
			
			
						parent
						
							2d81166213
						
					
				
				
					commit
					1208faaabb
				
			| @@ -204,6 +204,7 @@ following rules are enabled by default: | ||||
| * `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_commit_amend` – offers `git commit --amend` after previous commit; | ||||
| * `git_commit_reset` – offers `git reset HEAD~` after previous commit; | ||||
| * `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_fix_stash` – fixes `git stash` commands (misspelled subcommand and missing `save`); | ||||
|   | ||||
							
								
								
									
										25
									
								
								tests/rules/test_git_commit_reset.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								tests/rules/test_git_commit_reset.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| import pytest | ||||
| from thefuck.rules.git_commit_reset 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 reset HEAD~' | ||||
							
								
								
									
										11
									
								
								thefuck/rules/git_commit_reset.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								thefuck/rules/git_commit_reset.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 reset HEAD~' | ||||
		Reference in New Issue
	
	Block a user