Fossil SCM

When attempting to open the configuration, permit the 'FOSSIL_HOME' environment variable (if present), to override 'HOME'.

mistachkin 2015-01-20 16:44 trunk
Commit c97a085a0e7200b808dd3a810d46c1ad369604c3
1 file changed +25 -20
+25 -20
--- src/db.c
+++ src/db.c
@@ -927,30 +927,35 @@
927927
char *zHome;
928928
if( g.zConfigDbName ){
929929
if( useAttach==g.useAttach ) return;
930930
db_close_config();
931931
}
932
-#if defined(_WIN32) || defined(__CYGWIN__)
933
- zHome = fossil_getenv("LOCALAPPDATA");
934
- if( zHome==0 ){
935
- zHome = fossil_getenv("APPDATA");
936
- if( zHome==0 ){
937
- char *zDrive = fossil_getenv("HOMEDRIVE");
938
- zHome = fossil_getenv("HOMEPATH");
939
- if( zDrive && zHome ) zHome = mprintf("%s%s", zDrive, zHome);
940
- }
941
- }
942
- if( zHome==0 ){
943
- fossil_fatal("cannot locate home directory - "
944
- "please set the LOCALAPPDATA or APPDATA or HOMEPATH "
945
- "environment variables");
946
- }
947
-#else
948
- zHome = fossil_getenv("HOME");
949
- if( zHome==0 ){
950
- fossil_fatal("cannot locate home directory - "
951
- "please set the HOME environment variable");
932
+ zHome = fossil_getenv("FOSSIL_HOME");
933
+#if defined(_WIN32) || defined(__CYGWIN__)
934
+ if( zHome==0 ){
935
+ zHome = fossil_getenv("LOCALAPPDATA");
936
+ if( zHome==0 ){
937
+ zHome = fossil_getenv("APPDATA");
938
+ if( zHome==0 ){
939
+ char *zDrive = fossil_getenv("HOMEDRIVE");
940
+ char *zPath = fossil_getenv("HOMEPATH");
941
+ if( zDrive && zPath ) zHome = mprintf("%s%s", zDrive, zPath);
942
+ }
943
+ }
944
+ }
945
+ if( zHome==0 ){
946
+ fossil_fatal("cannot locate home directory - please set the "
947
+ "FOSSIL_HOME, LOCALAPPDATA, APPDATA, or HOMEPATH "
948
+ "environment variables");
949
+ }
950
+#else
951
+ if( zHome==0 ){
952
+ zHome = fossil_getenv("HOME");
953
+ }
954
+ if( zHome==0 ){
955
+ fossil_fatal("cannot locate home directory - please set the "
956
+ "FOSSIL_HOME or HOME environment variables");
952957
}
953958
#endif
954959
if( file_isdir(zHome)!=1 ){
955960
fossil_fatal("invalid home directory: %s", zHome);
956961
}
957962
--- src/db.c
+++ src/db.c
@@ -927,30 +927,35 @@
927 char *zHome;
928 if( g.zConfigDbName ){
929 if( useAttach==g.useAttach ) return;
930 db_close_config();
931 }
932 #if defined(_WIN32) || defined(__CYGWIN__)
933 zHome = fossil_getenv("LOCALAPPDATA");
934 if( zHome==0 ){
935 zHome = fossil_getenv("APPDATA");
936 if( zHome==0 ){
937 char *zDrive = fossil_getenv("HOMEDRIVE");
938 zHome = fossil_getenv("HOMEPATH");
939 if( zDrive && zHome ) zHome = mprintf("%s%s", zDrive, zHome);
940 }
941 }
942 if( zHome==0 ){
943 fossil_fatal("cannot locate home directory - "
944 "please set the LOCALAPPDATA or APPDATA or HOMEPATH "
945 "environment variables");
946 }
947 #else
948 zHome = fossil_getenv("HOME");
949 if( zHome==0 ){
950 fossil_fatal("cannot locate home directory - "
951 "please set the HOME environment variable");
 
 
 
 
 
952 }
953 #endif
954 if( file_isdir(zHome)!=1 ){
955 fossil_fatal("invalid home directory: %s", zHome);
956 }
957
--- src/db.c
+++ src/db.c
@@ -927,30 +927,35 @@
927 char *zHome;
928 if( g.zConfigDbName ){
929 if( useAttach==g.useAttach ) return;
930 db_close_config();
931 }
932 zHome = fossil_getenv("FOSSIL_HOME");
933 #if defined(_WIN32) || defined(__CYGWIN__)
934 if( zHome==0 ){
935 zHome = fossil_getenv("LOCALAPPDATA");
936 if( zHome==0 ){
937 zHome = fossil_getenv("APPDATA");
938 if( zHome==0 ){
939 char *zDrive = fossil_getenv("HOMEDRIVE");
940 char *zPath = fossil_getenv("HOMEPATH");
941 if( zDrive && zPath ) zHome = mprintf("%s%s", zDrive, zPath);
942 }
943 }
944 }
945 if( zHome==0 ){
946 fossil_fatal("cannot locate home directory - please set the "
947 "FOSSIL_HOME, LOCALAPPDATA, APPDATA, or HOMEPATH "
948 "environment variables");
949 }
950 #else
951 if( zHome==0 ){
952 zHome = fossil_getenv("HOME");
953 }
954 if( zHome==0 ){
955 fossil_fatal("cannot locate home directory - please set the "
956 "FOSSIL_HOME or HOME environment variables");
957 }
958 #endif
959 if( file_isdir(zHome)!=1 ){
960 fossil_fatal("invalid home directory: %s", zHome);
961 }
962

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button