1cf2254a64357c73c4fbdc07badb0e2529c18e62
galt
  Tue Mar 2 04:31:58 2010 -0800
mkdir various subdir levels needed
diff --git git-reports.c git-reports.c
index d42a478..5ff3dd7 100644
--- git-reports.c
+++ git-reports.c
@@ -176,14 +176,29 @@
 /* create prefix dir */
 char path[256];
 safef(path, sizeof(path), "%s/%s", outDir, outPrefix);
-if (mkdir(path, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0)
+if (!fileExists(path) && mkdir(path, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0)
     errnoAbort("unable to mkdir %s", path);
 
+/* create file dir */
+safef(path, sizeof(path), "%s/%s/%s", outDir, outPrefix, "file");
+if (!fileExists(path) && mkdir(path, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0)
+    errnoAbort("unable to mkdir %s", path);
+
+/* create user dir */
+safef(path, sizeof(path), "%s/%s/%s", outDir, outPrefix, "user");
+if (!fileExists(path) && mkdir(path, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0)
+    errnoAbort("unable to mkdir %s", path);
 
 struct slName*u;
 for(u = users; u; u = u->next)
     {
     printf("user: %s\n", u->name);
+
+    /* create user/name dir */
+    safef(path, sizeof(path), "%s/%s/%s/%s", outDir, outPrefix, "user", u->name);
+    if (!fileExists(path) && mkdir(path, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0)
+	errnoAbort("unable to mkdir %s", path);
+
     }
 
 }