svn fun: <path> has no ancestry information
Subversion is at times really annoying and difficult to use due to its cryptic and confusing error messages and unnecessary failures. An example is when you have an svn-managed folder ('svnProject') where svn -u status and svn info and even commiting individual files work correctly but commit of the complete folder (which is necessary e.g. if you've changes some SVN proprties such as svn:ignore) fails:
There is an easy fix. Notice that the error is reported for the parent folder of the svn-managed one (from) which we've tried to commit. It actually seems that SVN checks the folder structure and fails if some parts of the folder tree above the folder being commited have svn metadata and some do not (another example):
Solution: Check the ancestor folders (especially above the one reported in the commit failure message) and if you find an .svn/ folder in any of them, as I suppose, remove it. Alternatively, move the folder of interest into another location where it has no ancestor folder with .svn/ within it.
Environment: SVN 1.4.6, on Ubuntu 10.04.
.../rootFolder/svnProject$ svn commit .
svn: '/path/to/my/rootFolder' has no ancestry information
There is an easy fix. Notice that the error is reported for the parent folder of the svn-managed one (from) which we've tried to commit. It actually seems that SVN checks the folder structure and fails if some parts of the folder tree above the folder being commited have svn metadata and some do not (another example):
- /path/to/my - has .svn/ folder (a totaly unrelated one, a left-over from the old times)
- rootFolder - no .svn here
- svnProject - has a valid .svn/ metadata folder, this is the project/folder we're trying to commit
- rootFolder - no .svn here
Solution: Check the ancestor folders (especially above the one reported in the commit failure message) and if you find an .svn/ folder in any of them, as I suppose, remove it. Alternatively, move the folder of interest into another location where it has no ancestor folder with .svn/ within it.
Environment: SVN 1.4.6, on Ubuntu 10.04.