On 7/20/2020 7:44 AM, Son Luong Ngoc wrote: > Hi folks, > > At $day_job, we are trying to push tags to a repo from a partial clone copy. > However it seems like this push would requires the partial clone copy to download more objects? > Is this intended? > > Reproduce: > > mkdir repo && cd repo > git init > git remote add origin git@xxxxxxxxxx:path/repo.git > git fetch --filter=tree:0 --no-tags --prune origin <commit-id> > git sparse-checkout init --cone > git checkout --force <commit-id> > git tag -a sluongng-test -m "Test push from partial clone" > git push HEAD:refs/tags/sluongng-test > <git starts to download objects> > > Ideally we would like to be able to push tag from a shallow + partial clone repo without > having to download extra objects if possible. > We would like to keep the required repo to the absolute minimum. > git fetch --depth 1 --filter=tree:0 --no-tags --prune origin <commit-id> > > Creating and pushing tags should not require local repo to have trees/blobs in it? > > Git version: 2.27.0 Could you try this again with 2.28.0-rc1? I think Jonathan Tan added the "no-fetch" flag in more places since 2.27.0, and this might already be fixed. Thanks, -Stolee