Mercurial > hgbook
changeset 11:e9d5b4c3d16b
First SVG image!
author | Bryan O'Sullivan <bos@serpentine.com> |
---|---|
date | Thu, 29 Jun 2006 00:32:35 -0700 |
parents | d450d67ecc82 |
children | 1f692024d438 |
files | .hgignore en/00book.tex en/99defs.tex en/Makefile en/mq-stack.svg en/mq.tex |
diffstat | 6 files changed, 177 insertions(+), 177 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgignore Wed Jun 28 20:29:21 2006 -0700 +++ b/.hgignore Thu Jun 29 00:32:35 2006 -0700 @@ -3,9 +3,6 @@ syntax: glob -.run -.*.swp -*~ *.aux *.bbl *.bib @@ -15,6 +12,10 @@ *.lo[fgt] *.out *.pdf +*.png *.tmp *.toc *.xref +*~ +.*.swp +.run
--- a/en/00book.tex Wed Jun 28 20:29:21 2006 -0700 +++ b/en/00book.tex Thu Jun 29 00:32:35 2006 -0700 @@ -1,7 +1,8 @@ \documentclass{book} \usepackage{enumerate} \usepackage{fullpage} -\usepackage{graphics} +\usepackage{ifpdf} +\usepackage{graphicx} \usepackage{newcent} \usepackage{fancyvrb} % leave hyperref until last
--- a/en/99defs.tex Wed Jun 28 20:29:21 2006 -0700 +++ b/en/99defs.tex Thu Jun 29 00:32:35 2006 -0700 @@ -5,11 +5,19 @@ \newcommand{\hgcmdargs}[2]{``\texttt{hg #1 #2}''} \newsavebox{\notebox} -\newenvironment{note}{\begin{lrbox}{\notebox}\begin{minipage}{0.7\textwidth}\textbf{Note:}\space}{\end{minipage}\end{lrbox}\begin{center}\fbox{\usebox{\notebox}}\end{center}} +\newenvironment{note}% + {\begin{lrbox}{\notebox}\begin{minipage}{0.7\textwidth}\textbf{Note:}\space}% + {\end{minipage}\end{lrbox}\fbox{\usebox{\notebox}}} \DefineVerbatimEnvironment{codesample4}{Verbatim}{frame=single,gobble=4,numbers=left,commandchars=\\\{\}} \newcommand{\interaction}[1]{\VerbatimInput[frame=single,numbers=left,commandchars=\\\{\}]{examples/#1.out}} +\ifpdf + \newcommand{\grafix}[1]{\includegraphics[scale=0.2]{#1_pdf.png}} +\else + \newcommand{\grafix}[1]{\includegraphics{#1.png}} +\fi + %%% Local Variables: %%% mode: latex %%% TeX-master: "00book"
--- a/en/Makefile Wed Jun 28 20:29:21 2006 -0700 +++ b/en/Makefile Thu Jun 29 00:32:35 2006 -0700 @@ -4,6 +4,9 @@ 99defs.tex \ mq.tex +image-sources := \ + mq-stack.svg + example-sources := \ examples/run-example \ examples/mq.qinit-help \ @@ -18,7 +21,7 @@ pdf: pdf/hgbook.pdf -pdf/hgbook.pdf: $(sources) examples +pdf/hgbook.pdf: $(sources) $(image-sources:%.svg=%_pdf.png) examples mkdir -p $(dir $@) pdflatex $(call latex-options,$@) $< || (rm -f $@; exit 1) cp 99book.bib $(dir $@) @@ -42,13 +45,22 @@ perl -pi -e 's/�([0-7][0-9a-f]);/chr(hex($$1))/egi' $(dir $(1))/*.html endef -html/onepage/hgbook.html: $(sources) examples +html/onepage/hgbook.html: $(sources) $(image-sources:%.svg=%.png) examples $(call htlatex,$@,$<) + cp $(image-sources:%.svg=%.png) $(dir $@) + +html/split/hgbook.html: $(sources) $(image-sources:%.svg=%.png) examples + $(call htlatex,$@,$<,2) + cp $(image-sources:%.svg=%.png) $(dir $@) -html/split/hgbook.html: $(sources) examples - $(call htlatex,$@,$<,2) +%.png: %.svg + inkscape -D -e $@ $< -.PHONY: examples +%_pdf.png: %.svg + inkscape -D -d 300 -e $@ $< + +%.eps: %.svg + inkscape -E $@ $< examples: examples/.run @@ -56,4 +68,4 @@ cd examples && ./run-example clean: - rm -rf html pdf *.aux *.dvi *.log *.out examples/*.out examples/.run + rm -rf html pdf *.eps *.png *.aux *.dvi *.log *.out examples/*.out examples/.run
--- a/en/mq-stack.svg Wed Jun 28 20:29:21 2006 -0700 +++ b/en/mq-stack.svg Thu Jun 29 00:32:35 2006 -0700 @@ -13,7 +13,8 @@ id="svg2" sodipodi:version="0.32" inkscape:version="0.43" - sodipodi:docname="mq-stack.svg"> + sodipodi:docname="mq-stack.svg" + sodipodi:docbase="/home/bos/hg/hgbook/en"> <defs id="defs4" /> <sodipodi:namedview @@ -23,13 +24,13 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="1.4" - inkscape:cx="304.37721" - inkscape:cy="802.01706" + inkscape:zoom="1.4142136" + inkscape:cx="299.33323" + inkscape:cy="815.646" inkscape:document-units="px" inkscape:current-layer="layer1" - inkscape:window-width="1024" - inkscape:window-height="693" + inkscape:window-width="1014" + inkscape:window-height="689" inkscape:window-x="0" inkscape:window-y="25" /> <metadata @@ -47,253 +48,223 @@ inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1"> - <g - id="g2210" - transform="translate(100.8575,-66.26604)"> - <rect - y="288.68686" - x="129.16194" - height="24.243662" - width="202.93683" - id="rect1307" - style="fill:#0000ff;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> - <text - id="text1309" - y="304.11923" - x="137.03856" - style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - y="304.11923" - x="137.03856" - id="tspan1311" - sodipodi:role="line">prevent-compiler-reorder.patch</tspan></text> - </g> - <g - id="g4127" - transform="translate(0,-4)"> - <g - style="opacity:0.5" - transform="translate(101.173,-120.9757)" - id="g2223"> - <rect - style="fill:#7979ff;fill-opacity:0.875;fill-rule:evenodd;stroke:#000000;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - id="rect2225" - width="202.93683" - height="24.243662" - x="128.84636" - y="313.94067" /> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="136.72298" - y="329.37305" - id="text2227"><tspan - sodipodi:role="line" - id="tspan2229" - x="136.72298" - y="329.37305">fix-memory-leak.patch</tspan></text> - </g> - <g - style="opacity:0.5" - transform="translate(101.173,-146.4315)" - id="g3104"> - <rect - style="fill:#7979ff;fill-opacity:0.875;fill-rule:evenodd;stroke:#000000;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - id="rect3106" - width="202.93683" - height="24.243662" - x="128.84636" - y="313.94067" /> - <text - xml:space="preserve" - style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="136.72298" - y="329.37305" - id="text3108"><tspan - sodipodi:role="line" - id="tspan3110" - x="136.72298" - y="329.37305">forbid-illegal-params.patch</tspan></text> - </g> - </g> - <g - id="g2205" - transform="translate(101.173,-58.06398)"> - <rect - y="313.94067" - x="128.84636" - height="24.243662" - width="202.93683" - id="rect1320" - style="fill:#7979ff;fill-opacity:0.875;fill-rule:evenodd;stroke:#000000;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> - <text - id="text1322" - y="329.37305" - x="136.72298" - style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - y="329.37305" - x="136.72298" - id="tspan1324" - sodipodi:role="line">namespace-cleanup.patch</tspan></text> - </g> - <g - id="g2215" - transform="translate(101.173,-32.60817)"> - <rect - y="313.94067" - x="128.84636" - height="24.243662" - width="202.93683" - id="rect2217" - style="fill:#7979ff;fill-opacity:0.875;fill-rule:evenodd;stroke:#000000;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> - <text - id="text2219" - y="329.37305" - x="136.72298" - style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - y="329.37305" - x="136.72298" - id="tspan2221" - sodipodi:role="line">powerpc-port-fixes.patch</tspan></text> - </g> - <g - id="g3112" - transform="translate(101.173,-7.1523)"> - <rect - y="313.94067" - x="128.84636" - height="24.243662" - width="202.93683" - id="rect3114" - style="fill:#7979ff;fill-opacity:0.875;fill-rule:evenodd;stroke:#000000;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> - <text - id="text3116" - y="329.37305" - x="136.72298" - style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - y="329.37305" - x="136.72298" - id="tspan3118" - sodipodi:role="line">report-devinfo-correctly.patch</tspan></text> - </g> + <rect + style="fill:#0000ff;fill-opacity:0.75;fill-rule:evenodd;stroke:#3c3c3c;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="rect1307" + width="202.93683" + height="24.243662" + x="230.01944" + y="221.70146" /> + <text + xml:space="preserve" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" + x="237.89606" + y="237.13383" + id="text1309"><tspan + sodipodi:role="line" + id="tspan1311" + x="237.89606" + y="237.13383">prevent-compiler-reorder.patch</tspan></text> + <rect + style="fill:#7979ff;fill-opacity:0.875;fill-rule:evenodd;stroke:#3c3c3c;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="rect1320" + width="202.93683" + height="24.243662" + x="230.01936" + y="251.34325" /> + <text + xml:space="preserve" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" + x="237.89598" + y="266.77563" + id="text1322"><tspan + sodipodi:role="line" + id="tspan1324" + x="237.89598" + y="266.77563">namespace-cleanup.patch</tspan></text> + <rect + style="fill:#7979ff;fill-opacity:0.875;fill-rule:evenodd;stroke:#3c3c3c;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="rect2217" + width="202.93683" + height="24.243662" + x="230.01936" + y="280.98505" /> + <text + xml:space="preserve" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" + x="237.89598" + y="296.41742" + id="text2219"><tspan + sodipodi:role="line" + id="tspan2221" + x="237.89598" + y="296.41742">powerpc-port-fixes.patch</tspan></text> + <rect + style="fill:#7979ff;fill-opacity:0.875;fill-rule:evenodd;stroke:#3c3c3c;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="rect3114" + width="202.93683" + height="24.243662" + x="230.01936" + y="310.6268" /> + <text + xml:space="preserve" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" + x="237.89598" + y="326.05917" + id="text3116"><tspan + sodipodi:role="line" + id="tspan3118" + x="237.89598" + y="326.05917">report-devinfo-correctly.patch</tspan></text> <text xml:space="preserve" style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" x="200.01021" - y="202.67921" + y="191.68094" id="text3170" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3172" x="200.01021" - y="202.67921" + y="191.68094" style="font-size:48px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans">{</tspan></text> <text xml:space="preserve" - style="font-size:15.25329494px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="255.26624" - y="249.06793" + style="font-size:15.25329685px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" + x="255.26627" + y="248.79449" id="text3190" sodipodi:linespacing="125%" transform="scale(0.786716,1.271107)"><tspan sodipodi:role="line" id="tspan3192" - x="255.26624" - y="249.06793" - style="font-size:61.01317978px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans">{</tspan></text> + x="255.26627" + y="248.79449" + style="font-size:61.01318741px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans">{</tspan></text> <text xml:space="preserve" style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" x="195.86807" - y="184.16945" + y="173.17117" id="text4085" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan4087" x="195.86807" - y="184.16945" - style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:Bitstream Vera Sans">patches in series,</tspan><tspan + y="173.17117" + style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:Bitstream Vera Sans">present in series,</tspan><tspan sodipodi:role="line" x="195.86807" - y="199.16945" + y="188.17117" id="tspan4089" style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:Bitstream Vera Sans">but not applied</tspan></text> <text xml:space="preserve" style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" x="195.0712" - y="289.26492" + y="288.91745" id="text4091" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan4093" x="195.0712" - y="289.26492" + y="288.91745" style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:Bitstream Vera Sans">patches applied,</tspan><tspan sodipodi:role="line" x="195.0712" - y="304.26492" + y="303.91745" id="tspan4111" style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:Bitstream Vera Sans">changesets present</tspan></text> <text xml:space="preserve" style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" x="195.0712" - y="230.00749" + y="229.28813" id="text4095" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan4097" x="195.0712" - y="230.00749" + y="229.28813" style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:Bitstream Vera Sans">topmost</tspan><tspan sodipodi:role="line" x="195.0712" - y="245.00749" + y="244.28813" id="tspan4109" style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:125%;writing-mode:lr-tb;text-anchor:end;font-family:Bitstream Vera Sans">applied patch</tspan></text> <text xml:space="preserve" style="font-size:12px;font-style:normal;font-weight:normal;opacity:1;fill:#666666;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" x="450.4975" - y="239.01628" + y="238.29692" id="text4137"><tspan sodipodi:role="line" id="tspan4139" x="450.4975" - y="239.01628">201ad3209902</tspan></text> + y="238.29692">201ad3209902</tspan></text> <text xml:space="preserve" style="font-size:12px;font-style:normal;font-weight:normal;opacity:1;fill:#989898;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" x="450.05804" - y="272.47217" + y="267.93872" id="text4141"><tspan sodipodi:role="line" id="tspan4143" x="450.05804" - y="272.47217">126b84e593ae</tspan></text> + y="267.93872">126b84e593ae</tspan></text> <text xml:space="preserve" style="font-size:12px;font-style:normal;font-weight:normal;opacity:1;fill:#989898;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" x="450.6557" - y="297.92798" + y="297.58051" id="text4145"><tspan sodipodi:role="line" id="tspan4147" x="450.6557" - y="297.92798">a655daf15409</tspan></text> + y="297.58051">a655daf15409</tspan></text> <text xml:space="preserve" style="font-size:12px;font-style:normal;font-weight:normal;opacity:1;fill:#989898;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" x="450.71429" - y="323.38385" + y="327.22226" id="text4149"><tspan sodipodi:role="line" id="tspan4151" x="450.71429" - y="323.38385">e50d59aaea3a</tspan></text> + y="327.22226">e50d59aaea3a</tspan></text> + <rect + style="fill:#d7d7ff;fill-opacity:0.875;fill-rule:evenodd;stroke:#a6a6a6;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="rect3106" + width="202.93683" + height="24.243662" + x="230.01936" + y="150.41792" /> + <text + xml:space="preserve" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#808080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" + x="237.89598" + y="165.8503" + id="text3108"><tspan + sodipodi:role="line" + id="tspan3110" + x="237.89598" + y="165.8503">forbid-illegal-params.patch</tspan></text> + <rect + style="fill:#d7d7ff;fill-opacity:0.875;fill-rule:evenodd;stroke:#a6a6a6;stroke-width:1.05063355px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="rect2241" + width="202.93683" + height="24.243662" + x="230.16466" + y="180.05968" /> + <text + xml:space="preserve" + style="font-size:12px;font-style:normal;font-weight:normal;fill:#808080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" + x="238.04128" + y="195.49205" + id="text2243"><tspan + sodipodi:role="line" + id="tspan2245" + x="238.04128" + y="195.49205">fix-memory-leak.patch</tspan></text> </g> </svg>
--- a/en/mq.tex Wed Jun 28 20:29:21 2006 -0700 +++ b/en/mq.tex Thu Jun 29 00:32:35 2006 -0700 @@ -263,8 +263,8 @@ \subsection{Manipulating the patch stack} The previous discussion implied that there must be a difference -between ``known'' and ``applied'' patches, and there is. MQ can know -about a patch without it being applied in the repository. +between ``known'' and ``applied'' patches, and there is. MQ can +manage a patch without it being applied in the repository. An \emph{applied} patch has a corresponding changeset in the repository, and the effects of the patch and changeset are visible in @@ -287,6 +287,13 @@ or two patches, the output of \hgcmd{qseries} remains the same, while that of \hgcmd{qapplied} has changed. +\begin{figure} + \centering + \grafix{mq-stack} + \caption{Applied and unapplied patches in the MQ patch stack} + \label{fig:mq:stack} +\end{figure} + MQ does not limit you to pushing or popping one patch. You can have no patches, all of them, or any number in between applied at some point in time.