Hey all! It's that time again, we're gearing up to branch for Fedora 14 this coming Tuesday! There is a major twist this time around, we're going to attempt a roll out of dist-git!
Dist-git is our replacement for the CVS system we are currently using. This is a pretty big deal, but we're going to try to make it as smooth as possible. In the next few days I'll be finalizing our git server setup and polishing up the user interface tool you all will be using to interact with the source control and build system.
The conversion will take a couple days, which means our normal short outage for branching will be a bit extended. I wish there was another way, but converting over 9K cvs repos into git repos does take some time. I really feel that this move is worth the extended outage.
The tool you all will use to interact with git and the buildsystem is called "fedpkg". It comes from the fedora-packager package. There is a version of it available now in all active Fedora and EPEL releases, although it is built to work against our staging environment where we have been testing the setup for a while. This setup is slightly different than the final version, but you can install it and poke around the help system to get a feel for what's going on. Most of the make targets have made it over and are named the same; build, sources, srpm, etc... Many of the targets can take arguments and options. Where the make system used shell variables, fedpkg uses options and arguments. Each target takes a --help argument that will show any available options. Fedpkg does not yet have a man page, that may be coming soon.
We're also going to be working on wiki pages to document the new stuff and archive the old stuff. We're going to need help on this too, so if you want to pitch in, by all means!
As I mentioned above, this is an attempt. We are trying this pretty early, which I wouldn't normally do. However we have a good roll back plan. We are going to keep the CVS server as is, although turned read-only during and after the dist-git rollout. If something fails beyond reasonable repair with the dist-git attempt we will re-enable write access to the CVS server (after we branch it for Fedora 14). Otherwise we will keep it around, in some capacity, as a read-only reference point.
I'm certain we will run into some bumps along the way, and some wrinkles to iron out. I ask that you are patient with us as we work through these, and as we either get updates pushed out of fedpkg or make adjustments to the git repos on the git server. This transition has been a long time coming, and I'm really happy to be the one to make it happen. Keep in mind that this will be the first iteration of our transition, and it will operate mostly the same as dist-cvs did with a few improvements. Later on we will start to explore more interesting advancements such as automatic patch management with exploded sources, linking to upstream source repositories, automatic %changelog generation from git changelogs, or things I haven't even thought about. Most of all, we won't be using CVS any more and that feels really good to me.
If you're curious about how the new system will work or have concerns, or want to help, you can reply to this email thread or find me on IRC as "Oxf13" (that's an o, not a zero). If you run across bugs in fedpkg, you can file them in the fedora-packager hosted trac space https://fedorahosted.org/fedora-packager/ or just find me on IRC as well.
Thanks again for your patience, both in waiting so long for us to make this move, and for bearing with us during the transition.
devel-announce@lists.fedoraproject.org