Advertisement
Guest User

Untitled

a guest
Jul 19th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.93 KB | None | 0 0
  1.  
  2.  
  3. #!/usr/bin/ruby
  4.  
  5. repo_path = ARGV[0]
  6. transaction = ARGV[1]
  7. svnlook = '/usr/bin/svnlook'
  8. mysql = '/usr/bin/mysql'
  9.  
  10. commit_log = `#{svnlook} log #{repo_path} -t #{transaction}`
  11.  
  12. if (commit_log == nil || commit_log.length < 2)
  13.   STDERR.puts("Log message cannot be empty.")
  14.   exit(1)
  15. end
  16.  
  17. if (commit_log =~ /^(Issue)\s#(\d+)\:\s(Added|Removed|Fixed|Changed|Updated)\:\s[A-ZÄÖÜ].*\./)
  18.   issue_number = $2
  19.   sql = "SELECT COUNT(*) AS result FROM issues I INNER JOIN issue_statuses S ON S.id = I.status_id WHERE S.is_closed = 0 AND I.id = #{issue_number};"
  20.   redmine_issue_open = `#{mysql} --database=... --user=... --password=... -e "#{sql};" --skip-column-names`.strip()
  21.   if (redmine_issue_open.eql?("0"))
  22.     STDERR.puts("Redmine issue #{issue_number} is not in an open state.")
  23.     exit(1)
  24.   end
  25. else
  26.   STDERR.puts("You didn't specify a Redmine issue number on the first line, e.g.:
  27.    Issue #1234 ...")
  28.   exit(1)
  29. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement