Future SCM Technology

Jeffrey C. Ollie jeff at ocjtech.us
Wed Jun 6 20:37:33 UTC 2007


On Wed, 2007-06-06 at 15:01 -0400, Jesse Keating wrote:
> On Wednesday 06 June 2007 13:16:07 Jeffrey C. Ollie wrote:
> > It's F7+5 and F8T1-57 (yes, less than two months until F8T1 under the
> > current schedule[1]).  If we are going to replace CVS[2] with another
> > SCM for hosting the Fedora Package Repository we need to get started
> > now!  And to get things started, we need to discuss what kinds of
> > workflow we want our new SCM to support.
> 
> As stated on Fedora Infrastructure List I firmly believe that this is not 
> something we can do by F8 release.  This is something we need to discuss and 
> strawman and put up proof of concepts and get more people thinking on it 
> during the F8 cycle and try to implement during the F9 cycle if possible.

This post was mainly meant to get the discussion started.  After having
read some of the discussions on the Infrastructure list I think that you
are right - major changes to the packager workflow should be held off
until post F8.  However, some of the discussions on the Infratrusture
list talked about some radical shifts (that I'm in favor of) from the
RPM philosophy of "pristine tarballs plus patches" that I think moving
wholesale to a different workflow by F9 may be difficult.

However, I think that a two-pronged approach is possible:

1) Convert the CVS repository to a new SCM in such a way that the
packager workflow is impacted as little as possible.  Much of the detail
of using CVS to maintain packages is hidden from the package maintainer
anyway (all you really need to know right now is "cvs co", "cvs up", and
"cvs ci").  Some changes to Koji would be necessary behind the scenes
but they would be transparent to the packager, and would be necessary
for a new workflow as well.

This conversion would largely be automatic... Several people have
converted portions of the CVS repository into other SCMs (I know Git,
Mercurial, and Subversion conversions have been done) and I've converted
the whole repository (yes, all 4500+ packages) to Git.

Perhaps this step could be skipped, but the more I learn about CVS the
more I want to move away from it yesterday.  

2) In parallel, another repository would be set up to handle "new style"
packaging (whatever "new style" ends up meaning).  Post F8, when a
package is ready in the new-style repository an entry would be made in
the package database and Koji would stop accepting build requests from
the old-style repository for that package and would begin using the
new-style repository.  F9 would be built from both old-style and
new-style packages.  By F10 all packages would be converted to the
new-style packages.

Jeff

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://listman.redhat.com/archives/fedora-devel-list/attachments/20070606/1f829d3e/attachment.sig>


More information about the fedora-devel-list mailing list