Shortest RFC ever: I propose we rename files using `.TXT` extension to use `.txt`

Why? Because we have a mixture scattered about the codebase, but only a very few with .TXT. I like consistency. It makes my obsessive tendancies happy.

Is this important? Nope.

Why am I asking first? Because its possible someone, somewhere will be disrupted by this so I figured I’d ask first.

-Chandler

SGTM.

I’m wondering if this would wreak havoc upon semi-case-sensitive systems like Windows. I’d like to hear from people who use Git and SVN on Windows.

– HT

I’m wondering if this would wreak havoc upon semi-case-sensitive systems like Windows. I’d like to hear from people who use Git and SVN on Windows.

FWIW, I will of course not do this in any case where there might be a collision due to such file systems. I don’t think there are any such cases however.

The problem here might be git trying to rename 'file.TXT' to
'file.txt', which results in an error on Windows since it sees both as
the same name.

Some problems on Windows/MacOS systems are possible.

Michael

I mean, I can try to get these to not be “renames” in svn… but surely modern windows SVN clients handle this correctly? (and git clienst?)

Yea, I honestly don’t think this will be a problem. I’m happy to help you test this in the office one day, you can just check in a test file, i’ll sync, then rename with different case and check it in again, and I’ll sync. But I’m with you. I’d be very surprised if this is a problem on modern clients.

Cool, before doing anything, I’ll work w/ Zach to confirm. (Thanks Zach!)

Any other concerns?

On macOS (which uses a case-insensitive) filesystem "git mv" works as expected. But if you use the regular "mv" command "git status" will not see the file as being renamed.

From: cfe-dev [mailto:cfe-dev-bounces@lists.llvm.org] On Behalf Of Jacob
Carlborg via cfe-dev
Sent: Friday, January 18, 2019 5:40 AM
To: cfe-dev@lists.llvm.org
Cc: llvm-dev@lists.llvm.org
Subject: Re: [cfe-dev] [llvm-dev] Shortest RFC ever: I propose we rename
files using `.TXT` extension to use `.txt`

> Yea, I honestly don't think this will be a problem. I'm happy to help
> you test this in the office one day, you can just check in a test file,
> i'll sync, then rename with different case and check it in again, and
> I'll sync. But I'm with you. I'd be very surprised if this is a
> problem on modern clients.

On macOS (which uses a case-insensitive) filesystem "git mv" works as
expected. But if you use the regular "mv" command "git status" will not
see the file as being renamed.

FTR, on Windows I have accidentally done things like

    git add lib/debuginfo/foobar

which works totally fine, until you try to checkout on Linux, where
you will discover you have both a lib/DebugInfo and a lib/debuginfo
directory sitting side-by-side, and your build dies mysteriously.

I would *never* be sanguine about multi-platform tools like git or svn
behaving "the way you expect" when it comes to filespec case.
--paulr

I did a case-only rename in https://reviews.llvm.org/rL272701 . There were similar concerns, but it worked out fine. I had tested that it works on Windows before doing it. I did that through svn. So I too think this shouldn’t be an issue.

I used this command (not even using a local checkout):

svn mv -m "Rename Intrin.h to intrin.h, that's how all the documentation calls it." [https://nico@llvm.org/svn/llvm-project/cfe/trunk/lib/Headers/Intrin.h](https://nico@llvm.org/svn/llvm-project/cfe/trunk/lib/Headers/Intrin.h) [https://nico@llvm.org/svn/llvm-project/cfe/trunk/lib/Headers/intrin.h](https://nico@llvm.org/svn/llvm-project/cfe/trunk/lib/Headers/intrin.h`)