changeset 201:80fc720338a5

Mention use of hooks to defend against propagation of bad changes.
author Bryan O'Sullivan <bos@serpentine.com>
date Wed, 18 Apr 2007 15:48:00 -0700
parents 9bba958be4c6
children 6f167e644762
files en/undo.tex
diffstat 1 files changed, 20 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/en/undo.tex	Wed Apr 18 11:55:39 2007 -0700
+++ b/en/undo.tex	Wed Apr 18 15:48:00 2007 -0700
@@ -457,6 +457,26 @@
 \texttt{examples} directory works, but doesn't handle merge
 changesets.  Kind of an important omission.
 
+\subsection{Protect yourself from ``escaped'' changes}
+
+If you've committed some changes to your local repository and they've
+been pushed or pulled somewhere else, this isn't necessarily a
+disaster.  You can protect yourself ahead of time against some classes
+of bad changeset.  This is particularly easy if your team usually
+pulls changes from a central repository.
+
+By configuring some hooks on that repository to validate incoming
+changesets (see chapter~\ref{chap:hook}), you can automatically
+prevent some kinds of bad changeset from being pushed to the central
+repository at all.  With such a configuration in place, some kinds of
+bad changeset will naturally tend to ``die out'' because they can't
+propagate into the central repository.  Better yet, this happens
+without any need for explicit intervention.
+
+For instance, an incoming change hook that verifies that a changeset
+will actually compile can prevent people from inadvertantly ``breaking
+the build''.
+
 \section{Finding the source of a bug}
 \label{sec:undo:bisect}