On Tue, 09 Jan 2007 04:41:00 -0800, David R. Kohel <[EMAIL PROTECTED]> wrote:

> Hi William,
>
> I was just wondering what was the best way to manage sage/devel/sage
> and Mercurial repositories.  It seems that (unchanged) sage/devel/sage
> files are not updated with sage -update which, I think, is the source
> of some of my difficulties.  I'm currently creating files in sage/crypto
> and sage/monoid but other directies like perm_gps and graphs do not
> get updated.

That's correct.  sage/devel/sage-main is only updated by doing hg_sage.pull().
That is done by sage -upgrade, and is done when the sage-1.5.3 (say) 
spkg-install
is run.  But if you have no net access when doing the actual upgrade, the
pull won't happen.   (I'm not convinced this setup isn't wrong though.)

> Do you frequently do hg_sage.clone('scratch_2007.01.09a'), commit, exit,
> and do hg_sage.pull('scratch_2007.01.09a') from the main dist?  As I
> switch between computers I would like to keep them in sync, using hg if
> possible.
>
> I'm also wondering how to manage local development, synchronized against
> echidna in Sydney, while making periodic updates to sage in Washington.

Periodicially do hg_sage.send('filename'), and make the resulting bundle
available.  Another option would be to setup a cgi-bin script like this
one:
   http://sage.math.washington.edu/sage/hg/
Then I can pull your code directly from there, and you can push your
code there over ssh from anywhere using this command:

   hg push -f ssh://[EMAIL PROTECTED]/www/sage/hg/sage-main

See /home/was/www/sage/hg on sage.math for the cgi-bin script.
I also had to make a change to /etc/apache2/apache2.conf/.

> Any suggestions?

You should read whatever useful you can find on the mercurial website,
so that you understand mercurial well.  There's even some documentation
on mercurial in the SAGE programming guide.

I rarely use hg_sage.clone, except when definitely needed, e.g., to go
back to a revision from awhile ago, or when testing some crazy code.

When on one SAGE install I'm happy with what is there and what to push
it out, I typically do hg_sage.send('bundlename'), then take the
corresponding file bundlename.bundle and apply it to my
"master repository".  Then anybody else can pull it using hg_sage.pull().
But anybody can also just do hg_sage.apply('bundlename.bundle') with
that bundle file if they want to update the SAGE to by like mine.

Please ask again if what I've written above is confusing.  Distributed
revision control systems are often frustrating and counterintuitive,
and mercurial is more so than darcs (in my opinion).  However, it is
vastly more robust and scales to huge project very very well (unlike darcs),
and is extremely fast.

------

Do you plan to type up notes for your crypto course?  Since they will
use SAGE a lot, this could be a really useful document for people
wanting to get started with SAGE.

William

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@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-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to