From d60729fdcdf0cc23710f472ebd7af9dbadb674a6 Mon Sep 17 00:00:00 2001 From: Scott McCreary Date: Tue, 16 Mar 2010 07:34:51 +0000 Subject: [PATCH] Fixed subversion's use of find_directory to put the subversion settings file into B_USER_SETTINGS_DIRECTORY/subversion instead of $HOME/subversion or $HOME/.subversion --- .../subversion/patches/subversion-1.6.9.patch | 33 ++++++++++++++++--- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/dev-util/subversion/patches/subversion-1.6.9.patch b/dev-util/subversion/patches/subversion-1.6.9.patch index 58083db28..dee400526 100644 --- a/dev-util/subversion/patches/subversion-1.6.9.patch +++ b/dev-util/subversion/patches/subversion-1.6.9.patch @@ -1,6 +1,6 @@ diff -urN subversion-1.6.9/subversion/libsvn_subr/config_file.c subversion-1.6.9-haiku/subversion/libsvn_subr/config_file.c ---- subversion-1.6.9/subversion/libsvn_subr/config_file.c 2009-08-17 18:33:43.000000000 +0000 -+++ subversion-1.6.9-haiku/subversion/libsvn_subr/config_file.c 2009-11-23 08:28:19.000000000 +0000 +--- subversion-1.6.9/subversion/libsvn_subr/config_file.c 2009-11-25 09:27:35.047972352 -0800 ++++ subversion-1.6.9-haiku/subversion/libsvn_subr/config_file.c 2010-03-15 22:59:57.000000000 -0700 @@ -32,6 +32,11 @@ #include "svn_private_config.h" @@ -22,7 +22,7 @@ diff -urN subversion-1.6.9/subversion/libsvn_subr/config_file.c subversion-1.6.9 +{ + char folder[B_PATH_NAME_LENGTH]; + -+ status_t error = find_directory (B_USER_SETTINGS_DIRECTORY, -1, true, ++ status_t error = find_directory (B_USER_SETTINGS_DIRECTORY, -1, false, + folder, sizeof(folder)); + if (error) + return SVN_NO_ERROR; @@ -34,9 +34,32 @@ diff -urN subversion-1.6.9/subversion/libsvn_subr/config_file.c subversion-1.6.9 *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.9/subversion/libsvn_subr/config_impl.h subversion-1.6.9-haiku/subversion/libsvn_subr/config_impl.h ---- subversion-1.6.9/subversion/libsvn_subr/config_impl.h 2009-01-27 13:23:50.000000000 +0000 -+++ subversion-1.6.9-haiku/subversion/libsvn_subr/config_impl.h 2009-11-23 08:28:19.000000000 +0000 +--- subversion-1.6.9/subversion/libsvn_subr/config_impl.h 2009-01-27 05:23:50.045350912 -0800 ++++ subversion-1.6.9-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