userdiff: fix some corner cases in dts regex
authorStephen Boyd <redacted>
Sun, 20 Oct 2019 18:52:30 +0000 (11:52 -0700)
committerJunio C Hamano <redacted>
Mon, 21 Oct 2019 08:44:12 +0000 (17:44 +0900)
commit8da56a484800023a545d7a7c022473f5aa9e720f
treee4feb0d793512ff670339b210a12346fade094db
parent3c81760bc66376c3ac69c39475cbe3b13e97e798
userdiff: fix some corner cases in dts regex

While reviewing some dts diffs recently I noticed that the hunk header
logic was failing to find the containing node. This is because the regex
doesn't consider properties that may span multiple lines, i.e.

property = <something>,
   <something_else>;

and it got hung up on comments inside nodes that look like the root node
because they start with '/*'. Add tests for these cases and update the
regex to find them. Maybe detecting the root node is too complicated but
forcing it to be a backslash with any amount of whitespace up to an open
bracket seemed OK. I tried to detect that a comment is in-between the
two parts but I wasn't happy so I just dropped it.

Cc: Rob Herring <redacted>
Cc: Frank Rowand <redacted>
Signed-off-by: Stephen Boyd <redacted>
Reviewed-by: Johannes Sixt <redacted>
Signed-off-by: Junio C Hamano <redacted>
t/t4018/dts-nodes-boolean-prop [new file with mode: 0644]
t/t4018/dts-nodes-multiline-prop [new file with mode: 0644]
t/t4018/dts-root
t/t4018/dts-root-comment [new file with mode: 0644]
userdiff.c
git clone https://git.99rst.org/PROJECT