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:


.../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
Verification: You can verify that by moving the folder that you are trying to commit to some other location (e.g. /tmp or even /) and retrying to commit it from there. If it succeeds then you've encountered this problem. If not then you have likely some other issue.

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.


Copyright © 2024 Jakub Holý
Powered by Cryogen
Theme by KingMob