Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can I make Subversion + TortoiseSVN case-insensitive for Windows?

Tags:

I've been using Subversion for code control with TortoiseSVN to interface with the server for the past few months, and in general it's been going great! However, occasionally my FoxPro IDE will change the case of a file extension without warning where "program.prg" becomes "program.PRG") TortoiseSVN apparently takes this to mean the first file was removed, becoming flagged as "missing" and the second name comes up as "non-versioned", wreaking havoc on my ability to track changes to the file. I understand that Subversion has it origins in the case-sensitive world of *nix but, is there any way to control this behavior in either Subversion or TortoiseSVN to be file name case-insensitive when used with Windows?

like image 250
Kit Roed Avatar asked Aug 18 '08 13:08

Kit Roed


People also ask

Is SVN case sensitive?

SVN works on both case sensitive and case insensitive filesystems, so it must assume the most compatible option, which is case sensitivity.

What is the difference between SVN and TortoiseSVN?

The main difference between SVN and TortoiseSVN is that the SVN is a distributed version control system while TortoiseSVN is an SVN client implemented as a Microsoft Windows shell extension. In brief, SVN is a version control system. On the other hand, TortoiseSVN is a Subversion client.

Does TortoiseSVN include Subversion?

TortoiseSVN comes with everything you need to access a repository. Only if you want to set up a server then you will need the Subversion package.


2 Answers

Unfortunately, Subversion is case-sensitive. This is due to the fact that files from Subversion can be checked out on both case-sensitive file systems (e.g., *nix) and case-insensitive file systems (e.g., Windows, Mac).

This pre-commit hook script may help you avoid problems when you check in files. If it doesn't solve your problem, my best suggestion is to write a little script to make sure that all extensions are lowercase and run it every time before you check in/check out. It'll be a PITA, but maybe your best bet.

like image 95
jacobko Avatar answered Oct 13 '22 00:10

jacobko


Windows does support case sensitivity, but you must send it the correct POSIX flags on CreateFile from the Windows API! A registry key may need changed (SFU/Tools for Unix and Ultimate Windows 7 has this registry entry already set so windows supports case sensitive file names).

Windows is designed off of Unix, but things such as Explorer.exe and other programs are designed to disallow case sensitivity for backwards compatibility and security (mostly when dealing with dos executing notepad.exe vs. NOTEPAD.EXE, where all caps is a virus or malware).

But Vista+ has security attributes which makes this obsolete.

TortiousSVN just doesn't support passing this posix flag while making and renaming files.

like image 33
TamusJRoyce Avatar answered Oct 12 '22 23:10

TamusJRoyce