Bug 12767 - ? on Android resources after fresh checkout from SVN
Summary: ? on Android resources after fresh checkout from SVN
Status: RESOLVED NOT_ON_ROADMAP
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: Version Control ()
Version: 4.0.8
Hardware: Macintosh Mac OS
: Normal normal
Target Milestone: master
Assignee: Marius Ungureanu
URL:
Depends on:
Blocks:
 
Reported: 2013-06-19 12:41 UTC by Neal
Modified: 2013-08-27 13:25 UTC (History)
3 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:


Attachments
example of ? items (46.08 KB, image/png)
2013-06-19 12:43 UTC, Neal
Details
case sensitivity issue (164.40 KB, image/png)
2013-06-20 11:44 UTC, Neal
Details


Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED NOT_ON_ROADMAP

Description Neal 2013-06-19 12:41:29 UTC
Hello,

I've tried this both in stable (4.0.8 build 2) and beta (4.0.9 build 9) with the same result.  I deleted the folder on my disk then went to version control / checkout / my svn registered repository and checked out my android project.  I go to the folder such as resources in the attached image and I have multiple items with ? icons.  These files are in SVN and obviously downloading them, how do I get them to register with SVN so I don't have to re-add everything?  I continue to have SVN issues such as reported in my prior bug report having to explicitly add new files to SVN.

Thank you.
Comment 1 Neal 2013-06-19 12:43:19 UTC
Created attachment 4157 [details]
example of ? items
Comment 2 Neal 2013-06-20 11:44:00 UTC
I believe I have found the cause of this issue.  I tried right-clicking and adding on the Version Control menu and they do NOT add.  I then for some reason got the idea to open the source folder and I see that these files with the issue have case sensitivity conflicts.  In the project they are forced to lower case but on disk they are prefixed with upper case.  See the attached screenshot.
Comment 3 Neal 2013-06-20 11:44:29 UTC
Created attachment 4168 [details]
case sensitivity issue
Comment 4 Marius Ungureanu 2013-06-27 05:44:08 UTC
Neal, can you tell me if the files are symbolic links or actual files?

I'm trying to find out what's going on here.

Also, can you supply a test project with these symptoms?
Comment 5 Neal 2013-06-27 09:43:46 UTC
They are actual files.  You can reproduce the issue by changing the file names to an upper case first letter in the resources and/or layouts (.axml) and it should show you the issue.  My files were not all lower case which seems to be what the solution in Mac is loading, non issue in VS on Windows.
Comment 6 Marius Ungureanu 2013-06-27 10:10:40 UTC
I see, I'll try this on my local. Will see if I can reproduce this on Windows/Linux, otherwise I'll forward it to someone who can develop on a Mac.
Comment 7 Marius Ungureanu 2013-06-27 13:28:45 UTC
I have checked it out on Windows (case insensitive OS). The file is no longer under version control. Therefore, the only solution I would find for this is renaming the files in the folder.

Will search deeper to see if XS saves the file with the wrong case at creation.
Comment 8 Marius Ungureanu 2013-06-27 13:28:45 UTC
I have checked it out on Windows (case insensitive OS). The file is no longer under version control. Therefore, the only solution I would find for this is renaming the files in the folder.

Will search deeper to see if XS saves the file with the wrong case at creation.
Comment 9 Neal 2013-06-27 13:32:45 UTC
In Finder rename some files with a leading upper case then tell me if in XS is it shown in the same case or lower case?  My hunch is XS is forcing all files in certain folders to lower case.
Comment 10 Marius Ungureanu 2013-06-28 03:43:39 UTC
Whenever I try to rename a file by changing a lower case to upper case, I get a "destination file already exists". XS doesn't force case, from what I've been told.
Comment 11 Neal 2013-06-28 09:30:08 UTC
Rename the file outside of XS, i.e. in Finder.  You may have to rename it such as:

original:  foo.cs
New:  Foo2.cs
Final:  Foo.cs
Comment 12 Marius Ungureanu 2013-06-30 11:21:50 UTC
If you have a native Subversion version control tool (i.e. TortoiseSVN), renaming a file normally will cause it to not be under version control anymore. Using SVN's Rename function will get rid of this issue.

Therefore, whatever happened here is something that SVN also does. Subversion is case-sensitive regarding file names, even on Windows, a purely case-insensitive OS.

This should be fixed manually from what I see.
Comment 13 Marius Ungureanu 2013-06-30 11:25:01 UTC
I noticed something. Whenever you issue a command which requires Subversion status (i.e. Commit) the file is automatically renamed to match the one that's under version control.

I'll speak to lluis regarding this.
Comment 14 Neal 2013-06-30 11:30:58 UTC
The problem occurred because I used Visual Studio for all of my android development.  I recently copied the files over to the Mac so that's how the problem initiated.  So now XS is trying to read the VS files and as XS seems to be forcing case in the solution explorer the problem occurred is my guess.  I don't know, but maybe try that approach.  Create a solution that is NOT in SVN with upper case prefix for names, then try loading that solution into SVN and XS and see what happens.