[I ran across this whilst looking at issue 1061]
Transcript:
rpluim: ~/wc-test/local-wc1/foo
$ svn diff file:///home/rpluim/testrepo/trunk/foo/7000 file:///home/rpluim/testrepo/trunk/foo/1097
rpluim: ~/wc-test/local-wc1/foo
$
foo/7000 has never existed in this repository at any time. However:
rpluim: ~/wc-test/local-wc1/foo
$ svn diff file:///home/rpluim/testrepo/trunk/foo/1097 file:///home/rpluim/testrepo/trunk/foo/7000
subversion/libsvn_client/diff.c:1361: (apr_err=160013)
svn: Filesystem has no item
svn: 'file:///home/rpluim/testrepo/trunk/foo/7000' at rev 28 wasn't found in repository.
I'm attaching a patch, but I don't know the code well enough to see if
there are cases where you _don't_ want to check for the existence of
the first URL.
Log:
* svn/subversion/libsvn_client/diff.c (do_diff): Check that the
filesystem actually has the item specified as URL1@N
Patch:
Index: subversion/libsvn_client/diff.c
===================================================================
--- subversion/libsvn_client/diff.c (revision 5507)
+++ subversion/libsvn_client/diff.c (working copy)
@@ -1293,6 +1293,7 @@
const char *URL1, *URL2;
const char *anchor1, *target1, *anchor2, *target2;
svn_boolean_t path1_is_url, path2_is_url;
+ svn_node_kind_t path1_kind;
svn_node_kind_t path2_kind;
void *session2;
@@ -1328,6 +1329,25 @@
pool));
callback_baton->revnum2 = end_revnum;
+ if (path1_is_url)
+ {
+ SVN_ERR (ra_lib->check_path (&path1_kind, session, "", start_revnum,
+ pool));
+
+ switch (path1_kind)
+ {
+ case svn_node_file:
+ case svn_node_dir:
+ break;
+
+ default:
+ return svn_error_createf (SVN_ERR_FS_NOT_FOUND, NULL,
+ "'%s' at rev %" SVN_REVNUM_T_FMT
+ " wasn't found in repository.",
+ path1, start_revnum);
+ }
+ }
+
/* Now down to the -real- business. We gotta figure out anchors
and targets, whether things are urls or wcpaths.
--
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Apr 1 16:41:14 2003