On Mar 1, 2012, at 4:49 PM, Keshav Kini wrote: > kcrisman <kcris...@gmail.com> writes: >> On Mar 1, 9:20 am, Keshav Kini <keshav.k...@gmail.com> wrote: >>> The main thing I want for Sage's development process is a push/pull >>> architecture of some kind. I don't mind if that ends up meaning that we >>> finally start using Mercurial in the way it was "meant" to be used, >> >> Using HG in this way has been a request for at least three or four >> years, and probably since when Sage switched from darcs to hg. >> >> Is doing all this stuff in Mercurial an option, especially for folks >> like sage-combinat who have spent a lot of time taking people who are >> *not* hard-core programmers, but want to do research math, up to speed >> in hg? This seems like a potential halfway point, assuming that there >> is a site which would want to host this all - Sage seems so huge, I'm >> kind of surprised even github would want to host it for free, though I >> guess it's GPL... > > I am very far from convinced that sage-combinat developers have been > learning anything substantial about *Mercurial*. Going by what I see on > the wiki pages about combinat, what a lot of time has been spent on is > taking people who are not hard-core programmers and teaching them how to > plant in and help to fertilize a colorful garden of *patch files*. > > Learning git will be about equal to learning "real" Mercurial in terms > of head-scratching required, in my estimation (though of course I could > be wrong). Furthermore I intend to write a script called > $SAGE_LOCAL/bin/sage-dev which will walk people through the process of > using git to work on Sage - basically a "wizard", asking yes/no > questions and soliciting input with ample explanatory text - which I > believe will be pretty intuitive and simple, though we'll see how true > that is once I set out concrete design goals and ask for feedback. > > For what it's worth, I have emailed the main sage-combinat developers a > little while ago and asked them for an overview of what I should keep in > mind when designing this SEP, so don't worry too much about > sage-combinat :) They will be kept informed at every step and included > in our planning discussions.
I'm not involved with sage-combinat so maybe this will be addressed in their work flow, but I have a question as to how one uses a version of sage with many patches applied. For example, lets say that while using Sage I have found 4 (unrelated) bugs, one of which has a fix on trac that is being reviewed (or whatever). Two of the others I fix myself and put up for review. With a queue-based approach it is entirely trivial to have an instance of sage running that includes any combination of these fixes that I can use to test or (perhaps more importantly) do my actual calculations and research. And at any point I can update any of the fixes and go right back to work. I assume (since it's git) that there is some magic that will let me specify N branches and then merge them into an unnamed branch that I can then use to build and run the version I'm interested in. Is this in fact possible? Or rather, how much more difficult will this be than using queues? -Ivan -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org