Re: diff

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 13, 2017 at 05:57:14PM +1100, Tobin C. Harding wrote:
> On occasions diff output does not render the same as it does when
> editing a file. For example, while removing checkpatch tab warning
> the following diff was generated
> 
> -#define KS_WLAN_SET_WPS_ENABLE                 SIOCIWFIRSTPRIV + 4
> -#define KS_WLAN_GET_WPS_ENABLE                 SIOCIWFIRSTPRIV + 5
> +#define KS_WLAN_SET_WPS_ENABLE         SIOCIWFIRSTPRIV + 4
> +#define KS_WLAN_GET_WPS_ENABLE         SIOCIWFIRSTPRIV + 5
> 
> However when editing the file the alignment was not changed, just tabs
> were inserted instead of spaces.

if the removed lines were using tabs which they should then they are
moved by the inserted "-" while the added lines were using spaces
and thus did not "jump" to the next tabstop.

> 
> I had the same thing happen a few days ago (reproduced here from
> memory)
> 
> -static void foo(struct bar *barp, struct baz *bazp)
> +static void foo(struct bar *barp,
> +               struct baz *bazp)
> {
>         ...
> 
> When editing the file the two s's in struct were aligned but not in
> the diff output. I reapplied this patch to a clean tree and it applied
> correctly.

this is simply because the insertion is by tabs so when diff added the
+/- output it moved the "static void foo..." but not the "struct baz"
so this looks unaligned in the diff output while it actually is aligned
properly.

> 
> How do maintainers visually parse this if the output is not identical in the
> diff and the file once applied?
>
checkpatch will warn if spaces were used and if its based on tabs
I guess most can see if aligment is correct or not.

thx!
hofrat

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux