[Ffmpeg-devel] Re: Advocating periodic releases

Panagiotis Issaris takis.issaris
Fri Oct 6 17:26:41 CEST 2006


On Fri, Oct 06, 2006 at 05:04:59PM +0200, Oded Shimon wrote:
> On Fri, Oct 06, 2006 at 04:55:34PM +0200, Reimar D?ffinger wrote:
> > Hello,
> > On Fri, Oct 06, 2006 at 04:19:17PM +0200, Panagiotis Issaris wrote:
> > > One of the nice things is that the entire source code of the FFmpeg project, with
> > > every revision of every file included, fits into 9MiB using GIT. And you always
> > 
> > How did you do that? I canceled the SVN import for MPlayer after ca. 500
> > MB because my HD was full...
> I fail to see how it is possible at all, because the ffmpeg _source_ alone 
> is 12mb.
> 16:57 ods15 at crate15 ~/sources/mplayer/ffmpeg $ svn export . bah
> Export complete.
> 16:57 ods15 at crate15 ~/sources/mplayer/ffmpeg $ du -sh bah
> 12M     bah
> You can't compress these or anything, they have to be in raw form 
> regardless of how past history is stored.
When I was talking about the GIT repository size, I was talking purely about the
repository, not about the checked-out files.

The files in the repository are stored as deltas and compressed (and rather
heavily so it seems).

> BTW, I'm really pleased with svn. The history past the current revision is 
> useless in 99% of normal cases, and I've seen it handle just about 
> anything I threw at it perfectly. The only thing it doesn't support easily 
> is the moving of files/directories across repositories, an action which 
> can't even be easily defined anyway and doesn't really make sense. (If you 
> disagree, try to think what is the best way for this to be done, and 
> you'll find that everyone has a different opinion on this...)
GIT handles this very nicely IMHO. It actually handles this implicitly: When
compressing the repository it notices that two files are identical or even
when they are only _nearly_ identical, it will say something like this:
 rename dlls/{kernel/tests/module.c => kernel32/tests/module.c} (100%)
 rename dlls/{kernel/tests/path.c => kernel32/tests/path.c} (98%)
 rename dlls/{kernel/tests/pipe.c => kernel32/tests/pipe.c} (100%)

> [...] 

With friendly regards,

More information about the ffmpeg-devel mailing list