Question on work-flow for big binary files
Arne Babenhauserheide
arne_bab at web.de
Thu Dec 18 02:59:02 CST 2008
Am Mittwoch 17 Dezember 2008 23:26:16 schrieb Marcus Lindblom:
> It seems to be no big problem in using Mercurial to manage sources, but
> there's also the matter of content files (3d-models, textures, whatnot)
> that have a different characteristics/usage patterns than source code:
>
> * are big (10-100:s of megabytes)
> * change in bursts (a few weeks with 1-4 commits/day), then are stable
> for a long time (so some near-time rollback is necessary, but ancient
> history is not important)
> * are often binary
>
> With svn, I could imagine a scheme where you'd store content-files in a
> separate repo which was processed (dumped/filtered/restored) every week
> or so to remove any intermediate copies above a certain age, of course
> keeping heads of any tags and branches.
Since you only need short-time version tracking of these files, I'd just
create a clone of the main repo for working on certain content files, and once
they are stable just copy them into main (without their history).
main/ - all data, content files stable.
content1/ - all data + current nonstable content files. Pull, but never push.
content2/ - all data + other nonstable content files. Pull, but never push.
...
in main you aggregate these files as if you'd take finished patches from other
people.
The content repos can then just pull from main to get the new stable content
files.
This is essentially designed to be very similar to your scheme, but taking
advantage of the cheap cloning in Mercurial. You can simply create a clone
everytime you work on another set of content files.
For example you could have a content-repository per 3D character, including
unstable versions of the content items (meshes, textures, sounds) connected to
that character, and once you're happy with that character you copy all its
files over to the main repo and do a commit there.
If you need to rework the character later on, you just create another clone
from main and work there.
After the files get stable, you can just throw away (or backup) the clone and
create a new one for the next set of content items.
Always remember that cloning is cheap - and safe.
Best wishes,
Arne
--
-- My stuff: http://draketo.de - stories, songs, poems, programs and stuff :)
-- Infinite Hands: http://infinite-hands.draketo.de - singing a part of the
history of free software.
-- Ein Würfel System: http://1w6.org - einfach saubere (Rollenspiel-) Regeln.
-- PGP/GnuPG: http://draketo.de/inhalt/ich/pubkey.txt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
Url : http://selenic.com/pipermail/mercurial/attachments/20081218/96143a95/attachment.pgp
More information about the Mercurial
mailing list