Re: [PATCH v3 5/7] convert: auto_crlf=false and no attributes set: same as binary

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

 



tboegi@xxxxxx writes:

> From: Torsten Bögershausen <tboegi@xxxxxx>
>
> When core.autocrlf is set to false, and no attributes are set, the file
> is treated as binary.

This, and also on the title, I know by "binary" you mean "no
conversion is attempted", and it is the word used in the code around
there, but it still makes my heart skip a beat every time I read
this sentence--it is not like we do not treat the contents as text
after all.

In any case, I take the above sentence the statement of the fact,
describing how the world currently is, not declaring a new world
order.

> Simplify the logic and remove duplicated code when dealing with
> (crlf_action == CRLF_GUESS && auto_crlf == AUTO_CRLF_FALSE) by
> setting crlf_action=CRLF_BINARY already in convert_attrs().

I looked at all the places where CRLF_BINARY is checked.  The ones
that are in this patch are clearly where "Is it BINARY?" and "Is
AUTO_CRLF_FALSE and CRLF_GUESS both true?" mean the same thing, so
this is a correct simplification to these places.

It is not easy to see what the effect of this change to the other
places that use CRLF_BINARY, though.

 * output_eol() used to return EOL_UNSET when auto_crlf is not in
   effect and CRLF_GUESS is.  The function will see CRLF_BINARY with
   this patch in such a case, and returns EOL_UNSET.  So there is no
   change to the function and its callers.

 * convert_attrs() has "If BINARY don't do anything and return".
   Will the patch change behaviour for the "not-autocrlf,
   CRLF_GUESS" case in this codepath?  I think ca->crlf_action used
   to be left as CRLF_GUESS here before the patch, and now by the
   time the control flow reaches here it is already CRLF_BINARY.
   Would it affect the callers, and if so how?

 * get_convert_attr_ascii() would change the behaviour, right?  It
   runs convert_attrs(), and with this change a path without
   attribute when autocrlf is not in effect would get BINARY and
   would show "-text", while the code before this change would give
   an empty string.  Am I misreading the code, or is the change
   intended?

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]