You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by scott mc <sc...@gmail.com> on 2010/10/04 18:19:20 UTC

Re: [PATCH] for building subversion 1.6.12 for haiku

Philip,

On Thu, Sep 30, 2010 at 9:53 AM, Philip Martin
<ph...@wandisco.com> wrote:
> scott mc <sc...@gmail.com> writes:
>
>> On Wed, Sep 29, 2010 at 5:45 PM, Philip Martin
>> <ph...@wandisco.com> wrote:
>>
>>> Please write a log message:
>> ---------
>>

------------------------------------------------------------------------------------------------------
This patch makes use of find_directory() on Haiku to locate the proper
directories to use.  Currently B_USER_SETTINGS_DIRECTORY points to
 /boot/home/config/settings, so this puts the .subversion directory in
 /boot/home/config/settings/subversion instead of $HOME/subversion or
$HOME/.subversion.

* subversion/libsvn_subr/config_file.c
  (svn_config__sys_config_path): Set the path on Haiku to point to
"B_COMMON_SETTINGS_DIRECTORY"
                                                + SVN_CONFIG__SYS_DIRECTORY
  (svn_config__usr_config_path): Set the path on Haiku to point to
"B_USER_SETTINGS_DIRECTORY"
                                               + SVN_CONFIG__USR_SUBDIRECTORY

 * subversion/libsvn_subr/config_impl.h:
    Set SVN_CONFIG__SYS_DIRECTORY and SVN_CONFIG__USR_DIRECTORY for Haiku


-------------------------------------------------------------------------------------------------

> We like the filename and functions to be explicitly specified:
>
> * subversion/libsvn_subr/config_file.c
>  (svn_config__sys_config_path): What changed.
>
>>>> +++ 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   "/etc/subversion"
>>>
>>> Should this be used in svn_config__sys_config_path?
>>>
>>
>> I'm unclear on what SVN_CONFIG__SYS_DIRECTORY is used for.  Through
>> several attempts I was able to move the $HOME/.subversion directory to
>> /boot/home/config/settings/subversion which fits in better with how
>> Haiku stores users' settings.  So I left SVN_CONFIG__SYS_DIRECTORY the
>> same as other OSes for now.
>
> Is Haiku multi-user? Does /boot/home/config/settings apply to one user
> or all users?
>

Haiku is single user, but plans to move to multi-user in the future.


