From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> When we're backporting patches from libxfs, don't add a S-o-b header if there's already one at the end of the headers of the patch being ported. That way, we avoid things like: Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --- tools/libxfs-apply | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/tools/libxfs-apply b/tools/libxfs-apply index 3258272d6189..9271db380198 100755 --- a/tools/libxfs-apply +++ b/tools/libxfs-apply @@ -193,6 +193,14 @@ filter_xfsprogs_patch() rm -f $_libxfs_files } +add_header() +{ + local hdr="$1" + local hdrfile="$2" + + tail -n 1 "$hdrfile" | grep -q "^${hdr}$" || echo "$hdr" >> "$hdrfile" +} + fixup_header_format() { local _source=$1 @@ -280,13 +288,13 @@ fixup_header_format() sed -i '${/^[[:space:]]*$/d;}' $_hdr.new # Add Signed-off-by: header if specified - if [ ! -z ${SIGNED_OFF_BY+x} ]; then - echo "Signed-off-by: $SIGNED_OFF_BY" >> $_hdr.new + if [ ! -z ${SIGNED_OFF_BY+x} ]; then + add_header "Signed-off-by: $SIGNED_OFF_BY" $_hdr.new else # get it from git config if present SOB_NAME=`git config --get user.name` SOB_EMAIL=`git config --get user.email` if [ ! -z ${SOB_NAME+x} ]; then - echo "Signed-off-by: $SOB_NAME <$SOB_EMAIL>" >> $_hdr.new + add_header "Signed-off-by: $SOB_NAME <$SOB_EMAIL>" $_hdr.new fi fi