mirror of
https://github.com/oskar456/dzonegit.git
synced 2024-05-11 05:55:41 +00:00
Better multi-call support
Also supports calling by secondary argument (kind-of busybox stylekind-of). Drop support for multicall setuptools wrapper – when installed using setuptools, the user should call explicit function instead.
This commit is contained in:
28
dzonegit.py
28
dzonegit.py
@ -495,17 +495,25 @@ def post_receive(stdin=sys.stdin):
|
||||
subprocess.run(cmd)
|
||||
|
||||
|
||||
def get_action(argv=sys.argv):
|
||||
name = Path(argv[0]).name
|
||||
if "pre-commit" in name:
|
||||
return pre_commit
|
||||
if "update" in name:
|
||||
return update
|
||||
if "pre-receive" in name:
|
||||
return pre_receive
|
||||
if "post-receive" in name:
|
||||
return post_receive
|
||||
|
||||
|
||||
def main():
|
||||
name = Path(sys.argv[0]).name
|
||||
print(name)
|
||||
if name == "pre-commit":
|
||||
pre_commit()
|
||||
elif name == "update":
|
||||
update()
|
||||
elif name == "pre-receive":
|
||||
pre_receive()
|
||||
elif name == "post-receive":
|
||||
post_receive()
|
||||
action = get_action()
|
||||
if action is None and len(sys.argv) > 1:
|
||||
sys.argv.pop(0)
|
||||
action = get_action()
|
||||
if action:
|
||||
action()
|
||||
else:
|
||||
sys.exit("No valid command found")
|
||||
|
||||
|
Reference in New Issue
Block a user