Junio C Hamano wrote:
Jonathan Nieder [off-list ref] writes:
quoted
quoted
Also isn't the breakage not just this test, but also in all the tests that
try to run "svnadmin load"? Shouldn't we somehow hoist this logic out of
t9010 and put it in t/lib-vcs-svn.sh or somewhere?
Am I mistaken and t9010 is the only one that needs the fix in your patch?
Everything except t9010 is testing git-svn. My argument before was
that this libsvn_subr breakage is going to leave git-svn broken
anyway, so why bother guarding against it in tests?
That precise argument is broken in at least three ways:
- the libsvn_subr breakage would only breaks "git svn dcommit" (and
"git svn set-tree") and only when the remote svn repo is actually a
local svn repo using the FSFS backend.
- maybe the next time "svnadmin load" breaks it will not break
git svn
- this particular breakage seems especially unworthy of workarounds
because it is so easy to fix on the svn side.
So why do I like the patch to t9010? Two reasons: first, it means
t9010 could run on systems without svn installed at all, and second,
it means that there is one less test to worry about if svn fails in
some other way in the future.
To do the same for t91* would be impossible. If svn is broken or not
installed, svn-fe will run fine, but "git svn" will not. On the other
hand, if svnadmin were broken but svn still worked, "git svn" would be
fine but that would be quite strange and I do not think it is worth
spending time to prepare for.
Hi,
Jonathan Nieder writes:
To do the same for t91* would be impossible. If svn is broken or not
installed, svn-fe will run fine, but "git svn" will not. On the other
hand, if svnadmin were broken but svn still worked, "git svn" would be
fine but that would be quite strange and I do not think it is worth
spending time to prepare for.
I don't think it's worth spending time preparing for every concievable
breakage. The patch A few more examples of possible breakages I've
encountered:
- APR compiled without threading support, SVN compiled with it, or
viceversa.
- SVN is compiled against GNU iconv, but apr-iconv installed, or
viceversa.
- Two different versions of a dependent library are installed, and SVN
links to a different version in a different location.
One or many components of SVN may fail. So, I'm in favor of the
current approach: if SVN is installed, attempt to run all the t91*
tests. Any failure can either be interpreted as a real test failure or
malformed SVN installation.
-- Ram