On Thu, 2008-06-05 at 14:23 -0700, Carl Witty wrote:
> On Jun 5, 1:10 pm, "Glenn H Tarbox, PhD" <[EMAIL PROTECTED]> wrote:
> > On Thu, 2008-06-05 at 12:41 -0700, Robert Bradshaw wrote:
> > > 1) Sage has a non-trivial build process for Cython files. When a .pyx  
> > > file is changed, the .c file needs to be regenerated, as well as .so  
> > > file. Changing a .pxd file can result in a cascade of .c/.so files  
> > > that need to be regenerated. Clones allow one to keep all these auto-
> > > generated files around without having to commit them or (potentially)  
> > > re-compiling every time one switches branches. This I think is the  
> > > main reason.
> >
> > This should all be manageable with proper directory organization or
> > build rules... as Sage progresses, a mechanism to understand that a
> > derived type to one system is a source type to another will need to
> > exist regardless.
> 
> The point is that we save time (potentially a lot of time) by having a
> separate build tree per clone.  Are you suggesting that we have a
> separate build tree per branch, instead?  How would that work... would
> the build system query the version control system for the current
> branch name?

I discussed this in my just sent post to Robert... and I'll look.  Seems
like a common repo should support multiple branches in subtrees (I'm
sure I saw something about this in the docs for one of these systems)
but I'll check.

> 
> As far as the second half of your response, I'm confused.  The build
> system already understands chains where the output of one step is the
> input to the next: the .so file is made from the .o file, which is
> made from the .c file, which is made from a variety of .pyx, .pxd,
> and .pxi files.  When we change a .pxi file, all the required
> rebuilding is done automatically (which may take 10 or 20 minutes for
> changes to "core" .pxi files, which is why we don't want to do it
> every time we change branches).

yea, as I said to Robert, the frequent branch toggle is a new one to me.
Typically, a developer branches, hacks, occasionally shelving, but
working through to local merge.  Maybe Sage development is different...
I really don't know.

> 
> > > 3) Clones are conceptually easier to understand and harder to mess up  
> > > (by, for example, doing working on one task without switching to the  
> > > right branch first). I am not saying that virtual branches are too  
> > > difficult for anyone to figure out, but clones are even easer for  
> > > getting started with the system.
> >
> > I'd counter by saying the need for symlinks more than offsets any
> > advantage and more often than not hides where you are anyway... when you
> > do a pwd after traversing a symlink it doesn't indicate the true
> > directory.
> 
> Are you talking about the sage -> sage-<NAME> symlink?  I'm never
> confused by it because I never use it; I always use sage-<NAME>
> directly.  We could probably figure out a way to avoid this symlink,
> if we decided it was a problem.

Yup, Robert brought up the same point...  and its perhaps only a problem
for me cuz I'm using PyDev which behaves poorly... its my problem and
will fix it... but it exposed things to me which seem "unnatural" and
upon further investigation got downright kinky... not that I'm not
flexible (I did move to Seattle but didn't get all the piercings just
yet :-)

OTOH, Sage does all kinds of things differently... and its amazing
(there's no system out there where you download a 200MB tarball and type
make... it just doesn't happen) so I'm a bit reluctant to mess around
all that much just yet...


> 
> > > 4) It's easier to abandon the history of a clone, both for hopelessly  
> > > broken development efforts and refereeing of other people's patches.
> >
> > git branch -D badbranch
> >
> > as opposed to the usual
> >
> > git merge developmentBranch
> > git branch -d developmentBranch
> >
> > (btw, I'm a git user... I'm sure there's something similar in Hg)
> 
> I don't think there is.  (I've looked.)

I'll take your word for it.... but there definitely should be... since
there isn't I'd posit that there is badness architecturally with Hg cuz
this issue must come up multiple times a day....

> 
> Carl
> > 
-- 
Glenn H. Tarbox, PhD || 206-494-0819 || [EMAIL PROTECTED]
"Don't worry about people stealing your ideas. If your ideas are any 
 good you'll have to ram them down peoples throats" -- Howard Aiken


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to