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"?
It is possible that the sub-directory is an
externi.e. comes from a different repository from the rest of your code - so if the majority of your code is in repositoryAand some of the stuff, e.g. things like common library interface files, are from repositoryBthen a commit from the top level of your code is toAand is not allowed to change repositoryBbut if some subdirectory is marked as (possibly part of) repositoryBthen a check from that sub-directory there is allowed to changeB.