X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=write-tree.c;h=dcad6e66708f7cf9cae682da6a9a22086381ecec;hb=293532739415d287786a312ec10849723383796e;hp=2b2c6b77afd53870423d4bad9191ed669bc55660;hpb=379955c696a417f0fb6118f2fd91dbffd2816ad1;p=git.git diff --git a/write-tree.c b/write-tree.c index 2b2c6b77..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,22 +79,27 @@ 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]; + 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) @@ -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;