1

I want to keep delta of files (MS Office/pdf/flash/images) when I upload my file to my local repo to store the files. You can imagine this in-house box.net or dropbox for my local usage.

Are there any open source tools to just store diff of file and regenerate files on based of that ?

Lets say I upload file.doc (version 1) and then I make some changes in file and upload again file.doc ( version 2). Now I can save whole file again or just simple save delta of two files. And when I access version 2 of file, I take that delta and apply on version 1 and show user version 2.

The whole purpose of this in-house project is to save some space.

I am looking for some open source tools that can help me achieve this purpose.

Alexis Pigeon
  • 7,423
  • 11
  • 39
  • 44
user1631667
  • 51
  • 1
  • 3
  • 1
    Both Git and Hg use deltas .. not necessarily appropriate for Binary data (e.g. Images or Video), but they both work good on Text (e.g. XML-based document files). A c-VCS such as Svn can work better on such Binary files .. (And I have used it quite successfully as such although I do not use SVN for code.) –  Aug 28 '12 at 23:22
  • Regarding space vs time, see http://stackoverflow.com/a/10807564/23118. – hlovdal Aug 29 '12 at 20:02

1 Answers1

3

Most version control software works basically this way. Some keep the original intact and also store the diffs to create the most recent version; some keep the most recent version intact, and also store the diffs to create the original.

All of them "work" with binary files, for suitable values of "work". (The deltas between binary files can be as big as the original.)

You might try to google "version control of binary files", or see this SO question.

Community
  • 1
  • 1
Mike Sherrill 'Cat Recall'
  • 91,602
  • 17
  • 122
  • 185