Hi, I was wondering why "git clone" seems to not respect "-delta" in .gitattributes. *Reproduction* I prepared a test repository with: - git v2.17.1 - .gitattributes containing "*.bin binary -delta" - 10 commits with a 10 MB random binary file Code: --------------------------------------------------------------------- #!/bin/bash # setup repository git init --quiet repo cd repo echo '*.bin binary -delta' > .gitattributes git add .gitattributes git commit --quiet -m 'attributes' for i in $(seq 10); do dd if=/dev/urandom of=data.bin bs=1MB count=10 status=none git add data.bin git commit --quiet -m "data $i" done cd .. # create clone repository time git clone --no-local repo clone # repack original repository cd repo time git repack -a -d --------------------------------------------------------------------- Output: --------------------------------------------------------------------- Cloning into 'clone'... remote: Counting objects: 33, done. remote: Compressing objects: 100% (31/31), done. remote: Total 33 (delta 0), reused 0 (delta 0) Receiving objects: 100% (33/33), 95.40 MiB | 19.94 MiB/s, done. real 0m25,085s user 0m22,749s sys 0m0,948s Counting objects: 33, done. Delta compression using up to 2 threads. Compressing objects: 100% (21/21), done. Writing objects: 100% (33/33), done. Total 33 (delta 0), reused 0 (delta 0) real 0m5,652s user 0m4,173s sys 0m0,178s --------------------------------------------------------------------- *Observations* _time_ - Cloning: "clone" takes always 25s - Optimizing: "repack" takes 25s with and 5s without delta compression _compressed objects_ - Cloning: "clone" compresses always 31 objects - Optimizing: "repack" compresses 31 objects with and 21 objects without delta compression *Expectations* Both operations ("repack" and "clone") are using "pack-objects". Therefore my expectation is that "clone" should respect "-delta" and be about as fast as "repack". Cheers, René