scott mc <scottmc2_at_gmail.com> writes:
> On Wed, Sep 29, 2010 at 5:45 PM, Philip Martin
> <philip.martin_at_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.
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?
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
Received on 2010-09-30 18:54:11 CEST