Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes: > Yes. Somehow, an important part of unregister_shallow() went missing (yet > another proof that my poor-man's-StGit does not always work). I think that > the "object->parsed = 0;" should go into unregister_shallow() like this: That does not fly so well. Your fetch-pack.c does this in find_common() and dropping the parsed flag inside unregister causes it to be parsed again later with its true parents, which defeats what the commented part of the code wanted to do. if (!lookup_object(sha1)) die("object not found: %s", line); /* make sure that it is parsed as shallow */ parse_object(sha1); if (unregister_shallow(sha1)) die("no shallow found: %s", line); continue; Although I am reasonably sure we can eventually make it work, it is very subtle and fragile -- somebody touching this code can easily break it. . - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html