post-applypatch: allow folded Message-ID line
[git] / post-applypatch
1 #!/bin/sh
2
3 GIT_DIR=.git
4 dotest="$GIT_DIR/rebase-apply"
5
6 prec=4 &&
7 this=$(cat 2>/dev/null "$dotest/next") &&
8 msgnum=$(printf "%0${prec}d" $this) &&
9 test -f "$dotest/$msgnum" &&
10 message_id=$(sed -ne '
11         /^[     ]/{
12                 # Append continuation line
13                 H
14                 x
15                 s/\n//
16                 x
17                 n
18         }
19         # Hold this new line, and look at what is in the hold space
20         x
21         # Is it the Message-ID line?  If so, spit out and finish.
22         /^[Mm][Ee][Ss][Ss][Aa][Gg][Ee]-[Ii][Dd]:[       ]*/{
23                 s///p
24                 q
25         }
26         # Otherwise, check if this new line is empty
27         x
28         # Is it?  Then we are done with the header
29         /^$/b end
30         # Otherwise we need to hold onto this header line
31         x
32         # And start the next cycle
33         b
34 : end
35         q
36 ' "$dotest/$msgnum") &&
37
38 test -n "$message_id" &&
39 head=$(git rev-parse --verify HEAD 2>/dev/null) &&
40
41 echo "$head $message_id" >>"$GIT_DIR"/am.log &&
42 GIT_NOTES_REF=refs/notes/amlog \
43         git notes edit -m "Message-Id: $message_id" "$head"