Case-Insensitive warning on Windows/NTFS

Issue #1 open
Adam Nofsinger created an issue

I have tried using cygwin, msysgit bash, and windows cmd.exe shells, and all of them the verify reports:

You appear to be running on a case-insensitive file-system. This is unsupported, can result in data loss.

I don't think it is properly determining if the file system is case sensitive or not. It is looking at if the OS is case sensitive or not. I'm going to call this a major bug, since it might deter most of your windows users from using this tool, unless I'm somehow inaccurate.

Comments (34)

  1. Pierre-Etienne Poirot Account Deactivated

    @adamnoffie this is the code to test for the case sensitivity: Verify.checkCaseSensitivity().

    That you see the same case-sensitivity warning through cygwin, msygit bash or the cmd.exe shell is expected if the target is the same directory or same partition. Can you clarify which type of file system the target directory is on?

    For info, FAT and its variations are not case-sensitive. NTFS is case-preserving but not necessarily case-sensitive depending on whether you interact with it through the Win32 or the POSIX subsystem: see KB-100625 and Case preservation.

    Based on the code above, it seems that Java uses the former.

  2. Adam Nofsinger reporter

    @pepoirot - thanks for your help! I am on Windows 7 64-bit, NTFS file system. I have a few more questions then - I will try to google this myself, but maybe you know off the top of your head:

    1) Do I need to heed that warning then and try to figure out a way to do this conversion on a fully case-sensitive file system (or running a program in a case-sensitive way somehow) - or should the migration work since NTFS is case-preserving?

    2) If the answer to (1) is yes, then how do I get a case-preserving file system on Windows 7 then? Is there a boot option I can set or something?

    3) Is the migration guide over at Atlassian Git help pages wrong then in its statement that: If you’re not running OS X, all you need to do is create a directory on your local machine called ~/GitMigration. This is where you will perform the conversion. After that, you can skip to the next section. https://www.atlassian.com/git/migration#!migration-prepare

  3. Adam Nofsinger reporter

    Well, I ended up just doing this whole thing on a Linux VM. I guess I propose that the documentation be changed so that it doesn't imply that everything will be fine as long as you aren't OS X. It should say "find a Linux box."

  4. Pierre-Etienne Poirot Account Deactivated

    @adamnoffie

    1) The warning is essential if you want to guarantee a correct conversion. A case-preserving file system is not sufficient, since giving two files differencing only the case of their names (such as foo\bar.txt and Foo\Bar.txt), trying to retrieve either file by name would always return the same file. (For example looking up foo\bar.txt or Foo\Bat.txt would always return the same file, for example foo\bar.txt). As a result, git-svn will merge the history of one file into the other during the conversion to Git.

    2) A quick search online does not give a authoritative answer. It is probably best to ask a friendly knowledgeable sysadmin for more information.

    3) I reported an internal issue regarding this.

    Thanks

  5. Jochen Froelke

    Dear Pierre-Etienne Poirot,

    I am confused. I got also the warning Case-Insensitive warning on Windows 7 64bit /NTFS and try to resolve this problem to use workaround provided in this tutorial. Under Section "Mount a case-sensitive disk image" there was a option/command for the jar ->

    svn-migration-scripts.jar create-disk-image
    

    this is not anymore exisiting or only available for OS X?

    Kind regards, Jochen

  6. Stefan Saasen Account Deactivated

    this is not anymore exisiting or only available for OS X?

    This is only available on OS X.

  7. Will Howell

    Why has this been marked as Resolved? Was a solution provided for Windows operating systems? The migration tutorial says:

    If you’re not running OS X, all you need to do is create a directory on your local machine called ~/GitMigration. This is where you will perform the conversion. After that, you can skip to the next section.

    https://www.atlassian.com/git/tutorials/migrating-prepare

  8. Pierre-Etienne Poirot Account Deactivated

    @WilliamHowell I re-opened the internal issue to have this fixed (WFT-10518). It seems the person assigned to the issue was not knowledgeable about the problem. In the mean time, the recommendation is to perform the migration over a Linux VM.

  9. Mukul Goel

    I am getting the same problem. Switched to a VM box.

    But the documentation must be updated to say that the issues are not only with an OS X machine plus should also say that the create-disk-image command is only available on OS X.

  10. Christoph Donges

    I am on leave until 9 Feb 2015. If your email is urgent please contact glenn@gen3media.com.

  11. Adam Nofsinger reporter

    Erik - does it work on older FAT32 partitions? For anyone that stumbles on this, I think right now the simplest solution is still just find a Linux machine or VM - you can temporarily create one yourself using free VirtualBox and Ubuntu Live CD or similar solutions if you need.

  12. Erik Mattsson

    Don't have a FAT32 partition to try on, so I'm not 100% but I don't think FAT32 are case-sensitive.

    Yeah we will do the merge on a linux machine instead but the migration guide really needs to be updated with this information.

  13. Chad Kennedy

    @pepoirot @ssaasen @hgiddens This has been an issue for a year and a half. The fix can be as simple as at least changing the migration guide to make it clear that this process is only supported on Linux. Many others and I have wasted significant time on what could be addressed in 15 minutes of editing the migration guide.

    Overall, I have to say I am fairly disappointed in Atlassian's stewardship of this project. I would think Atlassian would have a vested interest in making the process of migrating from Subversion to Bitbucket as easy as possible. Yet the last commit here was February 2014. There are multiple pull requests without response. Most issues haven't even been triaged.

    In the end, I had to do a lot of research and create my own migration strategy. I imagine many others have a similar story. We're all big boys here, and if that's what we need to do then fine. But I think it's pretty misleading to have the official migration guide point to a project that seems to a) have some pretty big known issues and b) be abandoned.

  14. Daniel Baharestani Account Deactivated

    It's 2016 and the issue is still there. The document is not updated either. If the document simply said that guide was not for Windows I wouldn't waste so much time reading it and googling a work arround.

  15. Riley Huddleston

    Not really expecting this to be answered.

    But if the SVN repository was solely created and used/modified on a Windows box, aren't the names within the repository entirely guaranteed to not have conflicts? (Foo/Bar.txt and foo/bar.txt).

    It would seem if you can guarantee that everything has always been in Windows then there can't possibly be a problem.

    If this is completely wrong for something I have missed please respond.

    Thanks,

  16. Drey Solano

    @pepoirot @ssaasen @hgiddens Seriously guys...WTF?! It should take 2 minutes to update the documentation as noted time and time again in this thread. Jibbers Crabst!!

    Do you even give a flying spaghetti monster that this has been an unresolved issue for over 2 svn-loving years? Please show us that you do, in fact, care just a little bit and update the documentation so no one else wastes time on this.

    Do it. Now. (Pretty please?)

  17. nkatsar

    @pepoirot @ssaasen I agree with the previous comments, please just update the tutorial mentioning there is no workaround for Windows. It has been 2.5 years already.

  18. Raghuram Pulijala

    Common guys, please update your documentation. The migration doesnt work in Windows, should have told just to go for Linux of use a VM in Windows.

  19. RL

    Doesn't seem like anything is going to happen in regard to this issue.

    @riley_huddleston this is what I'm expecting as well.

  20. Tony McNeil Account Deactivated

    What a joke that we all ended up googling an issue that could have easily been avoided by 1 line in the official documentation.

    Correct documentation and robust software is the reason most of us want to try migrating away from SVN to BitBucket.

    Hard to believe there has been so much pleading for corrections + negative experiences described in this thread and Atlassian have done nothing!

  21. Martin Kalra

    6.5 years or more and still an issue on Windows. Kindly facilitate a solution to this as the option to create a case-insensitive drive is not available as part of the script on Windows

  22. Log in to comment