views:

191

answers:

1

I have a main line of development and a branch. On the main line, a new directory has been added to SVN, with some files in it. It also contains directories called bin and obj, which are in my global ignore pattern in TortoiseSVN. Whenever I try to do a Switch on my working copy from the trunk to the branch, I get the error "Left locally modified or unversioned files". I have tried doing a diff before the switch, and nothing shows up as modified. After the error message, I can manually delete the directory, do a cleanup, and then try the switch again and it completes successfully. Switching in the other direction doesn't cause any problems. What's going on here?

+1  A: 

Ignore patterns are only evaluated for new files. So if some file are already under version control (like your bin/ and obj/ directories) your ignore patterns are meaningless. You have them locally and they exist in repository, too. And svn can't decide which are the 'correct' ones.

Solution: Either remove bin/ and obj/ from version control or ignore the contents of the two directories. The latter is the way I prefer.

sebasgo
The bin and obj directories are not in the repository.
TimK
As I understand you they exist in repository in trunk/ but not the branch (...It also contains directories called bin and obj...) . This is the only way I currently can think of how I could explain your problem.
sebasgo
No, there's a directory for the project that was added. Call it subproj, inside my main project. It only exists on the trunk. So /trunk/mainproj/subproj exists in SVN, and contains some files and directories. obj and bin aren't in the repository. /branch/mybranch/mainproj exists, but doesn't contain subproj.
TimK
Well, the new directory can't be the source of your problem, nor I have an idea what else it could be. Sorry :(
sebasgo