[Python-modules-commits] [dulwich] 01/19: add cwd parameter to hook
Jelmer Vernooij
jelmer at moszumanska.debian.org
Sun Oct 29 17:22:26 UTC 2017
This is an automated email from the git hooks/post-receive script.
jelmer pushed a commit to branch master
in repository dulwich.
commit 9dff752cc640f8b267ca22b0eb979c64040a0648
Author: Fabian Grünbichler <fabian.gruenbichler at student.tuwien.ac.at>
Date: Sun Oct 1 20:10:49 2017 +0200
add cwd parameter to hook
and default pre-/post-commit and commit-msg to use the repositories
controldir.
---
dulwich/hooks.py | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/dulwich/hooks.py b/dulwich/hooks.py
index 3e8ed0b..9ff0ba2 100644
--- a/dulwich/hooks.py
+++ b/dulwich/hooks.py
@@ -52,7 +52,8 @@ class ShellHook(Hook):
"""
def __init__(self, name, path, numparam,
- pre_exec_callback=None, post_exec_callback=None):
+ pre_exec_callback=None, post_exec_callback=None,
+ cwd=None):
"""Setup shell hook definition
:param name: name of hook for error messages
@@ -66,6 +67,7 @@ class ShellHook(Hook):
Defaults to None. Takes in a boolean for hook success and the
modified argument list and returns the final hook return value
if applicable
+ :param cwd: working directory to switch to when executing the hook
"""
self.name = name
self.filepath = path
@@ -74,6 +76,8 @@ class ShellHook(Hook):
self.pre_exec_callback = pre_exec_callback
self.post_exec_callback = post_exec_callback
+ self.cwd = cwd
+
if sys.version_info[0] == 2 and sys.platform == 'win32':
# Python 2 on windows does not support unicode file paths
# http://bugs.python.org/issue1759845
@@ -91,7 +95,7 @@ class ShellHook(Hook):
args = self.pre_exec_callback(*args)
try:
- ret = subprocess.call([self.filepath] + list(args))
+ ret = subprocess.call([self.filepath] + list(args), cwd=self.cwd)
if ret != 0:
if (self.post_exec_callback is not None):
self.post_exec_callback(0, *args)
@@ -110,7 +114,7 @@ class PreCommitShellHook(ShellHook):
def __init__(self, controldir):
filepath = os.path.join(controldir, 'hooks', 'pre-commit')
- ShellHook.__init__(self, 'pre-commit', filepath, 0)
+ ShellHook.__init__(self, 'pre-commit', filepath, 0, cwd=controldir)
class PostCommitShellHook(ShellHook):
@@ -119,7 +123,7 @@ class PostCommitShellHook(ShellHook):
def __init__(self, controldir):
filepath = os.path.join(controldir, 'hooks', 'post-commit')
- ShellHook.__init__(self, 'post-commit', filepath, 0)
+ ShellHook.__init__(self, 'post-commit', filepath, 0, cwd=controldir)
class CommitMsgShellHook(ShellHook):
@@ -149,4 +153,4 @@ class CommitMsgShellHook(ShellHook):
os.unlink(args[0])
ShellHook.__init__(self, 'commit-msg', filepath, 1,
- prepare_msg, clean_msg)
+ prepare_msg, clean_msg, controldir)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/dulwich.git
More information about the Python-modules-commits
mailing list