]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
fix: util/check-format-commit.sh to handle one-line diff hunks
authorRichard Levitte <levitte@openssl.org>
Tue, 16 Jul 2024 03:28:30 +0000 (05:28 +0200)
committerDr. David von Oheimb <dev@ddvo.net>
Sat, 26 Oct 2024 17:17:00 +0000 (19:17 +0200)
For multi-line hunks, 'git diff -U0' outputs a pair of START,COUNT
indicators to show where the hunk starts and ends.  However, if the hunk is
just one line, only START is output, with the COUNT of 1 being implied.
Typically, this happens for copyright change hunks, like this:

    --- a/crypto/evp/evp_err.c
    +++ b/crypto/evp/evp_err.c
    @@ -3 +3 @@
    - * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
    + * Copyright 1995-2024 The OpenSSL Project Authors. All Rights Reserved.

This is normal unified diff output, and our script must adapt.

Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24900)

(cherry picked from commit 7821b7b9774d481ae92610e2d132ea34d4aaf407)

util/check-format-commit.sh

index 35495fce63ff9de2441a045e9a803297e467ab36..d1b344f16d33c5fa0401bfbfdc95f32ad9c2d35c 100755 (executable)
@@ -130,6 +130,8 @@ do
         RANGE=$k
         RSTART=$(echo $RANGE | awk -F',' '{print $1}')
         RLEN=$(echo $RANGE | awk -F',' '{print $2}')
+        # when the hunk is just one line, its length is implied
+        if [ -z "$RLEN" ]; then RLEN=1; fi
         let REND=$RSTART+$RLEN
         range_start+=($RSTART)
         range_end+=($REND)