diff -ru subversion-0.30.0/subversion/mod_dav_svn/mod_dav_svn.c subversion-0.30.0-gforge/subversion/mod_dav_svn/mod_dav_svn.c
--- subversion-0.30.0/subversion/mod_dav_svn/mod_dav_svn.c	Wed Sep 24 08:25:54 2003
+++ subversion-0.30.0-gforge/subversion/mod_dav_svn/mod_dav_svn.c	Mon Dec  1 16:01:11 2003
@@ -214,6 +214,15 @@
     return conf->fs_path;
 }
 
+/** To set fs_from guess **/ 
+void dav_svn_set_fs_path(request_rec *r, const char *fs_path)
+{
+    dav_svn_dir_conf *conf;
+
+    conf = ap_get_module_config(r->per_dir_config, &dav_svn_module);
+    conf->fs_path = fs_path;
+}
+
 const char *dav_svn_get_fs_parent_path(request_rec *r)
 {
     dav_svn_dir_conf *conf;
diff -ru subversion-0.30.0/subversion/mod_dav_svn/repos.c subversion-0.30.0-gforge/subversion/mod_dav_svn/repos.c
--- subversion-0.30.0/subversion/mod_dav_svn/repos.c	Wed Sep 24 08:25:57 2003
+++ subversion-0.30.0-gforge/subversion/mod_dav_svn/repos.c	Mon Dec  1 16:08:54 2003
@@ -806,6 +806,32 @@
 }
 
 
+
+/*
+ * Find out the Svn path, if SVNPath and SVNParentPath are not given.
+ * It uses r->canonical_filename and root_path
+ *
+ * FIXME: How can I get the Root Htdocs perserver? Then is is just RootHtdocs+root_path.
+ * This is a kind of hack rules:
+ *  1. If root_path == '/' use only path part of r->canonical_filename;
+ *  2. If root_path != '/' (like '/aa'), Scn repos is r->canonical_filename;
+ */
+static const char* dav_guess_fs_path(request_rec *r, const char* root_path) {
+    char *fs_path;
+
+    /* Applied rule 1 */
+    if (strcmp(root_path, "/")==0) 
+      {
+	fs_path = ap_make_dirstr_parent(r->pool, r->canonical_filename);
+      }
+    
+    /* Applied rule 2 */
+    fs_path = apr_pstrdup(r->pool, r->canonical_filename);
+    
+    return svn_path_canonicalize(fs_path, r->pool);
+}
+
+
 AP_MODULE_DECLARE(dav_error *)
 dav_svn_split_uri (request_rec *r,
                    const char *uri_to_split,
@@ -829,13 +855,18 @@
 
   if ((fs_path == NULL) && (fs_parent_path == NULL))
     {
-      /* ### are SVN_ERR_APMOD codes within the right numeric space? */
-      return dav_new_error(r->pool, HTTP_INTERNAL_SERVER_ERROR,
-                           SVN_ERR_APMOD_MISSING_PATH_TO_FS,
-                           "The server is misconfigured: "
-                           "either an SVNPath or SVNParentPath "
-                           "directive is required to specify the location "
-                           "of this resource's repository.");
+      /* Why we bother?
+       * Just assume the SVN repository is HtdocsRoot + xx directory in <Drectory xx>
+       * r->filename and root_path is used.
+       * ## FIXME : Can we figure out the HtdocsRoot per server?
+       */
+      fs_path = dav_guess_fs_path(r, root_path);
+
+      DBG3("SVNPath is guessed: [%s] from filename [%s] and root_path [%s]",
+	   fs_path, r->canonical_filename, root_path);
+      
+      /* Need to set_fs_path for future use */
+      dav_svn_set_fs_path(r, fs_path);
     }
 
   /* make a copy so that we can do some work on it */


