Resolving subversion error E145001: Node has unexpectedly changed kind
While doing a bit of housecleaning on a system, I hit a subversion error I've never seen before:
[user@host]$ svn ci -m "Replace symlink with hard copy of file" svn: E145001: Commit failed (details follow): svn: E145001: Node '/path/to/my/myfile' has unexpectedly changed kind
I'd replaced a symlink, which was already versioned, with a copy of the target file itself. I'm usually pretty good at convincing subversion to accept whatever arcane mangling I've done, but it just wouldn't take this one, and Google was no help. I was able to get things right again with the nuclear option, removing the offending object from version control and then adding it back. Specifying
--keep-local removes the file from the subversion repo but leaves it in place on disk.
[user@host]$ svn status ~ myfile [user@host]$ svn rm --keep-local myfile D myfile [user@host]$ svn ci -m "Remove symlink, will add back as a file" Deleting myfile Committed revision 1602. [user@host]$ svn add myfile A myfile [user@host]$ svn ci -m "Adding hard copy of what used to be a symlink" Adding myfile Transmitting file data . Committed revision 1603.
Card image from the Apache Subversion project