for proj, commit in zip(projects, commit_ids):
# prepare separate temp directory for each build
- prjdir = os.path.join(git_cache, proj)
+ prjdir = os.path.join(os.getenv('WORKSPACE'), proj)
print "Cloning project %s..." % proj
# clone gerrit project to local dir
mygit = Git(prjdir)
+ # masquerade user name/ email
cur_dir = os.getcwd()
os.chdir(prjdir)
- # masquerade user name/ email
gitcmd = "git config user.name \"%s\"" % (event['tagger_username'])
if runner.show(gitcmd)[0] != 0:
raise Exception("failed to execute %s" % gitcmd)
branches = mygit.branch_contains(commit)
if event['branch'] not in branches:
raise LocalError("commit %s is not in branch %s" % (commit, event['branch']))
-
- for proj, commit in zip(projects, commit_ids):
- print "Now creating tag for %s" %proj
- prjdir = os.path.join(git_cache, proj)
- mygit = Git(prjdir)
+ print "Now creating tag for %s" %proj
mygit.set_branch(event['branch'])
mygit.checkout(commit)
-
if 'sr_tag' in event:
tag_name = event['sr_tag']
-
- mygit.create_tag(tag_name, event['tagger_submit_message'])
-
- mygit.push_tag("origin", tag_name)
global sr_tag
sr_tag = tag_name
+ try:
+ mygit.create_tag(tag_name, event['tagger_submit_message'])
+ except Exception as err:
+ raise LocalError('Tag already exist %s' % proj)
- revert_git_config()
- return 0
+ for proj, commit in zip(projects, commit_ids):
+ print "Now creating tag for %s" %proj
+ prjdir = os.path.join(os.getenv('WORKSPACE'), proj)
+ mygit = Git(prjdir)
+ mygit.set_branch(event['branch'])
+ mygit.checkout(commit)
+ mygit.push_tag("origin", tag_name)
+ return 0
if __name__ == '__main__':
exit_status = 0
exit_status = main()
except Exception as err:
print err
- error_string = err
+ error_string = repr(err)
exit_status = 1
- revert_git_config()
# status is changed to 'Succeeded' or 'Failed'
status_str = "Processing"
trigger_next("BUILD-MONITOR", bm_data);
sys.exit(exit_status)
+