On 12/29/2013 05:23 PM, Martin R wrote:
Hm, does "git checkout" touch stdsage.pxi?  Thus, even if I go to a
different branch with "git checkout" by accident, I have to recompile?

Also, is there a way to create a "snapshot" of a build.  Namely (I was
slightly imprecise), I tried

git checkout master
./sage

to see whether it would come up with the "clean" version of sage, i.e.,
without the ticket applied.  (It doesn't...)

Many many thanks,

Martin


It won't because the git repo tracks only the source files, not the compiled and installed files. So, once you checkout master you should rebuild sage so that it compiles and installs the updated source files.

The following are my observations on working with the git dev process. Ideally, if you are doing sage development

1. Avoid going to master. Because there will potentially be too many changes between master and the ticket in the later stages of the release process (rc's).

2. Try staying on develop branch. If you checkout a ticket, and the ticket is not based off the latest develop branch, then merge the develop branch into your local copy:

$ git fetch origin          # get the latest changes from upstream
$ sage --dev checkout --ticket <number>   # get the ticket patches
$ git merge origin/develop  # merge the latest changes from develop
$ sage -b                   # assuming the only changes are in sage lib

There are two things I am not sure about:

i) how will this affect the ticket if you push some revision into the ticket at some later stage? Till now I have not pushed anything to the ticket if there is already a different author.

ii) what is the correct command to use instead of 'sage -b' if there are updates to libraries other than sage? I think the correct command should be 'sage -upgrade'. If so, the following command should be run instead of "git fetch origin" as a first step:
$ sage -upgrade develop

3. Try to enable ccache, but note that this will take up a lot of disk space (iirc, about 4G in ~/.ccache). To do so, install sage with SAGE_INSTALL_CCACHE="yes". This way when you make major branch changes, for instance between master and develop, the amount of compilation will be less, and it will also be faster.

Two things I am not sure about here

  i) how we should enable ccache retroactively?

ii) is ccache automatically used if it is installed? Or, should we permanently set the environment variable SAGE_INSTALL_CCACHE in our ${SHELL}rc?

 - basu.

--
You received this message because you are subscribed to the Google Groups 
"sage-git" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to