Differences between revisions 4 and 17 (spanning 13 versions)
Revision 4 as of 2008-03-10 16:38:59
Size: 1079
Editor: jason
Comment:
Revision 17 as of 2019-03-31 14:34:19
Size: 271
Editor: chapoton
Comment: removal and link to git section of the developer guide
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Mercurial Queues == ||<#FF0000> '''WARNING''' (March 2019) ||
Line 3: Line 3:
 * Philosophy
 * Commands
   * qnew, qpop, qpush, qdelete, export
 * Example
 * Advanced usage
   * guards, merge, etc.
||<#00FF00>Sage is now using Git instead of Mercurial as a version control system.||
Line 10: Line 5:
See [http://hgbook.red-bean.com/hgbook.html], Chapters 12 and 13.

The mercurial bash completion script is at [http://www.cct.lsu.edu/~mkemp2/mercurial]

My mercurial queue workflow:

{{{
# cd into the repository
cd sage/devel/sage/


# initialize the queues. This only needs to be done once.
hg qinit



# cd into the directory I am working in
cd sage/graphs/

emacs graph.py # write my function, save the file

# The -e pops up an editor for me to enter a commit message
# The -f retroactively saves my changes as a patch
# (the changes visible in hg diff)

hg qnew -e -f mypatch.patch

# RUN THE DOCTESTS!!!

sage -b
sage -t graph.py

# Happily all the doctests pass :)

# Review the patch in diff format

hg qdiff

# Export the tip of the queue (the last patch)
hg export qtip > ~/mypatch.patch

# If I want the patch to be unapplied, pop it off of the stack

hg qpop

}}}
For up-to-date instructions, see the [[https://doc.sagemath.org/html/en/developer/index.html#git-for-sage-development|developer guide]].

WARNING (March 2019)

Sage is now using Git instead of Mercurial as a version control system.

For up-to-date instructions, see the developer guide.