A DVCS migration howto

This is a consequence of my recent adventures in repository conversion – a detailed discussion of how to do a high-quality lift of a CVS or Subversion repo to DVCS-land, how to make both git and hg users happy, and what sorts of good practices to teach to keep things tidy.


  1. Any advice for a project which includes lots of media assets (images and sound files) encoded in compressed formats, and a long history of modifying those assets? Putting the entire commit history in a DVCS would lead to impractically vast download times. Is there a standard and convenient way to put only the source code into a DVCS and everything else into a centralized VCS, without making the install process too user-unfriendly? (We try to actively court beta-testers.)

  2. @Max E

    Search for git-annex, or search “git or bzr or hg” and “binary files” or “big files”

    Solutions for your exact use case where developed around those dvcs, i know they exist i just don’t have the links at hand.

  3. Wrt. Step 2, svn->git: would it be better to use `git tag` where possible, rather than direct file manipulations? I’m thinking about what happens if something goes wrong.

Leave a comment

Your email address will not be published. Required fields are marked *