[Zope-dev] the notion of a "next" in KGS
Martijn Faassen
faassen at startifact.com
Wed Apr 8 12:28:00 EDT 2009
Hi there,
During the post-Pycon sprint Hanno made me aware of a tool called
mr.developer. This tool allows you to easily turn a particular package
in your buildout into one you want to hack on, without you having to
know where to check it out from.
mr.developer has a concept of "next" (Plone-next). Given a release of
Plone, it needs to find out where the packages live in a version control
system, and whether the next version is the trunk or a branch.
During the Grok sprint in late january when z3c.recipe.compattest was
developed we ran into the same issue. We want to run compattests against
some released set of versions, but also against all development
versions. We took a shortcut there and just "guess" that all packages in
the Zope Framework live on svn.zope.org and are the trunks. This is
hardly ideal.
During the Pycon sprint Hanno also worked on a buildout recipe to draw
dependency graphs: z3c.recipe.depgraph. We want to be able to draw the
dependency graph of a selected set of versions, but we also want to be
able to draw the dependency graph of all development versions.
So we have three tools that need this concept. This implies to me we
need to expand the notion of KGS. (where I take it in the broad sense
where we are talking about a known good set of something; Zope 2, Zope
3, Zope Framework, Grok, etc).
The abstract notion of KGS currently is has these two fields (per
package part of the KGS):
[pypi package name] [version]
If we are to expand this with a "next" notion, it would become like this:
[pypi package name] [version] [svn URL]
The svn url contains full information about where to check out the next
version of the package. If we want to support alternate version control
systems, we'd need to expand that, though I hope that all alternate
version control systems have a notion of a URL to point to a version.
Once we have this extra information, we can publish it. Currently KGS
exports the known versions list as a buildout versions section
compatible list. We can't put the SVN URL in there. But we could also
export another file per KGS release that contained the package name and
the SVN URL. I believe mr.developer takes that kind of information. Once
we have that, we can then adjust our tools to make use of this extra
information.
Opinions? People who want to implement this?
Regards,
Martijn
More information about the Zope-Dev
mailing list