Hi everyone. I've been usig Git for the last couple of months and am quite happy with it. In one of my Git repositories, I am storing uncompressed .tar files (since being uncompressed allows git to detect and store only their "real"differences). However, when I introduce a new filename in the repos (with a minor set of differences compared to an existing file with a different filename) I've been unsuccessful in finding a way to tell Git to do it efficiently... This is what I mean: bash$ mkdir -p /var/tmp/tst bash$ cd /var/tmp/tst bash$ git init bash$ cp /var/www/renderer-2.0e.tar . bash$ git add renderer-2.0e.tar bash$ git commit -m "First version" bash$ du -s -k .git/ 1724 .git/ bash$ cp renderer-2.0e.tar renderer-2.0f.tar bash$ git add renderer-2.0f.tar bash$ git commit -m "To add new version, first copy the first, so Git detects it" bash$ du -s -k .git/ 1740 .git/ bash$ echo Good, Git detected it is the same bash$ cp /var/www/renderer-2.0f.tar . bash$ git add renderer-2.0f.tar bash$ git commit -m "Real new version, slightly different to first" bash$ du -s -k .git/ 3344 .git/ bash$ echo What... did I do something wrong bash$ xdelta delta renderer-2.0e.tar renderer-2.0f.tar delta bash$ ls -l total 7788 -rw-r--r-- 1 ttsiod ttsiod 8181 2008-10-31 11:27 delta -rw-r--r-- 1 ttsiod ttsiod 3962880 2008-10-31 11:23 renderer-2.0e.tar -rw-r--r-- 1 ttsiod ttsiod 3993600 2008-10-31 11:25 renderer-2.0f.tar bash$ git-gc bash$ du -s -k .git/ 1660 .git/ So even though the xdelta is just 8KB, and git-gc actually finds out that indeed the new file is very similar to the old one, the initial commit of the new version in the repos is not taking advantage. I found out about this when I tried to "git push" over a PSTN modem... Then again, I must confess I only did the git-gc after I pushed. Does the git-push actually take advantage of the similarities only if I do a git-gc first? If that is the case, I will create an alias to always git-gc after commits... -- What I gave, I have; what I spent, I had; what I kept, I lost. -Old Epitaph -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html