On Thu, Jan 23, 2014 at 5:22 PM, kcrisman <[email protected]> wrote:

>
>>> By including another parameter "&id2=..." or perhaps "&h=..." or
>> "&b=..." it should be possible to specify the state relative to which you
>> want to see the diff. It should in principle be possible to paste in the
>> hash of the #15107 commit somewhere and get the diff relative to that. I
>> think we had that option before, but I cannot see it now
>>
>
> Agreed, this would be useful.
>
> Here is the log of my first attempt at reviewing with git.  I don't know
> but that it might help with documenting what to do.
>
> $ cd Downloads/
> $ git clone git://github.com/sagemath/sage.git
> Cloning into 'sage'...
> remote: Reusing existing pack: 200480, done.
> remote: Total 200480 (delta 0), reused 0 (delta 0)
> Receiving objects: 100% (200480/200480), 58.29 MiB | 91 KiB/s, done.
> Resolving deltas: 100% (133590/133590), done.
> Checking out files: 100% (3926/3926), done.
> $ cd sage
> $ export MAKE="make -j3"
> $ make
> <lots of new messages early on, including downloads of mpir - I was not
> expecting to need to be on the internet to build Sage, just to download the
> source>
>

The Sage repository should not contain binary files nor non-sage specific
source code, so
naturally cloning the sage repository would not include compressed tarballs
of upstream
code. There are two ways to get a copy of sage with these files (so you can
do an offline
build): either use the source distribution that you find on sagemath
website, or run the
`make download` after cloning the source. These should both be documented
(they might
already be, but I don't know).

Elapsed time: 240.4 seconds.
> Done building the documentation!
> $ ./sage
> ┌────────────────────────────────────────────────────────────────────┐
> │ Sage Version 6.0, Release Date: 2013-12-17                         │
> │ Type "notebook()" for the browser-based notebook interface.        │
> │ Type "help()" for help.                                            │
> └────────────────────────────────────────────────────────────────────┘
> sage: dev.checkout?
> sage: 2+2
> 4
> sage: exit
> Exiting Sage (CPU time 0m0.46s, Wall time 1m38.05s).
> $ ./sage -dev checkout --ticket 15693
> Trac username: kcrisman
> #  Your trac username has been written to a configuration file for future
> #  sessions. To reset your username, use "dev.trac.reset_username()".
> On ticket #15693 with associated local branch "ticket/15693".
>
> #  Use "sage --dev merge" to include another ticket/branch.
> #  Use "sage --dev commit" to save changes into a new commit.
> $ ./sage -dev diff
> $ ./sage -dev log
> usage: sage-dev [-h] subcommand ...
>
> Note that, other than implied by
> http://sagemath.org/doc/developer/walk_through.html#reviewing there is no
> diff of the branch I just checked out, and further there is no apparent
> equivalent to hg/git log.  I know it worked, though, because
>
> $ git log
> commit 39a19781a1c59a99afde43171117eea804541cac
> Author: Punarbasu Purkayastha <[email protected]>
> Date:   Thu Jan 23 23:41:20 2014 +0800
>
>     Remove simplify_radical from documentation of simplify_full
>
> Resuming my attempt:
>
> $ ./sage -b
> <many minutes of Cythonizing>
>
> ????  Didn't I JUST BUILD SAGE?  Note that the ticket in question touches
> one .pyx file and doesn't even change any code - it's a nearly trivial
> documentation fix.
>

You just built Sage 6.0, although for the ticket in question, it was based
off 6.1.beta5, so you will have
to compile any changes between 6.0 and 6.1.beta5 in addition to the nearly
trivial documentation
fix. I agree that this can be a pain when jumping around between a lot of
tickets, however using ccache
and cycache can alleviate a lot of the pain (it will not really fix this
particular rebuild, since you hadn't
ever built 6.1.beta5 before -- it would help you once you jump back to
running 6.0).

One thing to note is that for most people who want to develop, you will
almost certainly want to download
the latest beta, but the default action when you clone the sage repository
is to get the latest stable
release (this could be trivially changed, but it is certainly worth some
discussion [but not on this thread]).

I really just followed the guide (well, I followed Volker's instructions
> somewhere, because there is no mention of git in the installation guide)
> and this is not encouraging.  And obviously the huge work by Andrew, David,
> et al. has been very good overall, because a lot of people are very
> successful with it.  But perhaps at the very least this thread can be a
> place to collate suggestions for improving the developer and install manual
> so that it is, to paraphrase David Joyner, ridiculously easy to develop.
>
> Oh, and it's not clear to me from
> http://sagemath.org/doc/developer/walk_through.html#reviewing what to do
> when I'm *done* reviewing!  I guess one "checks out master" but that is
> just something I sort of got through osmosis and I don't know if it's
> right, nor the sage -dev syntax for this.
>
> $ ./sage -dev checkout master
> usage: sage-dev [-h] subcommand ...
> sage-dev: error: unrecognized arguments: master
> $ ./sage -dev checkout
> at least one of ticket or branch must be specified.
>
> Oops.  At least I could review one ticket.
>
> Final curiosity and remark that a lot is positive:  I seem to create a
> "Modified" field when I comment using sage -dev, but not with the web
> interface.  Any reason for this?  Anyway, I am already a BIG FAN of the
> ability to interact with Trac from the command line, this is a very
> positive thing and I will be trumpeting it when I next get the chance to
> teach Sage development.  Next up: trivial pull requests creating Trac
> tickets from a web interface like on Github... only please please don't
> move to Github.
>
> - kcrisman
>
> --
> 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 [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/groups/opt_out.
>



-- 
Andrew

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to