Creating a very simple revision system for photos in python

T

Thomas W

I`m thinking about creating a very simple revision system for photos
in python, something like bazaar, mercurial or git, but for photos.
The problem is that handling large binary files compared to plain text
files are quite different. Has anybody done something like this or
have any thoughts about it, I`d be very grateful. If something like
mercurial or git could be used and/or extended/customized that would
be even better.

We are talking about large numbers of photos and some of them are
large in size as well, but the functionality does not have to be a
full fledged revision system, just handle checking out, checking in,
handling conflicts, rollbacks etc, preferrably without storing
complete copies of the files in question for every operation.

Thanks for any input. :)
 
C

Chris Hulan

I`m thinking about creating a very simple revision system for photos
in python, something like bazaar, mercurial or git, but for photos.
The problem is that handling large binary files compared to plain text
files are quite different. Has anybody done something like this or
have any thoughts about it, I`d be very grateful. If something like
mercurial or git could be used and/or extended/customized that would
be even better.

We are talking about large numbers of photos and some of them are
large in size as well, but the functionality does not have to be a
full fledged revision system, just handle checking out, checking in,
handling conflicts, rollbacks etc, preferrably without storing
complete copies of the files in question for every operation.

Thanks for any input. :)

Most traditional revision systems excel at managing text, but suck at
binary.
I recall that Picassa has a revision system

It occurs to me you could use Uuencoding to make binaries more
amendable to
handling by text-oriented revision systems
 
T

Tim Golden

Most traditional revision systems excel at managing text, but suck at
binary.
I recall that Picassa has a revision system

It occurs to me you could use Uuencoding to make binaries more
amendable to
handling by text-oriented revision systems

I'm not sure there's much point in doing that. Certainly Subversion,
and I imagine the other main RCS, handle binary data perfectly well;
I mean, they don't stop when they come across a NUL byte or anything
like that. You can't do much with the result except retrieve it, but
I'm not sure that uuencodeing (or any other encoding) adds anything
there, either.

FWIW TortoiseSvn offers an image-diff utility which superimposes the
two versions of an image with an alpha blend (if that's what it's
called). It's basically the electronic equivalent of holding two
sheets of paper up to the light. Don't know if this helps the OP,
mind you.

TJG
 
T

Thomas W

I'm not sure there's much point in doing that. Certainly Subversion,
and I imagine the other main RCS, handle binary data perfectly well;
I mean, they don't stop when they come across a NUL byte or anything
like that. You can't do much with the result except retrieve it, but
I'm not sure that uuencodeing (or any other encoding) adds anything
there, either.

FWIW TortoiseSvn offers an image-diff utility which superimposes the
two versions of an image with an alpha blend (if that's what it's
called). It's basically the electronic equivalent of holding two
sheets of paper up to the light. Don't know if this helps the OP,
mind you.

TJG

Hmm ... encoding my photos using uuencoding will just eat up space, it
adds about 40% or so ( if I remember correctly ) to the total size of
the encoded file, a file which may allready be 10+ MB. That`s the
problem using git and friends as well; it creates full copies of the
files and that`s part of the thing I want to avoid, if possible.

Sounds like this is a task for more experienced users than me, but I`m
gonna take a stab at it anyway, allthough my ideas for a solution is
pretty basic and simple.

Anyway, thanks a lot for your input :)

Thomas
 
J

John Nagle

I`m thinking about creating a very simple revision system for photos
in python, something like bazaar, mercurial or git, but for photos.
The problem is that handling large binary files compared to plain text
files are quite different. Has anybody done something like this or
have any thoughts about it, I`d be very grateful. If something like
mercurial or git could be used and/or extended/customized that would
be even better.

Alienbrain (http://www.alienbrain.com/) does this. That's
what game companies use for revision control, where data includes
images, motion capture files, game levels, and music, as well as
code. There's also Autodesk Vault, which does a similar job for
engineering data.

One key to doing this well is the ability to talk about a
group of revisions across multiple files as an entity, without
having to be the owner of those files. You need to say what
goes into a build of a game, or a revision of a manufactured
product.

You also need really good tools to show the differences
between revisions.

John Nagle
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,048
Latest member
verona

Latest Threads

Top