2017-06-22 13:07:11

by Geert Uytterhoeven

[permalink] [raw]
Subject: [PATCH] scripts/dtc: dtx_diff - Show real file names in diff header

As the comparison uses process substitution to pass files after
conversion to DTS format, the diff header doesn't show the real
filenames, but the names of the file descriptors used:

--- /dev/fd/63 2017-06-22 11:21:47.531637188 +0200
+++ /dev/fd/62 2017-06-22 11:21:47.531637188 +0200

This is especially annoying when comparing a bunch of DT files in a
loop, as the output doesn't show a clue about which files it refers to.

Fix this by explicitly passing the original file names to the diff
command using the --label option, giving e.g.:

--- arch/arm/boot/dts/r8a7791-koelsch.dtb
+++ arch/arm/boot/dts/r8a7791-porter.dtb

Signed-off-by: Geert Uytterhoeven <[email protected]>
---
scripts/dtc/dtx_diff | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/dtc/dtx_diff b/scripts/dtc/dtx_diff
index ec47f95991a3aecc..fb86f3899e162200 100755
--- a/scripts/dtc/dtx_diff
+++ b/scripts/dtc/dtx_diff
@@ -338,7 +338,7 @@ DTC="${DTC} ${dtc_flags} -O dts -qq -f ${dtc_sort} -o -"

if (( ${cmd_diff} )) ; then

- diff ${diff_flags} \
+ diff ${diff_flags} --label "${dtx_file_1}" --label "${dtx_file_2}" \
<(compile_to_dts "${dtx_file_1}") \
<(compile_to_dts "${dtx_file_2}")

--
2.7.4


2017-06-22 15:51:35

by Frank Rowand

[permalink] [raw]
Subject: Re: [PATCH] scripts/dtc: dtx_diff - Show real file names in diff header

On 06/22/17 06:07, Geert Uytterhoeven wrote:
> As the comparison uses process substitution to pass files after
> conversion to DTS format, the diff header doesn't show the real
> filenames, but the names of the file descriptors used:
>
> --- /dev/fd/63 2017-06-22 11:21:47.531637188 +0200
> +++ /dev/fd/62 2017-06-22 11:21:47.531637188 +0200
>
> This is especially annoying when comparing a bunch of DT files in a
> loop, as the output doesn't show a clue about which files it refers to.
>
> Fix this by explicitly passing the original file names to the diff
> command using the --label option, giving e.g.:
>
> --- arch/arm/boot/dts/r8a7791-koelsch.dtb
> +++ arch/arm/boot/dts/r8a7791-porter.dtb
>
> Signed-off-by: Geert Uytterhoeven <[email protected]>
> ---
> scripts/dtc/dtx_diff | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/dtc/dtx_diff b/scripts/dtc/dtx_diff
> index ec47f95991a3aecc..fb86f3899e162200 100755
> --- a/scripts/dtc/dtx_diff
> +++ b/scripts/dtc/dtx_diff
> @@ -338,7 +338,7 @@ DTC="${DTC} ${dtc_flags} -O dts -qq -f ${dtc_sort} -o -"
>
> if (( ${cmd_diff} )) ; then
>
> - diff ${diff_flags} \
> + diff ${diff_flags} --label "${dtx_file_1}" --label "${dtx_file_2}" \
> <(compile_to_dts "${dtx_file_1}") \
> <(compile_to_dts "${dtx_file_2}")
>
>

Reviewed-by: Frank Rowand <[email protected]>


Thanks Geert! It may look like a small change, but it is a big
usability win.

-Frank

2017-06-22 16:21:27

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH] scripts/dtc: dtx_diff - Show real file names in diff header

On Thu, Jun 22, 2017 at 03:07:06PM +0200, Geert Uytterhoeven wrote:
> As the comparison uses process substitution to pass files after
> conversion to DTS format, the diff header doesn't show the real
> filenames, but the names of the file descriptors used:
>
> --- /dev/fd/63 2017-06-22 11:21:47.531637188 +0200
> +++ /dev/fd/62 2017-06-22 11:21:47.531637188 +0200
>
> This is especially annoying when comparing a bunch of DT files in a
> loop, as the output doesn't show a clue about which files it refers to.
>
> Fix this by explicitly passing the original file names to the diff
> command using the --label option, giving e.g.:
>
> --- arch/arm/boot/dts/r8a7791-koelsch.dtb
> +++ arch/arm/boot/dts/r8a7791-porter.dtb
>
> Signed-off-by: Geert Uytterhoeven <[email protected]>
> ---
> scripts/dtc/dtx_diff | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

Applied.