Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f4d16b9

Browse files
committed
Combine install and uninstall.
1 parent ac735e8 commit f4d16b9

5 files changed

Lines changed: 31 additions & 44 deletions

File tree

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,11 @@ def install(runner, overwrite=False):
5454

5555
print('pre-commit installed at {0}'.format(runner.pre_commit_path))
5656
return 0
57+
58+
59+
def uninstall(runner):
60+
"""Uninstall the pre-commit hooks."""
61+
if os.path.exists(runner.pre_commit_path):
62+
os.remove(runner.pre_commit_path)
63+
print('pre-commit uninstalled')
64+
return 0

pre_commit/commands/uninstall.py

Lines changed: 0 additions & 13 deletions
This file was deleted.

pre_commit/main.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
from pre_commit import color
77
from pre_commit.commands.autoupdate import autoupdate
88
from pre_commit.commands.clean import clean
9-
from pre_commit.commands.install import install
9+
from pre_commit.commands.install_uninstall import install
10+
from pre_commit.commands.install_uninstall import uninstall
1011
from pre_commit.commands.run import run
11-
from pre_commit.commands.uninstall import uninstall
1212
from pre_commit.runner import Runner
1313
from pre_commit.util import entry
1414

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@
1010
import stat
1111
from plumbum import local
1212

13-
from pre_commit.commands.install import install
14-
from pre_commit.commands.install import is_our_pre_commit
15-
from pre_commit.commands.install import make_executable
13+
from pre_commit.commands.install_uninstall import install
14+
from pre_commit.commands.install_uninstall import is_our_pre_commit
15+
from pre_commit.commands.install_uninstall import make_executable
16+
from pre_commit.commands.install_uninstall import uninstall
1617
from pre_commit.runner import Runner
1718
from testing.fixtures import git_dir
1819
from testing.fixtures import make_consuming_repo
@@ -46,6 +47,23 @@ def test_install_pre_commit(tmpdir_factory):
4647
assert stat_result.st_mode & (stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH)
4748

4849

50+
def test_uninstall_does_not_blow_up_when_not_there(tmpdir_factory):
51+
path = git_dir(tmpdir_factory)
52+
runner = Runner(path)
53+
ret = uninstall(runner)
54+
assert ret == 0
55+
56+
57+
def test_uninstall(tmpdir_factory):
58+
path = git_dir(tmpdir_factory)
59+
runner = Runner(path)
60+
assert not os.path.exists(runner.pre_commit_path)
61+
install(runner)
62+
assert os.path.exists(runner.pre_commit_path)
63+
uninstall(runner)
64+
assert not os.path.exists(runner.pre_commit_path)
65+
66+
4967
def _get_commit_output(tmpdir_factory, touch_file='foo'):
5068
local['touch'](touch_file)
5169
local['git']('add', touch_file)

tests/commands/uninstall_test.py

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)