SVN is not a content-tracker

jojo@host:~/svn/test$ svn add git-talk.pdf
A (bin) git-talk.pdf
jojo@host:~/svn/test$ svn commit -m 'First file'
Adding (bin) git-talk.pdf
Transmitting file data .
Committed revision 1.
jojo@host:~/svn/test$ du -sh ../test-repo
6.5M ../test-repo
jojo@host:~/svn/test$ cp git-talk.pdf git-talk2.pdf
jojo@host:~/svn/test$ svn add git-talk2.pdf
A (bin) git-talk2.pdf
jojo@host:~/svn/test$ svn commit -m 'Second file'
Adding (bin) git-talk2.pdf
Transmitting file data .
Committed revision 2.
jojo@host:~/svn/test$ du -sh ../test-repo
13M ../test-repo

I rest my case. Now some of you (those who know git and know why they use it) might say “so what, that is no secret” while others may flip over backwards. The second group of people is the one I wanted to reach ;)

2 Responses to “SVN is not a content-tracker”

  1. Denis Andreev on June 15th, 2008 at 14:52

    sure I got you point. but real use-case of that is svn rename. svn is different vcs, so one must use it properly

  2. Sure. I used the above example for convenience. Usually you wouldn’t do that directly. But imagine big repos where you don’t know what files there are (and adding a file twice would make the repo unnecessary big). Or imagine tools/framework that generate identical files (like the rails README and other default files). With git you don’t have to worry about a lot of those files wasting space in your repository.

Leave a Reply