I started doing some tests with git, and I set up a master origin for a project. But due to not getting everyone else to buy in to the idea, it fizzled out. I set it up so each shot was a repo. One shot had minutes of sourceimages (about 5 Gig) and the commit failed on that.
We had a discussion about that and other stuff on the maya_dev google group:
Here's what I posted about the few tests I made:
a few tests...
After 3 commits (of
1 100Mb file and 1 30Mb file =130Mb)
the total disk usage was 154Mb
I
guess it would depend on workflow
whether it was useful or not. I have
rotating autosaves - and I save a
scene every playblast (so there's
always a movie that represents the
scene). As a first attempt at this. I
would .gitignore the autosaves - then
commit the scene file, same
filename.
Plenty more to think about
- what else to ignore - sysadmins always have this problem anyway and
end up writing huge exclusion lists.
Is it worth it? - i have no idea-
maybe not. I love the idea of
filenames becoming irrelevant ( like
Jeff Raskin proposed.) - and branch
names gaining importance ;)
Re:
performance:
Branching is instant. Commits took about twice as long as a
maya ascii save on 100Mb file. 50sec
commit / for 23sec maya save . Not
great, but it would happen in the
background and you wouldn't be waiting
for it.
Checkouts and switching to an
existing branch were significantly
faster than commits. ~5sec for 130Mb.
One benefit is that the
version you want to checkout will have
a detailed, and instantly accessible
description in the commit message -
not an arcane coded filename with a
number on the end. You will have a
record of everything you wanted to
say about each commit at the time it
was commited. The commit is not just
a file, but everything in the repo
that worked together to make up that
revision.
I think one of the biggest
negative points about using git for
this, is a problem of perception. Git models a directed
graph - like this
http://github.com/danielharan/integrity/network
. Its complicated but it is what it
is and its how people work and
collaborate - sometimes you just have
to branch off and experiment.
Sometimes you want to go back to
before the branch. The problem is
that artists and producers often don't
like looking at DAGs or even
admitting that that's what they are
working with. People like linear
single tracks.
Git is a great version control system, but part of it's success is probably due to Github with all its cool views and reporting etc. So its worth mentioning that you can get Github on your local network.