init: Creates a 'data' directory within .timewarrior

This commit is contained in:
Paul Beckingham 2016-03-04 23:25:36 -05:00
parent 529b36a391
commit bdc2a8d974

View file

@ -86,6 +86,12 @@ void initializeData (Configuration& configuration, Database& database)
if (! extensions.exists ()) if (! extensions.exists ())
extensions.create (0700); extensions.create (0700);
// Create extensions subdirectory if necessary.
Directory data (dbLocation);
data += "data";
if (! data.exists ())
data.create (0700);
// If dbLocation exists, but is not readable/writable/executable, error. // If dbLocation exists, but is not readable/writable/executable, error.
if (dbLocation.exists () && if (dbLocation.exists () &&
(! dbLocation.readable () || (! dbLocation.readable () ||
@ -112,7 +118,7 @@ void initializeData (Configuration& configuration, Database& database)
configuration.set ("shiny", (shinyNewDatabase ? 1 : 0)); configuration.set ("shiny", (shinyNewDatabase ? 1 : 0));
// Initialize the database (no data read), but files are enumerated. // Initialize the database (no data read), but files are enumerated.
database.initialize (dbLocation._data); database.initialize (data._data);
std::cout << "# Configuration\n"; std::cout << "# Configuration\n";
for (const auto& name : configuration.all ()) for (const auto& name : configuration.all ())