public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Leif Lindholm" <quic_llindhol@quicinc.com>
To: "Jayaprakash, N" <n.jayaprakash@intel.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>
Cc: Rebecca Cran <rebecca@bsdio.com>
Subject: Re: [edk2-devel] [edk2-libc Patch 1/1] edk2-libc: add .gitattributes to ensure right line endings in .sh .bat
Date: Thu, 18 Jul 2024 18:55:14 +0100	[thread overview]
Message-ID: <eb68203b-618d-4d9e-a36c-015f46cc38bf@quicinc.com> (raw)
In-Reply-To: <PH7PR11MB59432DCC696F450F879A24F2EEAC2@PH7PR11MB5943.namprd11.prod.outlook.com>

On 2024-07-18 07:47, Jayaprakash, N wrote:
> Regarding the below comment from Lief.
> 
> Now, as for the suggestion: this isn't wrong, but can you explain what problem it is solving?
> 
> <<JP>> As a developer and also as a maintainer the lines endings have been
> a consistent problem as I have seen patches coming with mixed line > endings some times it take quite a while to fix these simple line> 
ending issues.

I agree it's annoying, but if it takes a noticeable amount of time to 
fix, it sounds to me like you're manually editing things that tools can 
do for you. (Admittedly, git is one of those tools.) And as Mike says, 
there's the helper scripts and CI.

> I want to start small through .gtiattributes usage for the .sh and
> .bat scripts to normalize the line endings to LF so that irrespective
> of the user environment the line endings are always stored as LF in
> git repo but presented to the users in LF or CRLF as per their
> environment. Thought of using this feature of github in a lower scale
> to make it easy for the developers and maintainers of the edk2-libc project.
> 
> If there is a general alignment that this change need not go,
> then I will close the BZ as won't fix.

Like I said, there's nothing actually *wrong* about doing what you 
propose. It's more a question of how we maintain (or not) consistency 
between, and within, the repos.

Do we keep edk2-libc as a special thing on the side?
If so I guess it could keep its own .gitattributes.
If not, it should use the one in edk2/BaseTools.
If so, that affects all the repos.

If it affects all the repos, why specifically .sh and .bat?
Yes, it doesn't break the build if it sneaks into a .c file, or a .inf, 
but it breaks CI. Sometimes. So should we specify .c, .h, .inf, .dsc, 
.dec, .py, .vfr as well?

As it stands, I'd prefer to leave this alone until do the CRLF->LF 
conversion and can migrate to core.autocrlf=auto. At that point, I 
expect most of these mixups will go away. And if they don't, we could 
always revisit then.

I do intend to get back to the CRLF->LF conversion work once the shock 
from the Github-PR switch has settled.

Regards,

Leif

