Use symbolic names for the git file types

Instead of hardcoding the regular file mode (0100644 is the traditional
Unix S_IFREG file mode with -rw-r--r-- protections), use
GIT_FILEMODE_BLOB (and GIT_FILEMODE_TREE for 040000 - S_IFDIR).

The numbers were historically indeed the regular S_IFREG/S_IFDIR values,
but since those aren't portable, git ended up defining their own.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Linus Torvalds 2014-03-07 20:33:51 -08:00 committed by Dirk Hohndel
parent 5bba84e57f
commit 6d0011947b

View file

@ -464,7 +464,7 @@ static int blob_insert(git_repository *repo, struct dir *tree, struct membuffer
return ret;
VA_BUF(&name, fmt);
ret = tree_insert(tree->files, mb_cstring(&name), 1, &blob_id, 0100644);
ret = tree_insert(tree->files, mb_cstring(&name), 1, &blob_id, GIT_FILEMODE_BLOB);
free_buffer(&name);
return ret;
}
@ -577,7 +577,7 @@ static int save_trip_description(git_repository *repo, struct dir *dir, dive_tri
free_buffer(&desc);
if (ret)
return report_error("trip blob creation failed");
ret = tree_insert(dir->files, "00-Trip", 0, &blob_id, 0100644);
ret = tree_insert(dir->files, "00-Trip", 0, &blob_id, GIT_FILEMODE_BLOB);
if (ret)
return report_error("trip description tree insert failed");
return 0;
@ -775,7 +775,7 @@ static int write_git_tree(git_repository *repo, struct dir *tree, git_oid *resul
git_oid id;
if (!write_git_tree(repo, subdir, &id))
tree_insert(tree->files, subdir->name, subdir->unique, &id, 040000);
tree_insert(tree->files, subdir->name, subdir->unique, &id, GIT_FILEMODE_TREE);
tree->subdirs = subdir->sibling;
free(subdir);
};