tfsteam-explorer-everywhere

TFS, Linux, 1 directory made 2 because of mixed case


The problem I have is this. Apparently, at some time in the past, there was a directory in our code base named DIRECTORY which did have source code. Because of changes we've made in our naming conventions, this directory is now named, directory. When code is checked out and built on Windows, everything is fine (of course), but in Linux it is a different story.

As implied above, we've changed to the lower case version of this directory (and others like it within the code hierarchy). The one of lower case contains the vast majority of our source code (that resided in this directory anyway). Yet, there's 2 files, a *.cpp and *.h file in the upper case version of the directory. While on my quest to migrate our home-baked make setup to using the auto-tools suite, I discovered that when using the Team Explorer Everywhere client for TFS, I get the two versions of this directory. This causes problems in the build system because these two files aren't where they should be.

After trying tf move <ItemSpec> to move from the "incorrect" to "correct" version of this directory, I have really made things bad. I'm glad I'm working on a branch because now when I do tf status I get nothing but An error occurred: java.io.FileNotFoundException. How can I resolve these things into a single directory?


Solution

  • There is a missmatch in the casing. The only way I know of to fix this is to do a "rename" of the folder to "[oldFilderName]-moo" and then rename it back to "[oldFilderName]" taking care to use the case that you want.

    The down side is that under the covers I does a branch/delete under the covers and I am not sure of the repercussions on the history...