If I checkout an old branch (say, from one or two versions of Sage ago), it
essentially forces a rebuild of all of Sage, even if I think better of it
and checkout develop immediately.  The rebuild is a consequence of the fact
that Cython builds based on timestamp and all of the files have been
touched.

I'd like to solicit ideas to make this less painful.  Here's one, based on
a conversation with Julian RĂ¼th.

Create a new git trac subcommand to replace `git trac checkout 1234`, say
`git trac old 1234`.  This would fetch the branch, check it out into a
completely separate folder within ($SAGE_ROOT/merge_tree or something),
merge in develop.  If the merge is successful, create a new branch and pull
the changes in.  This ends up with only a few files changing if you started
at develop.  If the merge is not successful, report to the user and ask
them to fix the merge in
$SAGE_ROOT/merge_tree.  There would then be some way to resume and pull in
the changes.

There are some details to fill in, but I think that an approach like this
can work.  It does mean having another 100MB working tree floating around
just for merging into, and also stepping a bit further away from normal git
practices.

Any other ideas?
David

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to