diff -urN subversion-1.6.12/subversion/libsvn_subr/config_file.c subversion-1.6.12-haiku/subversion/libsvn_subr/config_file.c
--- subversion-1.6.12/subversion/libsvn_subr/config_file.c	2009-11-25 09:27:35.047972352 -0800
+++ subversion-1.6.12-haiku/subversion/libsvn_subr/config_file.c	2010-03-15 22:59:57.000000000 -0700
@@ -32,6 +32,11 @@
 
 #include "svn_private_config.h"
 
+#ifdef __HAIKU__
+#	include <FindDirectory.h>
+#	include <StorageDefs.h>
+#endif
+
 /* Used to terminate lines in large multi-line string literals. */
 #define NL APR_EOL_STR
 
@@ -326,7 +331,19 @@
                                  SVN_CONFIG__SUBDIRECTORY, fname, NULL);
   }
 
-#else  /* ! WIN32 */
+#elif defined(__HAIKU__)
+{
+  char folder[B_PATH_NAME_LENGTH];
+  
+  status_t error = find_directory (B_USER_SETTINGS_DIRECTORY, -1, false,
+  							folder, sizeof(folder));
+  if (error)
+  	return SVN_NO_ERROR;
+  
+  *path_p = svn_path_join_many (pool, folder,
+  							SVN_CONFIG__USR_DIRECTORY, fname, NULL);
+}
+#else  /* ! WIN32 && !__HAIKU__ */
 
   *path_p = svn_path_join_many(pool, SVN_CONFIG__SYS_DIRECTORY, fname, NULL);
 
@@ -1115,8 +1132,21 @@
     *path = svn_path_join_many(pool, folder,
                                SVN_CONFIG__SUBDIRECTORY, fname, NULL);
   }
+  
+#elif defined(__HAIKU__)
+{
+  char folder[B_PATH_NAME_LENGTH];
+  
+  status_t error = find_directory (B_USER_SETTINGS_DIRECTORY, -1, false,
+  							folder, sizeof(folder));
+  if (error)
+  	return SVN_NO_ERROR;
+  
+  *path = svn_path_join_many (pool, folder,
+  							SVN_CONFIG__USR_DIRECTORY, fname, NULL);
+}
+#else  /* ! WIN32 && !__HAIKU__ */
 
-#else  /* ! WIN32 */
   {
     const char *homedir = svn_user_get_homedir(pool);
     if (! homedir)
diff -urN subversion-1.6.12/subversion/libsvn_subr/config_impl.h subversion-1.6.12-haiku/subversion/libsvn_subr/config_impl.h
--- subversion-1.6.12/subversion/libsvn_subr/config_impl.h	2009-01-27 05:23:50.045350912 -0800
+++ subversion-1.6.12-haiku/subversion/libsvn_subr/config_impl.h	2010-03-15 22:39:34.000000000 -0700
@@ -109,7 +109,10 @@
    or svn_config_get_user_config_path() instead. */
 #ifdef WIN32
 #  define SVN_CONFIG__SUBDIRECTORY    "Subversion"
-#else  /* ! WIN32 */
+#elif defined __HAIKU__ /* HAIKU */
+#  define SVN_CONFIG__SYS_DIRECTORY   "/etc/subversion"
+#  define SVN_CONFIG__USR_DIRECTORY   "subversion"
+#else  /* ! WIN32 && ! __HAIKU__ */
 #  define SVN_CONFIG__SYS_DIRECTORY   "/etc/subversion"
 #  define SVN_CONFIG__USR_DIRECTORY   ".subversion"
 #endif /* WIN32 */
