initdb: make safe_create_dir public
authorDavid Turner <dturner@twopensource.com>
Tue, 10 Nov 2015 11:42:38 +0000 (12:42 +0100)
committerJeff King <peff@peff.net>
Fri, 20 Nov 2015 09:52:01 +0000 (04:52 -0500)
Soon we will want to create initdb functions for ref backends, and
code from initdb that calls this function needs to move into the files
backend. So this function needs to be public.

Signed-off-by: David Turner <dturner@twopensource.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Jeff King <peff@peff.net>
builtin/init-db.c
cache.h
path.c
index f59f40768e90cae98cf6541f4c383d762b68b9d1..07229d60f1fd0d581c8cfae2bd0b1c21f06cbc95 100644 (file)
@@ -24,18 +24,6 @@ static int init_shared_repository = -1;
 static const char *init_db_template_dir;
 static const char *git_link;
 
-static void safe_create_dir(const char *dir, int share)
-{
-       if (mkdir(dir, 0777) < 0) {
-               if (errno != EEXIST) {
-                       perror(dir);
-                       exit(1);
-               }
-       }
-       else if (share && adjust_shared_perm(dir))
-               die(_("Could not make %s writable by group"), dir);
-}
-
 static void copy_templates_1(struct strbuf *path, struct strbuf *template,
                             DIR *dir)
 {
diff --git a/cache.h b/cache.h
index 3ba0b8f3d7a86eac8839bb175b0291b76013d263..4e13ddb19316ff60aaba309ee9e8283146014814 100644 (file)
--- a/cache.h
+++ b/cache.h
@@ -1747,4 +1747,12 @@ void stat_validity_update(struct stat_validity *sv, int fd);
 int versioncmp(const char *s1, const char *s2);
 void sleep_millisec(int millisec);
 
+/*
+ * Create a directory and (if share is nonzero) adjust its permissions
+ * according to the shared_repository setting. Only use this for
+ * directories under $GIT_DIR.  Don't use it for working tree
+ * directories.
+ */
+void safe_create_dir(const char *dir, int share);
+
 #endif /* CACHE_H */
diff --git a/path.c b/path.c
index c740c4ff9403bc92df4c439839bd5596ac62e48d..9d1ab1f69e2b666d13783c35674c1e2cde30cea9 100644 (file)
--- a/path.c
+++ b/path.c
@@ -740,6 +740,18 @@ int adjust_shared_perm(const char *path)
        return 0;
 }
 
+void safe_create_dir(const char *dir, int share)
+{
+       if (mkdir(dir, 0777) < 0) {
+               if (errno != EEXIST) {
+                       perror(dir);
+                       exit(1);
+               }
+       }
+       else if (share && adjust_shared_perm(dir))
+               die(_("Could not make %s writable by group"), dir);
+}
+
 static int have_same_root(const char *path1, const char *path2)
 {
        int is_abs1, is_abs2;