#!/bin/bash set -e changeid=$(sed 's/^Change-Id: \(I.*\)$/\1/;t;d' $1) # let git do its own if there's no change-id [ "$changeid" = "" ] && exit 0 commit=$(sed 's/^From.*\([0-9a-fA-F]\{40\}\).*/\1/;t;d' $1) # must have a commit ID - if this fails git changed [ "$commit" == "" ] && exit 2 commit=${commit:0:12} date=$(date +%Y%m%d%H%M%S) # remove change-id sed 's/^Change-Id: I.*$//;T;d' -i $1 # and add message-id sed "s/^From: /Message-Id: <$date.$commit.$changeid@changeid>\nFrom: /" -i $1