Commit 8ea2c83b5d21a8a15075943eba822b9ca928af3e

nulltoken 2010-12-20T16:46:13

Added creation of 'objects/info' and 'objects/pack' directories.

diff --git a/src/repository.c b/src/repository.c
index 3551b87..4ef4b1f 100644
--- a/src/repository.c
+++ b/src/repository.c
@@ -35,7 +35,8 @@
 
 #define GIT_DIR "/.git/"
 #define GIT_OBJECTS_DIR "objects/"
-#define GIT_REFS_DIR "refs/"
+#define GIT_OBJECTS_INFO_DIR "objects/info/"
+#define GIT_OBJECTS_PACK_DIR "objects/pack/"
 #define GIT_REFS_HEADS_DIR "refs/heads/"
 #define GIT_REFS_TAGS_DIR "refs/tags/"
 
@@ -786,19 +787,19 @@ int repo_init_structure(repo_init *results)
 	if (repo_init_createhead(temp_path) < GIT_SUCCESS)
 		return GIT_ERROR;
 
-	/* Creates the '/objects/' directory */
-	strcpy(temp_path + path_len, GIT_OBJECTS_DIR);
-	if (gitfo_mkdir(temp_path, mode))
+	/* Creates the '/objects/info/' directory */
+	strcpy(temp_path + path_len, GIT_OBJECTS_INFO_DIR);
+	if (gitfo_mkdir_recurs(temp_path, mode))
 		return GIT_ERROR;
 
-	/* Creates the '/refs/' directory */
-	strcpy(temp_path + path_len, GIT_REFS_DIR);
+	/* Creates the '/objects/pack/' directory */
+	strcpy(temp_path + path_len, GIT_OBJECTS_PACK_DIR);
 	if (gitfo_mkdir(temp_path, mode))
 		return GIT_ERROR;
 
 	/* Creates the '/refs/heads/' directory */
 	strcpy(temp_path + path_len, GIT_REFS_HEADS_DIR);
-	if (gitfo_mkdir(temp_path, mode))
+	if (gitfo_mkdir_recurs(temp_path, mode))
 		return GIT_ERROR;
 
 	/* Creates the '/refs/tags/' directory */