When I try to merge code from trunk to a branch, it will not pick up all of my files. The files will show "skipped" in the merge log.
Of course I searched for the issue first and found the common problem of merging but not committing, then reverting, then merging. Some order of those functions seems to cause a problem. Something with the file still being on my hard drive but not in SVN so it is skipped. I don't think that is what's going on here.
First thing I did was I deleted my branch locally (I don't have any changes to commit). I pulled a fresh copy from the repo and tried the merge again. I got the same error. I was hoping it would be solved b/c from what I found already I think that should have done it.
Then things got strange. When I was doing a merge on my top level directory (fully recursive), the file I wanted to add was "skipped". But when I merged only the subfolder (i.e. from /trunk/src/main/.../subfolder to /branch/src/main/.../subfolder) then the file was "added".
So my question is why would the granularity matter? Why at a top level are files skipped, but if I drill down to the level of the file it is then able to be "added"?
The “Skipped” message means that the merge operations wants to create or modify a file but that file already exists in your working copy and is not under version control.
I had the same issue when I tried to revert a change where I added files and for some reason the file has not been deleted from the working copy folder, but removed from repository. Then I did the change again but when tried to merge it it skipped half of the files.
In this case the solution is to run a clean-up on the destination folder and click "Delete unversioned files and folders". This removes the files that should not be there and the merge should go through next time.
Or, if you have only a few skipped files then just delete those files manually.