Yeah, that's a weird one. I wonder whether the partial clone filter
setting should also imply a config shutting off diffstats?
- Emily
On Thu, Sep 22, 2022 at 7:24 AM Derrick Stolee <derrickstolee@github.com> wrote:
Show 37 quoted lines
>
> On 9/21/2022 7:36 PM, Elijah Newren wrote:
> > On Wed, Sep 21, 2022 at 8:22 AM ZheNing Hu <adlternative@gmail.com> wrote:
>
> > Here, we do have an object download, which occurred after the merge
> > completed, so there must be something happening after the merge which
> > needs the extra blob; if we keep reading...
> >
> >> project1/file1 | 10 ++++++++++
> >> 1 file changed, 10 insertions(+)
> >
> > Ah, the 'helpful' diffstat. It downloads blobs from a promisor remote
> > just so we can see what has changed, including in the area of the
> > project we don't care about.
> >
> > (This is yet another reason it'd be nice to have a --restrict mode for
> > grep/diff/log/etc. for sparse-checkout uses, and an ability to make it
> > the default in some repo, so you could get just the diffstat within
> > the region of the project that you care about. We're discussing such
> > an idea, but it isn't implemented yet.)
> >
> >> warning: This repository uses promisor remotes. Some objects may not be loaded.
> >> blob_count1=11
> >> blob_count2=11
> >> blob_count3=12
> >>
> >> The result shows that blob count doesn't change in git fetch, but in git merge.
> >
> > If you add --no-stat to your merge command (or set merge.stat to
> > false), the extra blob will not be downloaded.
>
> This is an interesting find! I wonder how many people are hitting this
> in the wild. Perhaps merge.stat should be added to the optional, but
> recommended config options in scalar.c.
>
> Thanks,
> -Stolee