I'm sure we've got a few people here that know the detailed inner workings of git, but you might want to toss this out to the git mailing list as well: [EMAIL PROTECTED] Tekkub Github General Support Join us on IRC: #github on freenode.net Discussion group: [email protected] http://github.com/tekkub
On Fri, Oct 31, 2008 at 3:48 AM, ttsiod <[EMAIL PROTECTED]> wrote: > > 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 -~----------~----~----~----~------~----~------~--~---
