Jakub is a Java EE developer since 2005 and occasionally a project manager, working currently with Iterate AS. He's highly interested in developer productivity (and tools like Maven and AOP/AspectJ), web frameworks, Java portals, testing and performance and works a lot with IBM technologies. A native to Czech Republic, he lives now in Oslo, Norway. Jakub is a DZone MVB and is not an employee of DZone and has posted 155 posts at DZone. You can read more from them at their website. View Full User Profile

SVN Fun: <path> has no Ancestry Information

11.23.2010
| 14555 views |
  • submit to reddit

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.

 

From http://theholyjava.wordpress.com/2010/11/23/svn-fun-path-has-no-ancestry-information/

Published at DZone with permission of Jakub Holý, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)