Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. import subprocess
  4. import sys
  5. import re
  6.  
  7. project = 'CUR' # set to your project name in JIRA
  8.  
  9.  
  10. issue_pattern = '{}-[\d]+'.format(project)
  11. issue_output_format = '{}'
  12.  
  13. def read_current_message():
  14. with open(sys.argv[1], 'r') as f:
  15. return f.read()
  16.  
  17. def write_message(message):
  18. with open(sys.argv[1], 'w') as f:
  19. f.write(message)
  20.  
  21. def contains_message(message):
  22. return message and not message.lstrip().startswith("# Please enter the commit message for your changes.")
  23.  
  24.  
  25. try:
  26. current_ref = subprocess.check_output('git symbolic-ref HEAD', shell=True)
  27. except subprocess.CalledProcessError:
  28. print("add-issue-id-hook: Adding issue id failed. Are you in detached HEAD state?")
  29. sys.exit()
  30.  
  31. current_branch = current_ref[len('refs/heads/'):]
  32.  
  33. issue_match = re.search(issue_pattern, current_branch)
  34. if issue_match:
  35. issue_output = issue_output_format.format(issue_match.group())
  36.  
  37. original_message = read_current_message()
  38. if contains_message(original_message) and not original_message.startswith(issue_output):
  39. write_message('{0} {1}'.format(issue_output, original_message))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement