From: Petr Baudis Date: Sun, 8 May 2005 14:15:59 +0000 (+0200) Subject: write-tree is now willing to write empty tree X-Git-Tag: v0.99~607 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=c899350e9dbe8700ad3c945b9743e9472732684b;p=git.git write-tree is now willing to write empty tree Cogito wants to be able to do some initial commit at the time of cg-init, which may be empty in case when cg-init is called in an empty tree. --- diff --git a/write-tree.c b/write-tree.c index 168352853..d801d7fbe 100644 --- a/write-tree.c +++ b/write-tree.c @@ -30,7 +30,7 @@ static int write_tree(struct cache_entry **cachep, int maxentries, const char *b offset = 0; nr = 0; - do { + while (nr < maxentries) { struct cache_entry *ce = cachep[nr]; const char *pathname = ce->name, *filename, *dirname; int pathlen = ce_namelen(ce), entrylen; @@ -75,7 +75,7 @@ static int write_tree(struct cache_entry **cachep, int maxentries, const char *b memcpy(buffer + offset, sha1, 20); offset += 20; nr++; - } while (nr < maxentries); + } write_sha1_file(buffer, offset, "tree", returnsha1); free(buffer); @@ -88,8 +88,8 @@ int main(int argc, char **argv) int entries = read_cache(); unsigned char sha1[20]; - if (entries <= 0) - die("write-tree: no cache contents to write"); + if (entries < 0) + die("write-tree: error reading cache"); /* Verify that the tree is merged */ unmerged = 0;