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