Re: fetch: Auto-following tags should check connectivity, not existence
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:43:06
Junio C Hamano [off-list ref] writes:
Johannes Sixt [off-list ref] writes:quoted
git-fetch's auto-following of tags fetches all tags for which it finds objects in the local repository. I feel it were better if not object existence, but connectivity to the existing refs was checked, like this:... However, I think --max-count=1 defeats what you are trying to do. Revision limiting will only look at commits, and if you have all commits that lead to the "$sha1" commit from some of the existing refs, but lack some blobs or trees that belong to some of the commits that are not the first commit that will be listed, their absense will not be noticed.
Sorry, but I have to take this back, after looking at your patch once again. In this case, all you are interested in is to see if the commit ancestry is connected, and you do not mind if the chain is somewhat incomplete in blobs and trees, as you will re-fetch the chain in a safe manner in the later round. In other words, the code does not have to be as strict as my quickfetch series, which tries to *omit* re-fetching altogether. So --max-count=1 is fine, although it may not be much of an optimization in practice, it does not harm correctness in any way, as my previous message suggested.