]> sipb.mit.edu Git - ikiwiki.git/commit
svn: Support subversion 1.7, which does not have .svn in each subdirectory.
authorJoey Hess <joey@kitenet.net>
Wed, 12 Oct 2011 23:05:17 +0000 (19:05 -0400)
committerJoey Hess <joey@kitenet.net>
Wed, 12 Oct 2011 23:07:38 +0000 (19:07 -0400)
commit496874ab270390c8105911994f874e39abf560a8
tree5ea34f6b6f9b74a1d4df0fdbed182703e5485d31
parentd94419e42c1fe589bb95403f62fa7a77019bf273
svn: Support subversion 1.7, which does not have .svn in each subdirectory.

Involved dropping some checks for .svn which didn't add anything, since if
svn is enabled and you point it at a non-svn checkout, you get both pieces.

The tricky part is add and rename, in both cases the new file can be in
some subdirectory that is not added to svn.

For add, turns out svn has a --parents that will deal with this by adding
the intermediate directories to svn as well.

For rename though, --parents fails if the directories exist but are not
yet in svn -- which is exactly the case, since ikiwiki makes them
by calling prep_writefile. So instead, svn add the parent directory,
recursively.

tldr; svn made a reasonable change in dropping the .svn directories from
everywhere, but the semantics of other svn commands, particularly their
pickiness about whether parent directories are in svn or not, means
that without the easy crutch of checking for those .svn directories,
code has to tiptoe around svn to avoid pissing it off.
IkiWiki/Plugin/svn.pm
debian/changelog