I've attached the 1.6.12 patch and the 1.7.xx-svn patches. > -scottmc > > Scott McCreary > HaikuPorts >
This time as in-line text: -----------------------1.6.12.patch 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_COMMON_SETTINGS_DIRECTORY, -1, false, + folder, sizeof(folder)); + if (error) + return SVN_NO_ERROR; + + *path_p = svn_path_join_many(pool, folder, + SVN_CONFIG__SYS_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 "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 */ ------------------------ -------------------------1.7.xx-svn.patch Index: libsvn_subr/config_file.c =================================================================== --- subversion-1.7.xx-svn/subversion/libsvn_subr/config_file.c (revision 1002735) +++ subversion-1.7.xx-svn/subversion/libsvn_subr/config_file.c (working copy) @@ -38,6 +38,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 @@ -331,8 +336,20 @@ SVN_CONFIG__SUBDIRECTORY, fname, NULL); } -#else /* ! WIN32 */ +#elif defined(__HAIKU__) + { + char folder[B_PATH_NAME_LENGTH]; + status_t error = find_directory(B_COMMON_SETTINGS_DIRECTORY, -1, false, + folder, sizeof(folder)); + if (error) + return SVN_NO_ERROR; + + *path_p = svn_dirent_join_many(pool, folder, + SVN_CONFIG__SYS_DIRECTORY, fname, NULL); + } +#else /* ! WIN32 && !__HAIKU__ */ + *path_p = svn_dirent_join_many(pool, SVN_CONFIG__SYS_DIRECTORY, fname, NULL); #endif /* WIN32 */ @@ -1117,8 +1134,21 @@ 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 = svn_dirent_join_many(pool, folder, + SVN_CONFIG__USR_DIRECTORY, fname, NULL); + } +#else /* ! WIN32 && !__HAIKU__ */ + + { const char *homedir = svn_user_get_homedir(pool); if (! homedir) return SVN_NO_ERROR; Index: libsvn_subr/config_impl.h =================================================================== --- subversion-1.7.xx-svn/subversion/libsvn_subr/config_impl.h (revision 1002735) +++ subversion-1.7.xx-svn/subversion/libsvn_subr/config_impl.h (working copy) @@ -114,8 +114,11 @@ 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 "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 */ -------------------------------------