@ -147,14 +147,14 @@ def main():
else :
else :
firstline = ' Merge # %s ' % ( pull , )
firstline = ' Merge # %s ' % ( pull , )
message = firstline + ' \n \n '
message = firstline + ' \n \n '
message + = subprocess . check_output ( [ GIT , ' log ' , ' --no-merges ' , ' --topo-order ' , ' --pretty=format: % h %s ( %a n) ' , base_branch + ' .. ' + head_branch ] )
message + = subprocess . check_output ( [ GIT , ' log ' , ' --no-merges ' , ' --topo-order ' , ' --pretty=format: % h %s ( %a n) ' , base_branch + ' .. ' + head_branch ] ) . decode ( ' utf-8 ' )
try :
try :
subprocess . check_call ( [ GIT , ' merge ' , ' -q ' , ' --commit ' , ' --no-edit ' , ' --no-ff ' , ' -m ' , message , head_branch ] )
subprocess . check_call ( [ GIT , ' merge ' , ' -q ' , ' --commit ' , ' --no-edit ' , ' --no-ff ' , ' -m ' , message . encode ( ' utf-8 ' ) , head_branch ] )
except subprocess . CalledProcessError as e :
except subprocess . CalledProcessError as e :
print ( " ERROR: Cannot be merged cleanly. " , file = stderr )
print ( " ERROR: Cannot be merged cleanly. " , file = stderr )
subprocess . check_call ( [ GIT , ' merge ' , ' --abort ' ] )
subprocess . check_call ( [ GIT , ' merge ' , ' --abort ' ] )
exit ( 4 )
exit ( 4 )
logmsg = subprocess . check_output ( [ GIT , ' log ' , ' --pretty=format: %s ' , ' -n ' , ' 1 ' ] )
logmsg = subprocess . check_output ( [ GIT , ' log ' , ' --pretty=format: %s ' , ' -n ' , ' 1 ' ] ) . decode ( ' utf-8 ' )
if logmsg . rstrip ( ) != firstline . rstrip ( ) :
if logmsg . rstrip ( ) != firstline . rstrip ( ) :
print ( " ERROR: Creating merge failed (already merged?). " , file = stderr )
print ( " ERROR: Creating merge failed (already merged?). " , file = stderr )
exit ( 4 )
exit ( 4 )