> Regards,
> JP
> 
> -----Original Message-----
> From: Leif Lindholm <quic_llindhol@quicinc.com>
> Sent: Wednesday, July 17, 2024 7:55 PM
> To: devel@edk2.groups.io; Jayaprakash, N <n.jayaprakash@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>
> Cc: Rebecca Cran <rebecca@bsdio.com>
> Subject: Re: [edk2-devel] [edk2-libc Patch 1/1] edk2-libc: add .gitattributes to ensure right line endings in .sh .bat
> 
> Hi,
> 
> The address I am replying from is the email address I use for tianocore work. Messages sent elsewhere are going to end up misfiled and likely lost.
> 
> On 2024-07-17 06:55, Jayaprakash, N wrote:
>> Hi Lefi,
>>
>> Do you have any recommendations on this?
>>
>> Regards,
>> JP
>>
>> -----Original Message-----
>> From: Kinney, Michael D <michael.d.kinney@intel.com>
>> Sent: Friday, July 12, 2024 9:29 PM
>> To: Jayaprakash, N <n.jayaprakash@intel.com>; devel@edk2.groups.io;
>> Leif Lindholm <llindhol@qti.qualcomm.com>
>> Cc: Rebecca Cran <rebecca@bsdio.com>; Kinney, Michael D
>> <michael.d.kinney@intel.com>
>> Subject: RE: [edk2-libc Patch 1/1] edk2-libc: add .gitattributes to
>> ensure right line endings in .sh .bat
>>
>> + Leif
>>
>> .gitattributes is not used in other TianoCore repos.
> 
> Technically sort of correct, but see below.
> 
>> This feature changes the line endings locally when checked out.
>>
>> Instead, the edk2 repo uses a CI check like PatchCheck.py to make sure files with specific extensions have the correct line endings when they are checked in and files are checked out unmodified.
>>
>> I know Leif has been evaluating some line ending changes to TianoCore Repos.  Don't know if this direction is in alignment with those ideas or not.
>>
>> Mike
>>
>>> -----Original Message-----
>>> From: Jayaprakash, N <n.jayaprakash@intel.com>
>>> Sent: Friday, July 12, 2024 7:27 AM
>>> To: devel@edk2.groups.io
>>> Cc: Jayaprakash, N <n.jayaprakash@intel.com>; Rebecca Cran
>>> <rebecca@bsdio.com>; Kinney, Michael D <michael.d.kinney@intel.com>
>>> Subject: [edk2-libc Patch 1/1] edk2-libc: add .gitattributes to
>>> ensure right line endings in .sh .bat
>>>
>>> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4809
>>>
>>> This commit adds .gitattributes file with the right settings to
>>> preserve the correct line endings for .sh and .bat files as per the
>>> Linxu and Windows line ending conventions respectively.
>   >>
>>> Cc: Rebecca Cran <rebecca@bsdio.com>
>>> Cc: Michael D Kinney <michael.d.kinney@intel.com>
>>> Cc: Jayaprakash N <n.jayaprakash@intel.com>
>>> Signed-off-by: Jayaprakash N <n.jayaprakash@intel.com>
>>> ---
>>>    .gitattributes | 2 ++
>>>    1 file changed, 2 insertions(+)
>>>    create mode 100644 .gitattributes
>>>
>>> diff --git a/.gitattributes b/.gitattributes new file mode 100644
>>> index 0000000..3fd9ec8
>>> --- /dev/null
>>> +++ b/.gitattributes
>>> @@ -0,0 +1,2 @@
>>> +*.bat text eol=crlf
>>> +*.sh text eol=lf
>>> \ No newline at end of file
> 
> ^ This is not a good look for any submission, but especially not one dealing with line endings. Please manually look at patches before sending them out.
> 
> Now, as for the suggestion: this isn't wrong, but can you explain what problem it is solving?
> 
> I had a look in edk2-libc and all the .sh files have LF line endings and all the .bat files have CRLF line endings.
> 
> Now, if we *did* want to do this, I would strongly prefer a patch to edk2/BaseTools/Conf/gitattributes, which is applied in any repo SetupGit.py has been executed in.
> 
> But ultimately I want to convert the repos completely to LF line endings except for where special cases exist (which *should* be described in
> [.]gitattributes) and then move to enable core.autocrlf.
> 
> /
>       Leif
> 
>>> --
>>> 2.45.1.windows.1
>>
>>
>>
>> 
>>
>>
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119973): https://edk2.groups.io/g/devel/message/119973
Mute This Topic: https://groups.io/mt/107182920/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



  reply	other threads:[~2024-07-18 17:55 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-12 14:27 [edk2-devel] [edk2-libc Patch 0/1] add .gitattributes to ensure right line endings in .sh .bat Jayaprakash, N
2024-07-12 14:27 ` [edk2-devel] [edk2-libc Patch 1/1] edk2-libc: " Jayaprakash, N
2024-07-12 15:58   ` Michael D Kinney
2024-07-12 16:47     ` Jayaprakash, N
2024-07-17  5:55     ` Jayaprakash, N
2024-07-17 14:24       ` Leif Lindholm
2024-07-18  6:47         ` Jayaprakash, N
2024-07-18 17:55           ` Leif Lindholm [this message]
2024-07-12 20:03   ` Rebecca Cran
2024-07-15 18:14     ` Jayaprakash, N

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=eb68203b-618d-4d9e-a36c-015f46cc38bf@quicinc.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox