views:

66

answers:

2

So lots of pedantic opinions rather than answers to this question.

We had a couple java packages accidentally checked in with initial capitalization. (com.foo.PackageName) and then renamed them correctly (com.foo.packagename). Allow me to reiterate based on reading some of the responses. We have an existing "com.foo.packagename" that needs to stick around. We used to have a "com.foo.PackageName" that we renamed to "com.foo.packagename".

Our svn server lives on a linux box with a case-sensitive file system. We develop on mac's with "case-preserving" file systems. My command-line svn client seems to have handled the issue fine, and doesn't mention anything about files in com.foo.PackageName. The svn client built into netbeans seems to think there are ghost files of "unknown" status in the two directories that used to be capitalized.

I'm guessing the solution is to make the svn server think those directories never existed.... or perhaps some other solution? They were so short-lived under the wrong names that losing history on their contents when wrongly named wouldn't be a problem. Copying off the files, deleting the directories from svn, and then re-adding them didn't do anything for us. Also, rm -Rf on my local copy and then doing a fresh svn co still shows the ghost directories.

The main pain point for this is that I can't do a commit at project level, or it tries to commit ghost files and freaks out, so I have to give it a specific set of files to commit, or jump to the command line.

A: 

Try using svn delete --force on the "Packagename" directory from a case-sensitive o.s. and then commit this change.

Fernando
+1  A: 

First take a look at what's currently in your repository:

svn ls http://server/svn...

if com.foo.PackageName is still in there remove it with

svn rm http://server/svn.../com.foo.PackageName

After you have your repository in order I would suggest you do a fresh checkout of your working copy.

chris
com/foo/PackageName is gone. com/foo/packagename is there. This is what we want. But the history is aware that there used to be a com/foo/PackageName. Which on a case-sensitive file system would not be an issue.
Brian Deacon
Unless you check out a revision where "PackageName" still exists this will not cause any issues. If you have tags/branches that contain "PackageName" you should fix them as well.
chris