@@ -34,7 +34,7 @@ If you wish to read GITT whilst it is in development phase, you have 3 options.

1. Read the LaTeX source, which really isn't as bad as it sounds

2. Use `make pdf` to use latex to build the pdf, you will need to have `pdflatex` installed for this

- * For ubuntu users, run `sudo apt-get install texlive-latex-base texlive-latex-extra texlive-fonts-recommended texlive-xetex` to get `xelatex` and the other files required to build

+ * For ubuntu users, run `sudo apt-get install texlive-latex-base texlive-latex-extra texlive-fonts-recommended texlive-xetex ttf-linux-libertine` to get `xelatex` and the other files required to build

3. An older PDF version of the book can be found <a href="https://github.com/downloads/cbx33/gitt/gitt.pdf">here</a>

+\index{Plumbing}\index{Git!directory structure}This After Hours section is going to get a little deep.

For some of you it may be more information than you bargained for.

However, sometimes, when the worst happens, it is comforting to know that you at least have a basic understanding of what is happening under the hood.

These After Hours sections are designed to give you that knowledge.

@@ -144,7 +142,7 @@ \subsection{A Look At Plumbing}

Later in the book, you will find out exactly how to generate your own repository from scratch, but for now, let us just understand that Git first creates a header for the content, then adds the content to the header, creates the SHA-1 hash of such data and finally Zlib compresses it to store to disk.

\subsection{Out comes the wrench}

-Wouldn't it be nice if we could view the data that was inside the file simply, without having to write out own tools.

+Wouldn't it be nice if we could view the data that was inside the file simply, without having to write our own tools.

If you look through the Git man page, you will find one listed under the \textbf{Interrogation} section, called \texttt{git cat-file}.

Anyone who has spent any time with Git will know what the \texttt{cat} command does.

-Perhaps the best feature of a version control system is the level of accountability that it offers if set up correctly.

+\index{logging}Perhaps the best feature of a version control system is the level of accountability that it offers if set up correctly.

What do we mean by this? People often mistake the word \textbf{accountability} for the word \textbf{blame}.

This is not true at all.

Accountability is key in understanding the events that led up to a particular bug being introduced, or a situation occurring.

@@ -119,7 +117,6 @@ \subsection{Logging in Git}

\section{Day 2 - ``But I need more information''}

\subsection{Digging a little deeper}

-

\begin{trenches}

``I know John, and next time I will make a note of it, but right now, I'd really like to know where this file got changed,'' Klaus pointed at the piece of paper containing a print out, ``specifically when this function was introduced.''

@@ -186,7 +183,6 @@ \subsection{Digging a little deeper}

\section{Day 3 - ``What actually changed?''}

\subsection{Doing the diff dance}

-

Knowing what the committer thinks they committed is brilliant.

However, sometimes it's just not enough.

The reason for this is stated fairly precisely in the first sentence of this paragraph, so let us add a little formatting to bring out the real meaning.

@@ -445,7 +441,6 @@ \subsection{Diffing Over A Range}\index{diff!over a range}

\section{Day 4 - ``Finding a good reference point''}

\subsection{Tag you're it!}\index{tagging}

-

During software development, a project will generally get to a point where it is ready to be released to people outside of the development team.

When this grand day occurs, it is crucial that both the developers and the users have a reference point with which to refer to the state of the code.

Having a code name or a version number means that within a very short period of time, both parties can converse about a problem, safe in the knowledge that they are on the same page.

@@ -519,9 +514,8 @@ \subsection{Tag you're it!}\index{tagging}

This will all become clearer during the next week, but fits in with the overall ethos of working with version control systems, if someone has seen the past, you should not EVER change it.

\end{callout}

-\section{Day 5 - ``Putting things back the way they were''}

+\section{Day 5 - ``Putting things back again''}

\subsection{Revert, I say. Revert!}

-

Whilst working with your repository, something occurs quite often, is the need to go back in time, either temporarily or permanently, or even partially.

So, now that the team have discovered the basics of branching, they are conceptually ready to start using it in earnest.

When implementing a version control system, or shifting from one to another, it is important to make sure that the users are happy with the system and know how to use it.

Training is a big issue.

@@ -142,7 +141,6 @@ \subsection{A little bit of graphics}

\section{Day 2 - ``Back to logging''}

\subsection{Visualisation to the max}

-

\index{gitk@\texttt{gitk}}With the basic operations down, as we discovered in Week 1, let us now move on to using the GUI to view the history of our database.

The visualiser that is bundled with Git is packed with features and can be invoked in one of two ways, either by running \texttt{gitk} from the command line, or by choosing \textbf{\emph{Repository - Visualize All Branch History}} or \textbf{\emph{Repository - Visualize master's Branch History}}, the latter menu item is worded with the assumption that you are on the \textbf{master} branch of course.

\index{SSH}Now we have a complete copy of our repository in another location.

At the moment we have created this clone on the same machine that our original is.

This isn't really a very good idea for backup purposes.

@@ -77,7 +76,6 @@ \subsection{Protocol decision}

\section{Day 2 - ``Now let's work together''}

\subsection{Pure collaboration}

-

We are now armed with a much clearer idea of how Git works and indeed we are now in a position to actually implement the developmental model that the team of Tamagoyaki need in order to collaborate on their projects.

It should be noted that although we have reached the point of being able to work together on a project, this is not where out discussions about Git will end.

We still have a number of topics to cover and these will be visited as required during the subsequent implementation of Git at Tamagoyaki.

@@ -247,7 +245,6 @@ \subsection{Pure collaboration}

\section{Day 3 - ``Rebasing our commitments''}

\subsection{Rebase examples}

-

We are now going to go back to our \texttt{coderepo} folder.

This is the one we cloned from in Week 6 to create the \texttt{coderepo-cl} repository.

When we left this repository, we were at commit \textbf{1c3206a}.

@@ -445,10 +442,10 @@ \subsection{Rebase examples}

\end{callout}

Let us try this rebase again.

-This time we will use the sqush option to merge the two similar commits into one.

+This time we will use the squash option to merge the two similar commits into one.

We will run the same command as before; \texttt{git rebase -i HEAD\textasciitilde3}.

This time we will use the \texttt{s} prefix to the line to choose \emph{squashing} as our method.

-We could have used the word \texttt{sqush} instead of \texttt{s}, but for the laziness in all of us, we will opt for the single letter versions for now.

+We could have used the word \texttt{squash} instead of \texttt{s}, but for the laziness in all of us, we will opt for the single letter versions for now.

\begin{code}

pick c0e2f5b Updated another file

@@ -507,7 +504,6 @@ \subsection{Rebase examples}

\section{Day 4 - ``Starting to get rebased''}

\subsection{Using rebase with branches}

-

\index{continuous integration}Up until now we have used \texttt{git rebase} to work on our current branch, modifying a few things here and there.

This is actually one of the simplest things that rebase can perform, and as hinted to in our workflow design, we can actually use \texttt{git rebase} to perform something called \emph{Continuous Integration}.

@@ -714,7 +710,6 @@ \subsection{Using rebase with branches}

\section{Day 5 - ``I could rebase the world''}

\subsection{Migrating commits}

-

We are almost at the end our our journey with the rebase tool and have one more stop before we start looking at other features of Git.