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... --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "GitHub" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/github?hl=en -~----------~----~----~----~------~----~------~--~---
