For a while now, I've been maintaining a git conversion of the
Fedora CVS tree, pulling in a copy of the CVS tree via rsync, and
running some local scripts to convert that to git, incrementally
updating the git tree as commits are made to the CVS tree.
(For more background info, see here:)
I think most of the issues with the conversion have been worked
out, and I'd like to make this available to the World in some way.
I was wondering whether it makes sense to host something like this
on Fedora infrastructure.
Note that this is _not_ a proposal to replace CVS by git.
The git tree is currently a read-only (slave) version of the CVS
tree, and I expect it to stay that way for some time. But even though
Fedora isn't switching VCSes at this point, I think it would still
make sense to have git/hg/random-other-VCS conversions of the Fedora
CVS tree publically available, for a number of reasons:
- Give package maintainers the option of working with their favorite
VCS for local development (while continuing to use CVS when
committing things upstream.)
- All the advantages of other version control systems over CVS, e.g.:
- Give people the opportunity to pull a local copy of the entire
tree or parts of the tree for local browsing of packages and
their history without having to go through the server (CVS
doesn't support this, although you _could_ just rsync the
entire CVS tree to your local machine...)
- Allow stacking commits, reverting commits, merging commits,
splitting commits, reordering commits, etc., before the changes
are pushed into the CVS tree and become final.
- Allow easy maintaining of local branches of packages.
What would be needed to host this on Fedora infrastructure:
- Some disk space. The size of the converted git tree is about 725
megabytes after packing, but for experimenting it would be good to
have a bit more space available, say, 10G or so.
- Open ports. For browsing the git tree via the web, port 80 access
would be needed, and for allowing people to clone the tree over
git://, port 9418 access would be useful.
- Read-only access to the ,v files in the CVS tree, say, over NFS.
This sounds like something we could do, but I don't think we should do
it. For one, after we move the hosted stuff away from cvs-int, that box
will get a complete makover and one that, as far as I can tell, won't
include git. I'm not sure what problem this solves really.
If there is a real need in Fedora to use git, why not just put together
a proposal for migrating cvs to git? Lots of people have tried this,
its not an easy task. But adding an additional SCM for GIT which is
JUST a copy of what's in CVS sounds like a waste of our resources. Why
not also do SVN, BZR and Mercurial?