scott mc <scott...@gmail.com> writes: > On Wed, Sep 29, 2010 at 5:45 PM, Philip Martin > <philip.mar...@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