I am not familiar with the file format used in HDF5, but I am wondering if HDF5 files are suitable for revision control with git (or for example Mercurial or Subversion)? I guess what I mean is: are HDF5 files suitable for line-based diff'ing or will git have to treat an HDF5 as one big binary and store an entire copy for each revision?
You're going to get a much better answer if you provide a few more technical details about what kind of data you're trying to put under version control, how you want to store different versions of the data, what components are likely to change and what components aren't, and whether you're truly going to have tree-like history (branches, merges).
HDF5 files are not suitable for diff-based version control under git.
git uses a hash-based database under the hood, so it is possible to store the hash of your HDF5 data file without actually storing the file itself. Three projects, git-fat, git-annex and git-media, greatly simplify this process for you. I would suggest using this approach if you have large, completely independent chunks of data which you would like to explicitly version.
If you can separate your data storage into non-volatile and volatile regions, this will greatly improve the efficiency of your interaction with the version control database. You may also want to consider explicitly using a database for your data if you do not need the DVCS features git offers.
I guess what I mean is: are HDF5 files suitable for line-based diff'ing or will git have to treat an HDF5 as one big binary and store an entire copy for each revision?
The literal answer to this question is that git will not treat HDF5 files efficiently.
For more useful answers about version control for projects that have some binary files, see this stackoverflow question: https://stackoverflow.com/questions/540535/managing-large-binary-files-with-git
As others said, it would be easier to make useful suggestions if you described your overall goal rather than a precise technical point. Here is one more suggestion that might help you, depending on what your goal is.
The ActivePapers project (http://www.activepapers.org/) provides a code and data management system on top of HDF5. An ActivePaper is an HDF5 file that contains datasets AND the code that works on them, with metadata keeping track of which piece of code computed which dataset and using which input data. In combination with version control on source code and/or version control on the whole HDF5 file (using tools such as git-annex, mentioned in another reply), ActivePapers can be used for versioning computations rather than isolated files or datasets.
Disclaimer: I am the author of ActivePapers.