On Thu, Feb 9, 2012 at 01:45, William Stein <wst...@gmail.com> wrote:
> On Tue, Feb 7, 2012 at 9:57 PM, Keshav Kini <keshav.k...@gmail.com> wrote:
>> My $0.02.
>
> I disagree with what you wrote above.  Perhaps you have a different
> impression than me of how Mercurial is used, given the relative sizes
> of our contributions to the Sage library.
>
> deep:hilbert wstein$ hg log|grep -i keshav|wc -l
>       9
> deep:hilbert wstein$ hg log|grep -i wstein|wc -l
>    5368

Zing! Indeed, I talk too much and walk too little :) Hopefully this
will change as I gain more practical experience, and critically in the
case of the Sage library, more knowledge of mathematics...

> This strikes me as hyperbole: "We currently get zero benefit from
> using a distributed version control system."

OK, you're right, that's a bit of an exaggeration, even in the context
of benefit to collaboration. Certainly there are many local benefits
of using Mercurial over, say, Subversion for our source control, chief
among which I would count the ability to quickly make clones, or to
even ship a repository in our source distribution (and even our binary
distribution!) at all. This latter is important since it allows users
to revert code to a known good state, and just generally keep track of
their own code, I guess.

Even when collaborating with others, there are some advantages of
using Mercurial over using nothing at all, such as the ability to
easily create patches against released code without needing to keep a
vanilla code directory alongside your sandbox directory... as is
nevertheless a practice suggested, strangely enough, to new developers
both by the developer's guide and tacitly by the fact that the concept
of "Sage branches" (no relation to Mercurial "named branches" or git
"topic branches") is so pervasive in Sage's scripts.

I guess the main reason for "Sage branches" is to avoid needless
Cython recompilations that happen when you push and pop patches on
your queue a lot in one "Sage branch". I hope this can be fixed in the
future, perhaps by building VCS revision names into files generated by
Cython, and loading them using symlinks, or something like that, but
in any case I doubt a new developer will be modifying code that will
result in huge Cython passes... or is that another misconception?

But in any case it is still true that we could be getting a lot more
benefit out of distributed version control than we currently are, IMO,
by ditching patches and using the history tree for live development
rather than as a dead changelog.

> That said, picking apart what you write would be counterproductive,
> because I greatly appreciate that you are so motivated to help us with
> transitioning to more efficient workflows, git, etc., and I sort of
> want you to continue to believe what you wrote even if it isn't
> technically 100% true. :-).

I would like to avoid being a mindless zealot if at all possible :)
But I'll defer to your judgment on the matter, haha.

-Keshav

----
Join us in #sagemath on irc.freenode.net !

-- 
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

Reply via email to