mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-04-14 17:41:45 +04:00
Merge remote-tracking branch 'origin/master'
Conflicts: setup.py
This commit is contained in:
commit
f5308b0a57
6 changed files with 80 additions and 9 deletions
|
|
@ -79,11 +79,6 @@ TESTS = [
|
||||||
"All - No tabs",
|
"All - No tabs",
|
||||||
True, 'testtabs',
|
True, 'testtabs',
|
||||||
),
|
),
|
||||||
Test(
|
|
||||||
"make test",
|
|
||||||
"Py - Tests",
|
|
||||||
False, 'testtests',
|
|
||||||
),
|
|
||||||
]
|
]
|
||||||
|
|
||||||
def get_git_config(config_name):
|
def get_git_config(config_name):
|
||||||
|
|
|
||||||
27
pre_commit/git.py
Normal file
27
pre_commit/git.py
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
import os
|
||||||
|
import pkg_resources
|
||||||
|
from plumbum import local
|
||||||
|
|
||||||
|
|
||||||
|
def get_root():
|
||||||
|
return local['git']['rev-parse', '--show-toplevel']().strip()
|
||||||
|
|
||||||
|
|
||||||
|
def get_pre_commit_path():
|
||||||
|
return os.path.join(get_root(), '.git/hooks/pre-commit')
|
||||||
|
|
||||||
|
|
||||||
|
def create_pre_commit():
|
||||||
|
path = get_pre_commit_path()
|
||||||
|
pre_commit_file = pkg_resources.resource_filename('pre_commit', 'resources/pre-commit.sh')
|
||||||
|
local.path(path).write(local.path(pre_commit_file).read())
|
||||||
|
|
||||||
|
|
||||||
|
def remove_pre_commit():
|
||||||
|
local.path(get_pre_commit_path()).delete()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
3
pre_commit/resources/pre-commit.sh
Executable file
3
pre_commit/resources/pre-commit.sh
Executable file
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
pre-commit
|
||||||
|
|
@ -1,11 +1,10 @@
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
|
from pre_commit import git
|
||||||
|
|
||||||
def install():
|
def install():
|
||||||
"""Install the pre-commit hook."""
|
"""Install the pre-commit hook."""
|
||||||
raise NotImplementedError
|
git.create_pre_commit()
|
||||||
|
|
||||||
|
|
||||||
def uninstall():
|
def uninstall():
|
||||||
"""Uninstall the pre-commit hook."""
|
"""Uninstall the pre-commit hook."""
|
||||||
|
|
|
||||||
5
setup.py
5
setup.py
|
|
@ -5,6 +5,11 @@ setup(
|
||||||
name='pre_commit',
|
name='pre_commit',
|
||||||
version='0.0.0',
|
version='0.0.0',
|
||||||
packages=find_packages('.', exclude=('tests*', 'testing*')),
|
packages=find_packages('.', exclude=('tests*', 'testing*')),
|
||||||
|
package_data={
|
||||||
|
'pre_commit': [
|
||||||
|
'resources/pre-commit.sh'
|
||||||
|
]
|
||||||
|
},
|
||||||
install_requires=[
|
install_requires=[
|
||||||
'argparse',
|
'argparse',
|
||||||
'jsonschema',
|
'jsonschema',
|
||||||
|
|
|
||||||
42
tests/git_test.py
Normal file
42
tests/git_test.py
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
|
||||||
|
import os
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
from plumbum import local
|
||||||
|
from pre_commit import git
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def empty_git_dir(tmpdir):
|
||||||
|
local.cwd.chdir(tmpdir.strpath)
|
||||||
|
local['git']['init']()
|
||||||
|
return tmpdir.strpath
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_root(empty_git_dir):
|
||||||
|
assert git.get_root() == empty_git_dir
|
||||||
|
|
||||||
|
foo = local.path('foo')
|
||||||
|
foo.mkdir()
|
||||||
|
local.cwd.chdir(foo)
|
||||||
|
|
||||||
|
assert git.get_root() == empty_git_dir
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_pre_commit_path(empty_git_dir):
|
||||||
|
assert git.get_pre_commit_path() == '{0}/.git/hooks/pre-commit'.format(empty_git_dir)
|
||||||
|
|
||||||
|
|
||||||
|
def test_create_pre_commit(empty_git_dir):
|
||||||
|
git.create_pre_commit()
|
||||||
|
assert len(open(git.get_pre_commit_path(), 'r').read()) > 0
|
||||||
|
|
||||||
|
|
||||||
|
def test_remove_pre_commit(empty_git_dir):
|
||||||
|
git.remove_pre_commit()
|
||||||
|
|
||||||
|
assert not os.path.exists(git.get_pre_commit_path())
|
||||||
|
|
||||||
|
git.create_pre_commit()
|
||||||
|
git.remove_pre_commit()
|
||||||
|
|
||||||
|
assert not os.path.exists(git.get_pre_commit_path())
|
||||||
Loading…
Add table
Add a link
Reference in a new issue