summaryrefslogtreecommitdiff
path: root/write-tree.c
diff options
context:
space:
mode:
authorPetr Baudis <pasky@ucw.cz>2005-05-08 14:15:59 (GMT)
committerPetr Baudis <xpasky@machine.sinus.cz>2005-05-08 14:15:59 (GMT)
commitc899350e9dbe8700ad3c945b9743e9472732684b (patch)
tree7ef7b783d667f8ea59eebd11ced380b496941837 /write-tree.c
parent8c59926f5e00082a4cbf1d9f31275917c5f7f001 (diff)
downloadgit-c899350e9dbe8700ad3c945b9743e9472732684b.zip
git-c899350e9dbe8700ad3c945b9743e9472732684b.tar.gz
git-c899350e9dbe8700ad3c945b9743e9472732684b.tar.bz2
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.
Diffstat (limited to 'write-tree.c')
-rw-r--r--write-tree.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/write-tree.c b/write-tree.c
index 1683528..d801d7f 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;