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.
This commit is contained in:
Petr Baudis 2005-05-08 16:15:59 +02:00 коммит произвёл Petr Baudis
Родитель 8c59926f5e
Коммит c899350e9d
1 изменённых файлов: 4 добавлений и 4 удалений

Просмотреть файл

@ -30,7 +30,7 @@ static int write_tree(struct cache_entry **cachep, int maxentries, const char *b
offset = 0; offset = 0;
nr = 0; nr = 0;
do { while (nr < maxentries) {
struct cache_entry *ce = cachep[nr]; struct cache_entry *ce = cachep[nr];
const char *pathname = ce->name, *filename, *dirname; const char *pathname = ce->name, *filename, *dirname;
int pathlen = ce_namelen(ce), entrylen; 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); memcpy(buffer + offset, sha1, 20);
offset += 20; offset += 20;
nr++; nr++;
} while (nr < maxentries); }
write_sha1_file(buffer, offset, "tree", returnsha1); write_sha1_file(buffer, offset, "tree", returnsha1);
free(buffer); free(buffer);
@ -88,8 +88,8 @@ int main(int argc, char **argv)
int entries = read_cache(); int entries = read_cache();
unsigned char sha1[20]; unsigned char sha1[20];
if (entries <= 0) if (entries < 0)
die("write-tree: no cache contents to write"); die("write-tree: error reading cache");
/* Verify that the tree is merged */ /* Verify that the tree is merged */
unmerged = 0; unmerged = 0;