X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=write-tree.c;h=dcad6e66708f7cf9cae682da6a9a22086381ecec;hb=698ce6f87e0d6db380f7306e190e8586da184577;hp=561a101fa97c4fbf044093bdfe2cae56b94ce8bf;hpb=07ee0d77c66d6f356cd3f82435e67510779aa53c;p=git.git diff --git a/write-tree.c b/write-tree.c index 561a101f..dcad6e66 100644 --- a/write-tree.c +++ b/write-tree.c @@ -4,6 +4,7 @@ * Copyright (C) Linus Torvalds, 2005 */ #include "cache.h" +#include "tree.h" static int missing_ok = 0; @@ -78,25 +79,30 @@ static int write_tree(struct cache_entry **cachep, int maxentries, const char *b nr++; } - write_sha1_file(buffer, offset, "tree", returnsha1); + write_sha1_file(buffer, offset, tree_type, returnsha1); free(buffer); return nr; } +static const char write_tree_usage[] = "git-write-tree [--missing-ok]"; + int main(int argc, char **argv) { int i, funny; - int entries = read_cache(); + int entries; unsigned char sha1[20]; - if (argc==2) { + setup_git_directory(); + + entries = read_cache(); + if (argc == 2) { if (!strcmp(argv[1], "--missing-ok")) missing_ok = 1; else - die("unknown option %s", argv[1]); + die(write_tree_usage); } - if (argc>2) + if (argc > 2) die("too many options"); if (entries < 0) @@ -106,7 +112,7 @@ int main(int argc, char **argv) funny = 0; for (i = 0; i < entries; i++) { struct cache_entry *ce = active_cache[i]; - if (ntohs(ce->ce_flags) & ~CE_NAMEMASK) { + if (ce_stage(ce)) { if (10 < ++funny) { fprintf(stderr, "...\n"); break;