> On Linux we have /etc/subversion for per-system settings that apply to
> all users, and $HOME/.subversion for per-user settings specific to
> each user.
>
> On Windows there are per-system and per-user registry settings as well
> as per-system and per-user directories.
>
>> -#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_dirent_join_many(pool, folder,
>> +                                   SVN_CONFIG__USR_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__ */
>> +
>> +  {
>
> These two functions are returning the same path.  Is that what is intended?
>
> --
> Philip
>

Good point.  I have updated the patch to put the USR files and SYS
files in their proper directories.
I was unsure about your coding style, as to where to break long lines,
so feel free to adjust any coding style violations I might have made.
I see that the function name is different between 1.6.12 and the
current svn, is that corrent?  If this latest version looks ok, I'm
going to put together a 1.6.12 and add it into Haiku sometime this
week.  I've attached the 1.6.12 patch and the 1.7.xx-svn patches.
-scottmc

Scott McCreary
HaikuPorts

Re: [PATCH] for building subversion 1.6.12 for haiku

Posted by Philip Martin <ph...@wandisco.com>.
Julian Foad <ju...@wandisco.com> writes:

> On Fri, 2010-10-22, scott mc wrote:
>> We've run into another issue on Haiku, perhaps it's just something I
>> did wrong when configuring it, seems the subversion port on Haiku
>> thinks the system uses ISO-8859-15 encoding:
>> http://ports.haiku-files.org/ticket/422
>> Haiku's locale kit is still evolving, so perhaps something wasn't
>> detected correcting during the configure?  Any ideas on what to look
>> for?
>
> Hi scott.  I suggest you start looking at the function
> svn_cmdline_init() in subversion/libsvn_subr/cmdline.c.

Or the regression tests in subversion/tests/libsvn_subr/utf-test.c.

-- 
Philip

Re: [PATCH] for building subversion 1.6.12 for haiku

Posted by Julian Foad <ju...@wandisco.com>.
On Fri, 2010-10-22, scott mc wrote:
> We've run into another issue on Haiku, perhaps it's just something I
> did wrong when configuring it, seems the subversion port on Haiku
> thinks the system uses ISO-8859-15 encoding:
> http://ports.haiku-files.org/ticket/422
> Haiku's locale kit is still evolving, so perhaps something wasn't
> detected correcting during the configure?  Any ideas on what to look
> for?

Hi scott.  I suggest you start looking at the function
svn_cmdline_init() in subversion/libsvn_subr/cmdline.c.

- Julian


Re: [PATCH] for building subversion 1.6.12 for haiku

Posted by scott mc <sc...@gmail.com>.
>> Patch by: Scott McCreary <sc...@gmail.com> (HaikuPorts)
>> Found by: Chris Roberts <cp...@gmail.com> (HaikuPorts)
>
> Committed in r1024558.  Thanks!
>
> --
> Philip
>

Thanks Philip.
We've run into another issue on Haiku, perhaps it's just something I
did wrong when configuring it, seems the subversion port on Haiku
thinks the system uses ISO-8859-15 encoding:
http://ports.haiku-files.org/ticket/422
Haiku's locale kit is still evolving, so perhaps something wasn't
detected correcting during the configure?  Any ideas on what to look
for?

-scottmc

Re: [PATCH] for building subversion 1.6.12 for haiku

Posted by Philip Martin <ph...@wandisco.com>.
scott mc <sc...@gmail.com> writes:

> Here's the updated patch vs. svn r1022152, feel free to add a
> "reviewed by" to the message below.
> Thanks,
> -scottmc
>
> ------------------------------------------------------------------------------------------------------
> This patch makes use of find_directory() on Haiku to locate the proper
> directories to use.  Currently B_USER_SETTINGS_DIRECTORY points to
>  /boot/home/config/settings, so this puts the .subversion directory in
>  /boot/home/config/settings/subversion instead of $HOME/subversion or
> $HOME/.subversion.
>
> * subversion/libsvn_subr/config_file.c
>  (svn_config__sys_config_path): Set the path on Haiku to point to
> "B_COMMON_SETTINGS_DIRECTORY"
>                                                + SVN_CONFIG__SYS_DIRECTORY
>  (svn_config__usr_config_path): Set the path on Haiku to point to
> "B_USER_SETTINGS_DIRECTORY"
>                                               + SVN_CONFIG__USR_SUBDIRECTORY
>
>  * subversion/libsvn_subr/config_impl.h:
>    Set SVN_CONFIG__SYS_DIRECTORY and SVN_CONFIG__USR_DIRECTORY for Haiku
>
> Patch by: Scott McCreary <sc...@gmail.com> (HaikuPorts)
> Found by: Chris Roberts <cp...@gmail.com> (HaikuPorts)

Committed in r1024558.  Thanks!

-- 
Philip

Re: [PATCH] for building subversion 1.6.12 for haiku

Posted by scott mc <sc...@gmail.com>.
Here's the updated patch vs. svn r1022152, feel free to add a
"reviewed by" to the message below.
Thanks,
-scottmc

------------------------------------------------------------------------------------------------------
This patch makes use of find_directory() on Haiku to locate the proper
directories to use.  Currently B_USER_SETTINGS_DIRECTORY points to
 /boot/home/config/settings, so this puts the .subversion directory in
 /boot/home/config/settings/subversion instead of $HOME/subversion or
$HOME/.subversion.

* subversion/libsvn_subr/config_file.c
 (svn_config__sys_config_path): Set the path on Haiku to point to
"B_COMMON_SETTINGS_DIRECTORY"
                                               + SVN_CONFIG__SYS_DIRECTORY
 (svn_config__usr_config_path): Set the path on Haiku to point to
"B_USER_SETTINGS_DIRECTORY"
                                              + SVN_CONFIG__USR_SUBDIRECTORY

 * subversion/libsvn_subr/config_impl.h:
   Set SVN_CONFIG__SYS_DIRECTORY and SVN_CONFIG__USR_DIRECTORY for Haiku

Patch by: Scott McCreary <sc...@gmail.com> (HaikuPorts)
Found by: Chris Roberts <cp...@gmail.com> (HaikuPorts)

------------------
Index: subversion/libsvn_subr/config_file.c
===================================================================
--- subversion/libsvn_subr/config_file.c	(revision 1022152)
+++ 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: subversion/libsvn_subr/config_impl.h
===================================================================
--- subversion/libsvn_subr/config_impl.h	(revision 1022152)
+++ subversion/libsvn_subr/config_impl.h	(working copy)
@@ -114,7 +114,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 */

Re: [PATCH] for building subversion 1.6.12 for haiku

Posted by Philip Martin <ph...@wandisco.com>.
Gavin Beau Baumanis <ga...@thespidernet.com> writes:

>> --- 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 */

This bit doesn't apply, it's obviously wrong.  Scott, please send a
clean patch for trunk.

-- 
Philip

Re: [PATCH] for building subversion 1.6.12 for haiku

Posted by Gavin Beau Baumanis <ga...@thespidernet.com>.
Ping. This submission has received no responses in over a week.


Gavin "Beau" Baumanis


On 05/10/2010, at 5:21 AM, scott mc wrote:

> 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 */
> 
> -------------------------------------

Re: [PATCH] for building subversion 1.6.12 for haiku

Posted by scott mc <sc...@gmail.com>.
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 */

-------------------------------------