Fossil

Check-in [1e90d43d]
Login

Check-in [1e90d43d]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Check on writability of the home directory appears too restricted. Writability of the $HOME/.fossil file should be sufficient for fossil to operate.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | home-check-too-restricted
Files: files | file ages | folders
SHA1: 1e90d43d764fcf33ffc4be0408144ee7c3457452
User & Date: jan.nijtmans 2013-03-04 20:06:23
Context
2013-03-05
12:17
Add check for win32/cygwin whether the config-db is writable in stead of checking that the $HOME directory is writable. Eliminate g.zHome and g.configOpen, in stead use a single g.configDbName. Then people no longer have to guess whether the config db name is ".fossil" or "_fossil". g.zHome was only used for locating the config db, nothing else. ... (check-in: 473e08a6 user: jan.nijtmans tags: trunk)
2013-03-04
20:06
Check on writability of the home directory appears too restricted. Writability of the $HOME/.fossil file should be sufficient for fossil to operate. ... (Closed-Leaf check-in: 1e90d43d user: jan.nijtmans tags: home-check-too-restricted)
19:18
revert [9122ad308a]. It appears that file_access() cannot bries on win32 ... (check-in: 1eb9496c user: jan.nijtmans tags: trunk)
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/db.c.

824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845



846
847
848
849
850
851
852
    fossil_fatal("cannot locate home directory - "
                 "please set the HOME environment variable");
  }
#endif
  if( file_isdir(zHome)!=1 ){
    fossil_fatal("invalid home directory: %s", zHome);
  }
#if !defined(_WIN32)
  if( file_access(zHome, W_OK) ){
    fossil_fatal("home directory %s must be writeable", zHome);
  }
#endif
  g.zHome = mprintf("%/", zHome);
#if defined(_WIN32) || defined(__CYGWIN__)
  /* . filenames give some window systems problems and many apps problems */
  zDbName = mprintf("%//_fossil", zHome);
#else
  zDbName = mprintf("%s/.fossil", zHome);
#endif
  if( file_size(zDbName)<1024*3 ){
    db_init_database(zDbName, zConfigSchema, (char*)0);
  }



  if( useAttach ){
    db_open_or_attach(zDbName, "configdb", &g.useAttach);
    g.dbConfig = 0;
    g.zConfigDbType = 0;
  }else{
    g.useAttach = 0;
    g.dbConfig = db_open(zDbName);







<
<
<
<
<










>
>
>







824
825
826
827
828
829
830





831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
    fossil_fatal("cannot locate home directory - "
                 "please set the HOME environment variable");
  }
#endif
  if( file_isdir(zHome)!=1 ){
    fossil_fatal("invalid home directory: %s", zHome);
  }





  g.zHome = mprintf("%/", zHome);
#if defined(_WIN32) || defined(__CYGWIN__)
  /* . filenames give some window systems problems and many apps problems */
  zDbName = mprintf("%//_fossil", zHome);
#else
  zDbName = mprintf("%s/.fossil", zHome);
#endif
  if( file_size(zDbName)<1024*3 ){
    db_init_database(zDbName, zConfigSchema, (char*)0);
  }
  if( file_access(zDbName, W_OK) ){
    fossil_fatal("configuration file %s must be writeable", zDbName);
  }
  if( useAttach ){
    db_open_or_attach(zDbName, "configdb", &g.useAttach);
    g.dbConfig = 0;
    g.zConfigDbType = 0;
  }else{
    g.useAttach = 0;
    g.dbConfig = db_open(zDbName);