Hi folks, I've encountered very strange behavior when fetching a repo with --shallow-since, where I get many more commits than I expect in the repo, and specifically when I count commits by branch I see old branches where *every* commit is beyond the specified date threshold. I found a thread from 2018 in which something like this is discussed (https://public-inbox.org/git/20180522194854.GA29564@xxxxxxxxxxxxxx/), but I haven't completely understood the thread. It seems to address the specific "repo would be empty" concern, but not necessarily the more general "I'm getting branches I shouldn't be getting" concern/case...? I can confirm that if I move my --shallow-since date to one that "intersects" the lifetime of a branch I am unexpectedly getting, then all of a sudden I only get those commits I expected on that branch. I can also confirm that in a recent version of git (since 2.16 I think), if I set my refspec so *only* a "too old" branch matches, then I get the "fatal: no commits selected for shallow requests" error that's expected. But if my refspec *also* matches a branch that *does* have commits newer than the threshold, then I get the correct (newer) commits of that recently-active branch, and *all* commits of the too-old branch that otherwise correctly refuses to fetch on its own. I *thought* I would be able get what I would have expected from a "--shallow-since" clone by: * Initializing a new repo * Adding the remote * Removing the default fetch refspec * Iterating remote heads, checking their commit dates, and adding those valid/recent heads explicitly to the fetch refspec * Doing a fetch with "--shallow-since" ... however, I seem to have assumed some magic there: getting the "most recent commit date" for a remote ref apparently requires fetching it (to a depth of 1 at least) first?? Is the behavior I'm seeing "as designed" for branches with no recent commits, or is there a problem somewhere? Best regards, Tao