== Accomplishments == * Programmatically add, edit tickets on trac * New trac installation * XML-RPC interface, doctests (authenticated and anonymous) * Gitolite server * web portals both through trac and gitweb * programatic authenticated and anonymous access * auto ssh-keys upload * Build system * Works on linux, OS X 10.6 * givaro/gcc issues on 10.7+ * Lots of work on portage system * also running into OS X errors * Sage combinat queue and mercurial queues import * Prototypical tool to automatically import a Mercurial queue into GIT. * Each patch/ticket is imported in its own branch, with dependencies handling (from appropriate annotations in the series file) * Most of the Sage-Combinat queue can imported into git * Sage Dev Scripts * Public interface design * Fleshed out docstrings, some testing * Preliminary implementation, integration with external trac/git services. * https://github.com/sagemath/sage-workflow * Patchbot * Pull patches from git branches on trac. * Update build, plugins, etc. to accommodate new directory structure (work in progress) * Other * New doctesting framework * Tweak export scripts * Created proof-of-concept flow to export Trac tickets and patches to github, mostly to prove that it is possible. * Bugfixes and ticket reviews in anticipation of git switch * [[http://trac.sagemath.org/sage_trac/ticket/13031|#13031]] * [[http://trac.sagemath.org/sage_trac/ticket/14384|#14384]] * [[http://trac.sagemath.org/sage_trac/ticket/6415|#6415]] * [[http://trac.sagemath.org/sage_trac/ticket/3355|#3355]] * [[http://trac.sagemath.org/sage_trac/ticket/14379|#14379]] * [[http://trac.sagemath.org/sage_trac/ticket/14377|#14377]] * [[http://trac.sagemath.org/sage_trac/ticket/14226|#14226]] * [[http://trac.sagemath.org/sage_trac/ticket/14376|#14376]] * [[http://trac.sagemath.org/sage_trac/ticket/14369|#14369]] * [[http://trac.sagemath.org/sage_trac/ticket/14331|#14331]] * [[http://trac.sagemath.org/sage_trac/ticket/14385|#14385]] * [[http://trac.sagemath.org/sage_trac/ticket/14316|#14316]] * [[http://trac.sagemath.org/sage_trac/ticket/14383|#14383]] * [[http://trac.sagemath.org/sage_trac/ticket/14328|#14328]] * ... * Organisation of [[http://wiki.sagemath.org/combinat/FPSAC13|Sage Days 49]] * Work on the [[http://sagebook.gforge.inria.fr/|French Sage book]] == Migration Plan == * Sage-5.9 will be last export to git * Simultaneous git/classic sdist, bdist * Sage-5.10[.betaX] merged/cherry picked/rebased atop stable Sage git repo * Tickets worked on in git will be (auto) exported to patches on trac * Last classic release * Sage-6.0 * Tickets worked on in hg will be imported into git * Release done from git master == Still to be done == === Necessary now === * Make the git version build on all of Sage's supported platforms * Finish writing, debugging and documenting the basic features in the development scripts. Command-line version. * Write functions in development scripts for exporting a patch to the old model. * Add features to our trac plugin (dependency-aware diff) and add our trac plugin to the standard trac server * Write documentation of the workflow for a Sage developer: one for people who know Sage's current workflow. * Write something to sage-devel about the plan * Git version of patchbot * Motivate the choice of GIT as DVCS. === Necessary before 6.0 === * Write hooks for gitolite and development scripts (whitespace, abandonment, pushing changes to trac, prohibit committing to master) * Switch to trac-info in repo model * Write doctests so that the development scripts can be included into the Sage library. * Add features to our trac plugin (updates to certain ticket fields are pushed to the branch) * Write documentation of the workflow for a Sage developer: one for newbies, one for people who are familiar with git. * Release process scripts === Desirable === * Write additional features for development scripts