hgbook
changeset 97:659fa1a2c628
More text.
author | Bryan O'Sullivan <bos@serpentine.com> |
---|---|
date | Fri Oct 13 15:48:44 2006 -0700 (2006-10-13) |
parents | 7d7ddc3a57af |
children | 3f3dd60695cb |
files | en/tour-basic.tex en/tour-history.svg |
line diff
1.1 --- a/en/tour-basic.tex Fri Oct 13 15:34:54 2006 -0700 1.2 +++ b/en/tour-basic.tex Fri Oct 13 15:48:44 2006 -0700 1.3 @@ -182,6 +182,12 @@ 1.4 The default output printed by \hgcmd{log} is purely a summary; it is 1.5 missing a lot of detail. 1.6 1.7 +Figure~\ref{fig:tour:history} provides a graphical representation of 1.8 +the history of the \dirname{hello} repository, to make it a little 1.9 +easier to see which direction history is ``flowing'' in. We'll be 1.10 +returning to this figure several times in this chapter and the chapter 1.11 +that follows. 1.12 + 1.13 \begin{figure}[ht] 1.14 \centering 1.15 \grafix{tour-history} 1.16 @@ -189,24 +195,29 @@ 1.17 \label{fig:tour:history} 1.18 \end{figure} 1.19 1.20 -\subsection{Changesets, revisions, and identification} 1.21 - 1.22 -English being a notoriously sloppy language, we have a variety of 1.23 -terms that have the same meaning. If you are talking about Mercurial 1.24 -history with other people, you will find that the word ``changeset'' 1.25 -is often compressed to ``change'' or ``cset'', and sometimes a 1.26 -changeset is referred to as a ``revision'' or a ``rev''. 1.27 +\subsection{Changesets, revisions, and talking to other 1.28 + people} 1.29 + 1.30 +As English is a notoriously sloppy language, and computer science has 1.31 +a history of terminological confusion, revision control has a variety 1.32 +of terms that have the same meaning. If you are talking about 1.33 +Mercurial history with other people, you will find that the word 1.34 +``changeset'' is often compressed to ``change'' or (when written) 1.35 +``cset'', and sometimes a changeset is referred to as a ``revision'' 1.36 +or a ``rev''. 1.37 1.38 While it doesn't matter what \emph{word} you use to refer to the 1.39 concept of ``a~changeset'', the \emph{identifier} that you use to 1.40 refer to ``a~\emph{specific} changeset'' is of great importance. 1.41 Recall that the \texttt{changeset} field in the output from 1.42 \hgcmd{log} identifies a changeset using both a number and a 1.43 -hexadecimal string. The number is \emph{only valid in that 1.44 - repository}, while the hex string is the \emph{permanent, unchanging 1.45 - identifier} that will always identify that changeset in every copy 1.46 -of the repository. 1.47 - 1.48 +hexadecimal string. 1.49 +\begin{itemize} 1.50 +\item The revision number is \emph{only valid in that repository}, 1.51 +\item while the hex string is the \emph{permanent, unchanging 1.52 + identifier} that will always identify that exact changeset in 1.53 + \emph{every} copy of the repository. 1.54 +\end{itemize} 1.55 This distinction is important. If you send someone an email talking 1.56 about ``revision~33'', there's a high likelihood that their 1.57 revision~33 will \emph{not be the same} as yours. The reason for this 1.58 @@ -324,10 +335,10 @@ 1.59 not been modified. 1.60 1.61 The ``\texttt{M}'' indicates that Mercurial has noticed that we 1.62 -modified \filename{hello.c}. Notice that we didn't need to 1.63 -\emph{inform} Mercurial that we were going to modify the file before 1.64 -we started, or that we had modified the file after we were done; it 1.65 -was able to figure this out itself. 1.66 +modified \filename{hello.c}. We didn't need to \emph{inform} 1.67 +Mercurial that we were going to modify the file before we started, or 1.68 +that we had modified the file after we were done; it was able to 1.69 +figure this out itself. 1.70 1.71 It's a little bit helpful to know that we've modified 1.72 \filename{hello.c}, but we might prefer to know exactly \emph{what}
2.1 --- a/en/tour-history.svg Fri Oct 13 15:34:54 2006 -0700 2.2 +++ b/en/tour-history.svg Fri Oct 13 15:48:44 2006 -0700 2.3 @@ -17,6 +17,19 @@ 2.4 <defs 2.5 id="defs4"> 2.6 <marker 2.7 + inkscape:stockid="Arrow1Mstart" 2.8 + orient="auto" 2.9 + refY="0.0" 2.10 + refX="0.0" 2.11 + id="Arrow1Mstart" 2.12 + style="overflow:visible"> 2.13 + <path 2.14 + id="path2973" 2.15 + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " 2.16 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 2.17 + transform="scale(0.4) translate(10,0)" /> 2.18 + </marker> 2.19 + <marker 2.20 inkscape:stockid="Arrow1Mend" 2.21 orient="auto" 2.22 refY="0.0" 2.23 @@ -42,7 +55,7 @@ 2.24 inkscape:pageshadow="2" 2.25 inkscape:zoom="1.4" 2.26 inkscape:cx="232.14286" 2.27 - inkscape:cy="673.1101" 2.28 + inkscape:cy="672.75296" 2.29 inkscape:document-units="px" 2.30 inkscape:current-layer="layer1" 2.31 inkscape:window-width="906" 2.32 @@ -214,5 +227,63 @@ 2.33 id="tspan1908" 2.34 x="244.60992" 2.35 y="492.745">(oldest)</tspan></text> 2.36 + <rect 2.37 + style="opacity:1;fill:#d2e1e4;fill-opacity:1;stroke:#b1cbd0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 2.38 + id="rect1907" 2.39 + width="94.285713" 2.40 + height="20.714285" 2.41 + x="309.28571" 2.42 + y="324.86218" /> 2.43 + <text 2.44 + xml:space="preserve" 2.45 + style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier" 2.46 + x="333.38464" 2.47 + y="338.48334" 2.48 + id="text1909"><tspan 2.49 + sodipodi:role="line" 2.50 + id="tspan1911" 2.51 + x="333.38464" 2.52 + y="338.48334" 2.53 + style="font-family:Courier"><tspan 2.54 + style="font-weight:bold" 2.55 + id="tspan1913">4</tspan>: b57f</tspan></text> 2.56 + <path 2.57 + style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1" 2.58 + d="M 332.14286,375.21932 L 335.71429,347.36218" 2.59 + id="path2802" /> 2.60 + <path 2.61 + style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-opacity:1" 2.62 + d="M 372.69968,375.21932 L 369.12825,347.36218" 2.63 + id="path2986" /> 2.64 + <text 2.65 + xml:space="preserve" 2.66 + style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times" 2.67 + x="335.14285" 2.68 + y="387.21933" 2.69 + id="text2988"><tspan 2.70 + sodipodi:role="line" 2.71 + x="335.14285" 2.72 + y="387.21933" 2.73 + id="tspan3020" 2.74 + style="text-align:end;text-anchor:end">revision</tspan><tspan 2.75 + sodipodi:role="line" 2.76 + x="335.14285" 2.77 + y="402.21933" 2.78 + id="tspan3014" 2.79 + style="text-align:end;text-anchor:end">number</tspan></text> 2.80 + <text 2.81 + xml:space="preserve" 2.82 + style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Times" 2.83 + x="368.71429" 2.84 + y="387.21933" 2.85 + id="text2994"><tspan 2.86 + sodipodi:role="line" 2.87 + id="tspan2996" 2.88 + x="368.71429" 2.89 + y="387.21933">changeset</tspan><tspan 2.90 + sodipodi:role="line" 2.91 + x="368.71429" 2.92 + y="402.21933" 2.93 + id="tspan2998">identifier</tspan></text> 2.94 </g> 2.95 </svg>