At the upcoming FUDCon I plan to hold a session or two regarding
requirements and discussions about the future of our package source
control. This is NOT a time to argue about one SCM being "better" than
another. I don't really want to hear any SCM names at all, rather I'm
interested purely in only what we require and what we'd like out of our
package source control. I'm sending this mail to get people thinking
about it, and to give the people who won't be at FUDCon a chance at
dropping their thoughts in.
To get the ball rolling, here are a few of my requirements:
Be able to track patches separately from the upstream source so that
source rpms can easily be created.
Be able to have a continuous development "branch"
Be able to create release "branches" for doing updates for existing
Fedora releases. Release "branches" should inherit history of the repo
up until the release happened.
Be able to re-create source rpm used to generate any shipped build at
any time later, including same version of any helper scripts or metadata
used.
Be able to checkout only a given package and not the entire package tree
Be able to support fine grained enough rights down to different release
"branches" of a given package
be able to be queried and pulled from anonymously (by the buildsystem,
by the web, etc.
Be able to trigger scripts such as pre/post commit
be able to reliably disseminate commits as they happen to a selected
group of people (per package & branch)
Be useful for offline development
Cheap "branches"
Consistency across all modules for scripted actions like rebuilds
easy between-branch merging for those who like to ship the same source
rpm everywhere
ideally, not rely on magic 'branch' files for the build & tag-fu to work
I'll be gathering feedback over the next few days and putting them into
a not as of yet created wiki page.
Thank you all for your thoughtful consideration.
--
Jesse Keating
Fedora -- Freedom² is a feature!

Attachment:
signature.ascDescription: This is a digitally signed message part