Fedora CVS to git migration

James Westby james.westby at canonical.com
Thu Dec 10 13:33:54 GMT 2009


Hi,

  http://jkeating.livejournal.com/76407.html

might be of interest to see a different approach.

It looks to me like they are taking a different approach.

  * Builds are currently done from CVS, with a tarball + patch files layout
  * That will be converted to git, as it has some benefits for the build
    system.
  * Developers won't directly interact with those git repos though.
  * Instead there will be a tool that takes the structure within, and provides
    a full-source representation of the content, i.e. it commits the contents
    of the tarball, then applies the patches on top in separate commits.
  * The tool can then do the reverse when you are finished to push to the
    build git repo.

Here are some initial comments:

  * Moving to git to help the build system sounds fine to me. Not a lot
    of win for the developers though probably.
  * The tool may be quicker to grab the source as there is no history,
    but it will require more work for small repos. It is also probably
    more fragile than "git clone". We have some of the same fragility
    though, and currently a developer can't do much about that. With
    the tool-based system they can put the bits together themself.
  * Downloading and unpacking the tarball then applying patches sounds
    rather like "apt-get source".
  * They seem to be relying on git's history editing functions for patch
    management. If you don't want a patch any more then you rebase it out.
  * The system may lead to you working with a disconnected VCS, rather than
    a distributed one. They may put the effort in to get parallel imports
    working, which negates some of that statement, but you don't get full
    history, so you can't merge someone's work on the older version
    directly. It sounds like a lot of things will be done by shovelling
    patch files around, but that's how people generally use git anyway.
  * You don't get very good help from annotate with this system.
  * There's no mention of merging with upstream VCSs, like we plan to do.
    It sounds like they will be working towards a system separate from
    upstreams, like we currently have, but plan to move beyond.

Thanks,

James



More information about the ubuntu-distributed-devel mailing list