Added creation of 'objects/info' and 'objects/pack' directories.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
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 */