Skip to content

Instantly share code, notes, and snippets.

@leandrocruz
Created April 20, 2016 12:31
Show Gist options
  • Save leandrocruz/3ab0c5312769a08f4b33a1492fec9c8c to your computer and use it in GitHub Desktop.
Save leandrocruz/3ab0c5312769a08f4b33a1492fec9c8c to your computer and use it in GitHub Desktop.
#!/usr/bin/python3
import os
import re
import argparse
import subprocess
def readArgs():
parser = argparse.ArgumentParser(description='TODO')
# parser.add_argument('template', help="The commit message template")
parser.add_argument('-m','--message', required=True, help="The commit message")
args = parser.parse_args()
return vars(args)
def parseBranch(ticket_prefix):
branch = subprocess.Popen('git rev-parse --abbrev-ref HEAD'.split(), stdout=subprocess.PIPE).stdout.read().decode('UTF-8')
m = re.search('(develop|feature|master|release)/{}\-(\d+).+'.format(ticket_prefix), branch, flags=re.IGNORECASE)
return (m.group(1), m.group(2))
def getMessage(ticket_prefix):
args = readArgs()
message = args['message']
_, ticket = parseBranch(ticket_prefix)
return '{}-{} - {}'.format(ticket_prefix, ticket, message)
message = getMessage('CHANGE_THIS_TO_MATCH_YOUR_ENVIRONMENT')
result = subprocess.Popen(['git', 'commit', '-m', message], stdout=subprocess.PIPE).stdout.read().decode('UTF-8')
print(result)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment