#11121: Set up good defaults for sage's mercurial
---------------------------+------------------------------------------------
   Reporter:  kini         |       Owner:  tbd                          
       Type:  enhancement  |      Status:  needs_work                   
   Priority:  major        |   Milestone:  sage-4.7                     
  Component:  packages     |    Keywords:  mercurial, git, diff, patches
     Author:               |    Upstream:  N/A                          
   Reviewer:               |      Merged:                               
Work_issues:               |  
---------------------------+------------------------------------------------

Comment(by kini):

 John, thanks for your comments, and your fast work on #11142! I agree with
 you that most of the defaults set in my patch are just personal
 preference, but I did try to add all extensions that seemed relevant. Let
 me go down the list:

  * `users = $USER` is put there on the assumption that whoever is
 installing the mercurial SPKG will also be the owner of the files in the
 sage installation. All the other patches are applied towards creating
 .hgrc files in [repository root]`/.hg/hgrc`, which is not parsed when
 using mercurial unless the file is either owned by the same person as the
 person who is invoking `hg`, or the owner of [repository root]`/.hg/hgrc`
 is listed as a trusted user in some other hgrc file which HAS been read
 (such as this one, `$SAGE_ROOT/local/etc/mercurial/hgrc`.
  * `git = true` was the original point of this ticket :)
  * Prepending `hgext.` is apparently unnecessary in newer versions of
 Mercurial, says `#mercurial` on freenode. I was even invited to submit a
 patch to the man page for hgrc...
   * `color` is nice on the commandline.
   * `graphlog` is indispensable (imho) for seeing what exactly is going on
 with the history of a particular mercurial repository.
   * `mq` is of course useful.
   * `pager` is useful.
   * `progress` is not really necessary - if it interferes with the
 notebook I guess it's better to get rid of it.
   * `purge` is not all that important, but since it only adds a new
 command it shouldn't screw up anything else.
   * `rebase` is great for rebasing mq patches on new versions of sage,
 something I'll need in order to fix #10988, I think.
   * `record` is useful.
   * `relink` seems nice for people who use `sage -clone`, though I don't
 use either myself.
   * `transplant` seems to be useful in some way, but I've never used it
 either (maybe not that great of an idea to include, then.)
  * The suggestions for parameters to `less` given on the Mercurial wiki
 are also a matter of personal preference. By default, `less` doesn't leave
 anything in the terminal after it exits (it restores whatever was on the
 screen before you called it), but the `X` option disables this behavior.
 The `F` option also disables this behavior, in a sense, by acting like
 `cat` when the screen is large enough to take the entire output. The `S`
 option truncates long lines instead of wrapping them. The `R` option
 (which is in my patch) displays (ANSI) terminal color codes. My preference
 is still to just keep `R` of these four, but whoever wrote the Mercurial
 wiki article disagrees. It's not really possible to be that objective
 about this, I think...

 I'll go take a look at #11142.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11121#comment:21>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to