Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes: >> I understand "no need making it shallow", but I am not sure if a >> non-NULL return from lookup_object() tells us that. > > You are probably right, how about has_sha1_file()? > >> I think register_shallow() can take commits that are already shallow() >> so maybe we can remove this "if() continue"? > > Yes, it can, but that is not necessarily correct: since .git/shallow is > constructed from the registered shallow commits, we would make a commit > shallow which is really not shallow. > > So, how about > >> > + if (lookup_object(sha1) || has_sha1_file(sha1)) >> > + continue; If I understand the code correctly, this loop is reading what the other side thinks your shallows should be (based on your earlier "deepen" request or if this is initial fetch based on your depth). Even if we already have that object, if that object _is_ shallow on our end, don't we need to keep it marked as shallow? Will we get ancestors of this commit from the other end (and "shallow" lines for some of them to properly cauterize the chain)? - 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