diff ja/collab.tex @ 367:586bd91d0c84

- translated title page. - started collab.tex.
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Sat, 01 Nov 2008 13:53:05 +0900
parents 3b1291f24c0d
children 73aa295a40da
line wrap: on
line diff
--- a/ja/collab.tex	Fri Oct 31 22:21:35 2008 +0900
+++ b/ja/collab.tex	Sat Nov 01 13:53:05 2008 +0900
@@ -1,87 +1,155 @@
-\chapter{Collaborating with other people}
+%\chapter{Collaborating with other people}
+\chapter{$BB>$N?M!9$H$N6&F1:n6H(B}
 \label{cha:collab}
 
-As a completely decentralised tool, Mercurial doesn't impose any
-policy on how people ought to work with each other.  However, if
-you're new to distributed revision control, it helps to have some
-tools and examples in mind when you're thinking about possible
-workflow models.
+%As a completely decentralised tool, Mercurial doesn't impose any
+%policy on how people ought to work with each other.  However, if
+%you're new to distributed revision control, it helps to have some
+%tools and examples in mind when you're thinking about possible
+%workflow models.
 
-\section{Mercurial's web interface}
+$B40A4$JJ,;67?%D!<%k$H$7$F!$(BMercurial$B$O%f!<%6$,B>$N%f!<%6$H$I$N$h$&$K:n6H$9(B
+$B$k$+$N%]%j%7!<$r6/MW$9$k$3$H$O$J$$!%$7$+$7=i$a$FJ,;6%j%S%8%g%s%3%s%H%m!<(B
+$B%k%D!<%k$r;H$&$N$G$"$l$P!$$$$/$D$+$N%D!<%k$N;HMQK!$H;HMQNc$rCN$k$3$H$,(B
+$B<h$jF@$k%o!<%/%U%m!<%b%G%k$r9M$($k:]$K=u$1$H$J$k$G$"$m$&!%(B
+
+%\section{Mercurial's web interface}
+\section{Mercurial$B$N%&%'%V%$%s%?%U%'!<%9(B}
 
-Mercurial has a powerful web interface that provides several 
-useful capabilities.
+%Mercurial has a powerful web interface that provides several 
+%useful capabilities.
+
+Mercurial$B$O$$$/$D$+$NM-MQ$J5!G=$r;}$D6/NO$J%&%'%V%$%s%?%U%'!<%9$rHw$($F(B
+$B$$$k!%(B
 
-For interactive use, the web interface lets you browse a single
-repository or a collection of repositories.  You can view the history
-of a repository, examine each change (comments and diffs), and view
-the contents of each directory and file.
+%For interactive use, the web interface lets you browse a single
+%repository or a collection of repositories.  You can view the history
+%of a repository, examine each change (comments and diffs), and view
+%the contents of each directory and file.
+
+$BBPOCE*$JMxMQ$G$O!$%&%'%V%$%s%?%U%'!<%9$K$h$j(B1$B$D$N%j%]%8%H%j$^$?$O$$$/$D$+(B
+$B$N%j%]%8%H%j$N%3%l%/%7%g%s$r1\Mw$9$k$3$H$,$G$-$k!%%j%]%8%H%j$NMzNr$r8+$?(B
+$B$j!$3F!9$NJQ99!J%3%a%s%H$d:9J,$r4^$`!K$rD4$Y$?$j!$%G%#%l%/%H%j$d%U%!%$%k(B
+$B$NFbMF$r8+$k$3$H$,$G$-$k!%(B
 
-Also for human consumption, the web interface provides an RSS feed of
-the changes in a repository.  This lets you ``subscribe'' to a
-repository using your favourite feed reader, and be automatically
-notified of activity in that repository as soon as it happens.  I find
-this capability much more convenient than the model of subscribing to
-a mailing list to which notifications are sent, as it requires no
-additional configuration on the part of whoever is serving the
-repository.
+%Also for human consumption, the web interface provides an RSS feed of
+%the changes in a repository.  This lets you ``subscribe'' to a
+%repository using your favourite feed reader, and be automatically
+%notified of activity in that repository as soon as it happens.  I find
+%this capability much more convenient than the model of subscribing to
+%a mailing list to which notifications are sent, as it requires no
+%additional configuration on the part of whoever is serving the
+%repository.
+
+$B%&%'%V%$%s%?%U%'!<%9$O1\MwMQ$K%j%]%8%H%j$NJQ99$N(BRSS$B%U%#!<%I$rDs6!$9$k!%$3(B
+$B$l$r;H$($P!$%j%]%8%H%j$NJQ2=$r9%$_$N%U%#!<%I%j!<%@$K$h$C$F(B``$B9XFI(B''$B$9$k$3(B
+$B$H$,$G$-!$%j%]%8%H%j$G$N3hF0$,5/$3$k$H$9$0$5$^DLCN$r<u$1$i$l$k!%$3$N5!G=(B
+$B$OC/$,%j%]%8%H%j$N%5!<%S%9$r9T$C$F$bDI2C$N@_Dj$rI,MW$H$7$J$$$?$a!$%a!<%j(B
+$B%s%0%j%9%H$r9XFI$7$FDLCN$r<u$1$k%b%G%k$h$j$b$:$C$HJXMx$G$"$k!%(B
 
-The web interface also lets remote users clone a repository, pull
-changes from it, and (when the server is configured to permit it) push
-changes back to it.  Mercurial's HTTP tunneling protocol aggressively
-compresses data, so that it works efficiently even over low-bandwidth
-network connections.
+%The web interface also lets remote users clone a repository, pull
+%changes from it, and (when the server is configured to permit it) push
+%changes back to it.  Mercurial's HTTP tunneling protocol aggressively
+%compresses data, so that it works efficiently even over low-bandwidth
+%network connections.
 
-The easiest way to get started with the web interface is to use your
-web browser to visit an existing repository, such as the master
-Mercurial repository at
-\url{http://www.selenic.com/repo/hg?style=gitweb}.
+$B%j%b!<%H%f!<%6$O%&%'%V%$%s%?%U%'!<%9$rMQ$$$F%j%]%8%H%j$r%/%m!<%s$9$k$3$H(B
+$B$b$G$-$k!%JQ99$r(Bpull$B$7$F!$!J%5!<%P$,5v2D$9$k@_Dj$K$J$C$F$$$l$P!K2C$($?JQ(B
+$B99$r:F$S(Bpush$B$9$k$3$H$b$G$-$k!%(BMercurial$B$N(BHTTP$B%H%s%M%k%W%m%H%3%k$O%G!<%?$r(B
+$B@Q6KE*$K05=L$9$k$?$a!$%P%s%II}$NDc$$%M%C%H%o!<%/%3%M%/%7%g%s$G$bM-8z$K5!(B
+$BG=$9$k!%(B
+
+%The easiest way to get started with the web interface is to use your
+%web browser to visit an existing repository, such as the master
+%Mercurial repository at
+%\url{http://www.selenic.com/repo/hg?style=gitweb}.
+
+$B%&%'%V%$%s%?%U%'!<%9$N:G$b4JC1$J;O$aJ}$O%&%'%V%V%i%&%6$r;H$C$F(BMercurial$B$N(B
+$B%^%9%?%j%]%8%H%j(B\url{http://www.selenic.com/repo/hg?style=gitweb}$B$N$h$&$J(B
+$B4{B8$N%j%]%8%H%j$r;2>H$9$k$3$H$G$"$k!%(B
 
-If you're interested in providing a web interface to your own
-repositories, Mercurial provides two ways to do this.  The first is
-using the \hgcmd{serve} command, which is best suited to short-term
-``lightweight'' serving.  See section~\ref{sec:collab:serve} below for
-details of how to use this command.  If you have a long-lived
-repository that you'd like to make permanently available, Mercurial
-has built-in support for the CGI (Common Gateway Interface) standard,
-which all common web servers support.  See
-section~\ref{sec:collab:cgi} for details of CGI configuration.
+%If you're interested in providing a web interface to your own
+%repositories, Mercurial provides two ways to do this.  The first is
+%using the \hgcmd{serve} command, which is best suited to short-term
+%``lightweight'' serving.  See section~\ref{sec:collab:serve} below for
+%details of how to use this command.  If you have a long-lived
+%repository that you'd like to make permanently available, Mercurial
+%has built-in support for the CGI (Common Gateway Interface) standard,
+%which all common web servers support.  See
+%section~\ref{sec:collab:cgi} for details of CGI configuration.
+
+$B<+J,$N%j%]%8%H%j$K%&%'%V%$%s%?%U%'!<%9$rMQ0U$9$k>l9g!$(B2$BDL$j$N$d$jJ}$,$"(B
+$B$k!%(B 1$B$DL\$NJ}K!$O(B\hgcmd{serve}$B%3%^%s%I$r;H$&J}K!$G!$$3$l$OC;4|4V$N(B``$B<j7Z(B
+$B$J(B''$B%5!<%S%9$KE*$7$F$$$k!%$3$N%3%^%s%I$N>\:Y$J;HMQK!$K$D$$$F$O2<5-(B
+$B$N(B~\ref{sec:collab:serve}$B@a$r;2>H$N$3$H!%%j%]%8%H%j$rD94|4V$K$o$?$j1JB3E*(B
+$B$K%5!<%S%9$7$?$$>l9g$O!$(BMercurial$B$KFbB"$N(BCGI(Common Gateway Interface)$B%5(B
+$B%]!<%H$rMxMQ$9$k$3$H$,$G$-$k!%(B CGI$B$N@_Dj$K$D$$$F$O(B~\ref{sec:collab:cgi}$B@a(B
+$B$r;2>H$N$3$H!%(B
 
-\section{Collaboration models}
+%\section{Collaboration models}
+\section{$B6&F1:n6H%b%G%k(B}
+
+%With a suitably flexible tool, making decisions about workflow is much
+%more of a social engineering challenge than a technical one.
+%Mercurial imposes few limitations on how you can structure the flow of
+%work in a project, so it's up to you and your group to set up and live
+%with a model that matches your own particular needs.
 
-With a suitably flexible tool, making decisions about workflow is much
-more of a social engineering challenge than a technical one.
-Mercurial imposes few limitations on how you can structure the flow of
-work in a project, so it's up to you and your group to set up and live
-with a model that matches your own particular needs.
+$BE,@Z$G=@Fp$J%D!<%k$r$b$C$F$7$F$b!$%o!<%/%U%m!<$K4X$9$k7hDj$r$9$k$3$H$O5;(B
+$B=QE*$H$$$&$h$j$O<R2q9)3XE*$J%A%c%l%s%8$G$"$k!%(B Mercurial$B$,%W%m%8%'%/%H$N(B
+$B%o!<%/%U%m!<$K2]$9@)8B$O$[$H$s$I$J$$$?$a!$$3$l$r$$$+$K9=C[$9$k$+$O$"$J$?(B
+$B$H$=$N6&F1:n6H<T$KG$$5$l$F$*$j!$8GM-$NMW5a%^%C%A$9$k%b%G%k$r:n$k$3$H$,$G(B
+$B$-$k!%(B
 
-\subsection{Factors to keep in mind}
+%\subsection{Factors to keep in mind}
+\subsection{$B9MN8$9$Y$-MWAG(B}
+
+%The most important aspect of any model that you must keep in mind is
+%how well it matches the needs and capabilities of the people who will
+%be using it.  This might seem self-evident; even so, you still can't
+%afford to forget it for a moment.
 
-The most important aspect of any model that you must keep in mind is
-how well it matches the needs and capabilities of the people who will
-be using it.  This might seem self-evident; even so, you still can't
-afford to forget it for a moment.
+$B$I$N$h$&$J%b%G%k$r;H$&>l9g$G$b!$$=$l$,:n6H$9$k?M!9$NMW5a$HG=NO$KE,$C$?$b(B
+$B$N$G$"$k$+$r>o$KG0F,$KCV$/$3$H$,:G$b=EMW$G$"$k!%(B
+$B$3$l$O<+L@$N$3$H$N$h$&$K;W$($k$+$b$7$l$J$$$,!$JR;~$bK:$l$F$O$J$i$J$$!%(B
+
+%I once put together a workflow model that seemed to make perfect sense
+%to me, but that caused a considerable amount of consternation and
+%strife within my development team.  In spite of my attempts to explain
+%why we needed a complex set of branches, and how changes ought to flow
+%between them, a few team members revolted.  Even though they were
+%smart people, they didn't want to pay attention to the constraints we
+%were operating under, or face the consequences of those constraints in
+%the details of the model that I was advocating.
+
+$B<+J,$K$H$C$F40A4$H;W$($k%o!<%/%U%m!<%b%G%k$r9=C[$7$?$D$b$j$,!$6&F13+H/%A!<(B
+$B%`$K$H$C$F$OBg$-$J6C$-$H3kF#$rM?$($F$7$^$C$?$3$H$,$"$k!%J#;($J%V%i%s%A$N(B
+$B=89g$,$J$<I,MW$J$N$+JQ99$,%V%i%s%A4V$G$I$N$h$&$KEAGE$9$k$N$+$r@bL@$7$?$K(B
+$B$b$+$+$o$i$:!$4v?M$+$N%A!<%`%a%s%P!<$OH?H/$7$?!%H`$i$OAoL@$G$"$C$?$,!$;d(B
+$B$,94$C$?%k!<%k$,:n6H$KM?$($k@)8B$d!$%b%G%k$N:YIt$KM?$($k1F6A$KCm0U$rJ'$&(B
+$B$3$H$OK>$^$J$+$C$?!%(B
 
-I once put together a workflow model that seemed to make perfect sense
-to me, but that caused a considerable amount of consternation and
-strife within my development team.  In spite of my attempts to explain
-why we needed a complex set of branches, and how changes ought to flow
-between them, a few team members revolted.  Even though they were
-smart people, they didn't want to pay attention to the constraints we
-were operating under, or face the consequences of those constraints in
-the details of the model that I was advocating.
+%Don't sweep foreseeable social or technical problems under the rug.
+%Whatever scheme you put into effect, you should plan for mistakes and
+%problem scenarios.  Consider adding automated machinery to prevent, or
+%quickly recover from, trouble that you can anticipate.  As an example,
+%if you intend to have a branch with not-for-release changes in it,
+%you'd do well to think early about the possibility that someone might
+%accidentally merge those changes into a release branch.  You could
+%avoid this particular problem by writing a hook that prevents changes
+%from being merged from an inappropriate branch.
 
-Don't sweep foreseeable social or technical problems under the rug.
-Whatever scheme you put into effect, you should plan for mistakes and
-problem scenarios.  Consider adding automated machinery to prevent, or
-quickly recover from, trouble that you can anticipate.  As an example,
-if you intend to have a branch with not-for-release changes in it,
-you'd do well to think early about the possibility that someone might
-accidentally merge those changes into a release branch.  You could
-avoid this particular problem by writing a hook that prevents changes
-from being merged from an inappropriate branch.
+$B>-Mh5/$3$jF@$k<R2qE*$^$?$$$O5;=QE*LdBj$KL\$rbT$C$F$O$J$i$J$$!%$I$N$h$&$J(B
+$BJ}K!$r$H$k$K;V<j$b!$4V0c$$$dLdBj$,5/$-$?>l9g$KHw$($F$*$/I,MW$,$"$k!%A[A|(B
+$B$7F@$k%H%i%V%k$rKI;_$7$?$j!$%H%i%V%k$+$iAGAa$/2sI|$5$;$k$?$a$N<+F02=$5$l(B
+$B$?J}K!$r9M$($F$*$/I,MW$,$"$k!%$?$H$($P!$%j%j!<%9$K4^$a$J$$JQ99$r9T$C$?%V(B
+$B%i%s%A$,$"$k$H$7$?$i!$C/$+$,8m$C$F$=$3$+$i%j%j!<%9%V%i%s%A$KJQ99$r%^!<%8(B
+$B$7$F$7$^$&2DG=@-$K$D$$$F8!F$$7$F$*$/$Y$-$G$"$k!%$3$N>l9g$G$"$l$P!$ITE,@Z(B
+$B$J%V%i%s%A$+$i$N%^!<%8$r6X;_$9$k%U%C%/$rMQ0U$9$k$3$H$GLdBj$r2sHr$9$k$3$H(B
+$B$,$G$-$k!%(B
 
-\subsection{Informal anarchy}
+%\subsection{Informal anarchy}
+\subsection{$BHs8x<0$J:.Mp(B}
 
 I wouldn't suggest an ``anything goes'' approach as something
 sustainable, but it's a model that's easy to grasp, and it works
@@ -112,7 +180,8 @@
 scale beyond a handful people, because each individual needs to know
 about $n$ different repositories to pull from.
 
-\subsection{A single central repository}
+%\subsection{A single central repository}
+\subsection{1$B$D$N=8Cf%j%]%8%H%j(B}
 
 For smaller projects migrating from a centralised revision control
 tool, perhaps the easiest way to get started is to have changes flow
@@ -142,7 +211,8 @@
 needs of people who don't have push access, and those who want to use
 web browsers to browse the repository's history.
 
-\subsection{Working with multiple branches}
+%\subsection{Working with multiple branches}
+\subsection{$BJ#?t$N%V%i%s%A$G$N:n6H(B}
 
 Projects of any significant size naturally tend to make progress on
 several fronts simultaneously.  In the case of software, it's common
@@ -176,7 +246,7 @@
 Using the tag that was recorded at the milestone, people who clone
 that repository at any time in the future can use \hgcmd{update} to
 get a copy of the working directory exactly as it was when that tagged
-revision was committed.  
+revision was committed.
 \interaction{branching.update}
 
 In addition, immediately after the main branch is tagged, someone can
@@ -202,7 +272,8 @@
 branch, but it will also contain all of the bugfixes from the stable
 branch.  The stable branch remains unaffected by these changes.
 
-\subsection{Feature branches}
+%\subsection{Feature branches}
+\subsection{$B5!G=$K$h$k%V%i%s%A(B}
 
 For larger projects, an effective way to manage change is to break up
 a team into smaller groups.  Each group has a shared branch of its
@@ -221,7 +292,8 @@
 on that feature team pulls and merges from the master branch into the
 feature branch, then pushes back up to the master branch.
 
-\subsection{The release train}
+%\subsection{The release train}
+\subsection{$B%j%j!<%9$N7R$,$j(B}
 
 Some projects are organised on a ``train'' basis: a release is
 scheduled to happen every few months, and whatever features are ready
@@ -233,7 +305,8 @@
 the feature branch, and the team continues its work on top of that
 release so that their feature can make the next release.
 
-\subsection{The Linux kernel model}
+%\subsection{The Linux kernel model}
+\subsection{Linux$B%+!<%M%k%b%G%k(B}
 
 The development of the Linux kernel has a shallow hierarchical
 structure, surrounded by a cloud of apparent chaos.  Because most
@@ -297,7 +370,8 @@
 of development is astounding.  And yet Linux is a highly successful,
 well-regarded piece of software.
 
-\subsection{Pull-only versus shared-push collaboration}
+%\subsection{Pull-only versus shared-push collaboration}
+\subsection{Pull$B$N$_BP6&M-(Bpush$B%3%i%\%l!<%7%g%s(B}
 
 A perpetual source of heat in the open source community is whether a
 development model in which people only ever pull changes from others
@@ -316,7 +390,8 @@
 how you work together based on your own needs and preferences, not on
 what contortions your tools force you into.
 
-\subsection{Where collaboration meets branch management}
+%\subsection{Where collaboration meets branch management}
+\subsection{$B6&F1:n6H$,%V%i%s%A4IM}$HD>LL$9$k$H$3$m(B}
 
 Once you and your team set up some shared repositories and start
 propagating changes back and forth between local and shared repos, you
@@ -326,12 +401,14 @@
 collaborates, it's dense enough to merit treatment of its own, in
 chapter~\ref{chap:branch}.
 
-\section{The technical side of sharing}
+%\section{The technical side of sharing}
+\section{$B6&M-$N5;=QE*B&LL(B}
 
 The remainder of this chapter is devoted to the question of serving
 data to your collaborators.
 
-\section{Informal sharing with \hgcmd{serve}}
+%\section{Informal sharing with \hgcmd{serve}}
+\section{\hgcmd{serve}$B$K$h$kHs8x<0$J6&M-(B}
 \label{sec:collab:serve}
 
 Mercurial's \hgcmd{serve} command is wonderfully suited to small,
@@ -365,7 +442,8 @@
 This can help you to quickly get acquainted with using commands on
 network-hosted repositories.
 
-\subsection{A few things to keep in mind}
+%\subsection{A few things to keep in mind}
+\subsection{$B3P$($F$*$/$Y$-(B2, 3$B$NE@(B}
 
 Because it provides unauthenticated read access to all clients, you
 should only use \hgcmd{serve} in an environment where you either don't
@@ -389,7 +467,8 @@
 correctly, and find out what URL you should send to your
 collaborators, start it with the \hggopt{-v} option.
 
-\section{Using the Secure Shell (ssh) protocol}
+%\section{Using the Secure Shell (ssh) protocol}
+\section{Secure Shell (ssh)$B%W%m%H%3%k$N;HMQ(B}
 \label{sec:collab:ssh}
 
 You can pull and push changes securely over a network connection using
@@ -405,7 +484,8 @@
 (If you \emph{are} familiar with ssh, you'll probably find some of the
 material that follows to be elementary in nature.)
 
-\subsection{How to read and write ssh URLs}
+%\subsection{How to read and write ssh URLs}
+\subsection{ssh$B$N(BURL$B$r$I$N$h$&$KFI$`$+(B}
 
 An ssh URL tends to look like this:
 \begin{codesample2}
@@ -452,7 +532,8 @@
   ssh://server//absolute/path
 \end{codesample2}
 
-\subsection{Finding an ssh client for your system}
+%\subsection{Finding an ssh client for your system}
+\subsection{$BMxMQCf$N%7%9%F%`8~$1$N(Bssh client$B$r8+$D$1$k(B}
 
 Almost every Unix-like system comes with OpenSSH preinstalled.  If
 you're using such a system, run \Verb|which ssh| to find out if
@@ -485,7 +566,8 @@
   idea).
 \end{note}
 
-\subsection{Generating a key pair}
+%\subsection{Generating a key pair}
+\subsection{$B%-!<%Z%"$N:n@.(B}
 
 To avoid the need to repetitively type a password every time you need
 to use your ssh client, I recommend generating a key pair.  On a
@@ -511,7 +593,8 @@
 window it's displayed in straight into the
 \sfilename{authorized\_keys} file.
 
-\subsection{Using an authentication agent}
+%\subsection{Using an authentication agent}
+\subsection{$BG'>Z%(!<%8%'%s%H$N;HMQ(B}
 
 An authentication agent is a daemon that stores passphrases in memory
 (so it will forget passphrases if you log out and log back in again).
@@ -534,7 +617,8 @@
 command acts as the agent.  It adds an icon to your system tray that
 will let you manage stored passphrases.
 
-\subsection{Configuring the server side properly}
+%\subsection{Configuring the server side properly}
+\subsection{$B%5!<%P$N@5$7$$@_Dj(B}
 
 Because ssh can be fiddly to set up if you're new to it, there's a
 variety of things that can go wrong.  Add Mercurial on top, and
@@ -651,7 +735,8 @@
 point, try using the \hggopt{--debug} option to get a clearer picture
 of what's going on.
 
-\subsection{Using compression with ssh}
+%\subsection{Using compression with ssh}
+\subsection{ssh$B$G$N05=L$NMxMQ(B}
 
 Mercurial does not compress data when it uses the ssh protocol,
 because the ssh protocol can transparently compress data.  However,
@@ -686,7 +771,8 @@
 and use compression.  This gives you both a shorter name to type and
 compression, each of which is a good thing in its own right.
 
-\section{Serving over HTTP using CGI}
+%\section{Serving over HTTP using CGI}
+\section{CGI$B$r;HMQ$7$?(BHTTP$B$G$N%5!<%S%9(B}
 \label{sec:collab:cgi}
 
 Depending on how ambitious you are, configuring Mercurial's CGI
@@ -706,7 +792,8 @@
   of time reading your server's error logs.
 \end{note}
 
-\subsection{Web server configuration checklist}
+%\subsection{Web server configuration checklist}
+\subsection{Web$B%5!<%P@_Dj$N%A%'%C%/%j%9%H(B}
 
 Before you continue, do take a few moments to check a few aspects of
 your system's setup.
@@ -731,7 +818,8 @@
 repositories.  And \texttt{lighttpd} is undeniably \emph{much} easier
 to get started with than Apache.
 
-\subsection{Basic CGI configuration}
+%\subsection{Basic CGI configuration}
+\subsection{CGI$B$N4pK\E*$J@_Dj(B}
 
 On Unix-like systems, it's common for users to have a subdirectory
 named something like \dirname{public\_html} in their home directory,
@@ -763,7 +851,8 @@
   chmod 755 ~/public_html
 \end{codesample2}
 
-\subsubsection{What could \emph{possibly} go wrong?}
+%\subsubsection{What could \emph{possibly} go wrong?}
+\subsubsection{$B$I$3$,LdBj$H@.$jF@$k$+(B?}
 \label{sec:collab:wtf}
 
 Once you've copied the CGI script into place, go into a web browser,
@@ -851,7 +940,8 @@
 At this point, when you try to reload the page, you should be
 presented with a nice HTML view of your repository's history.  Whew!
 
-\subsubsection{Configuring lighttpd}
+%\subsubsection{Configuring lighttpd}
+\subsubsection{lighttpd$B$N@_Dj(B}
 
 To be exhaustive in my experiments, I tried configuring the
 increasingly popular \texttt{lighttpd} web server to serve the same
@@ -879,7 +969,8 @@
 easier to configure than Apache, even though I've used Apache for over
 a decade, and this was my first exposure to \texttt{lighttpd}.
 
-\subsection{Sharing multiple repositories with one CGI script}
+%\subsection{Sharing multiple repositories with one CGI script}
+\subsection{1$B$D$N(BCGI$B%9%/%j%W%H$GJ#?t$N%j%]%8%H%j$r6&M-$9$k(B}
 
 The \sfilename{hgweb.cgi} script only lets you publish a single
 repository, which is an annoying restriction.  If you want to publish
@@ -952,7 +1043,8 @@
 into, or out of, the directory hierarchy in which you've configured
 \sfilename{hgwebdir.cgi} to look.
 
-\subsubsection{Explicitly specifying which repositories to publish}
+%\subsubsection{Explicitly specifying which repositories to publish}
+\subsubsection{$B$I$N%j%]%8%H%j$rI=<($9$k$+L@<(E*$K;XDj$9$k(B}
 
 In addition to the \texttt{collections} mechanism, the
 \sfilename{hgwebdir.cgi} script allows you to publish a specific list
@@ -979,7 +1071,8 @@
   behave unpredictably.
 \end{note}
 
-\subsection{Downloading source archives}
+%\subsection{Downloading source archives}
+\subsection{$B%=!<%9%"!<%+%$%V$N%@%&%s%m!<%I(B}
 
 Mercurial's web interface lets users download an archive of any
 revision.  This archive will contain a snapshot of the working
@@ -990,7 +1083,8 @@
 add an \rcitem{web}{allow\_archive} item to the \rcsection{web}
 section of your \hgrc.
 
-\subsection{Web configuration options}
+%\subsection{Web configuration options}
+\subsection{Web$B@_Dj%*%W%7%g%s(B}
 
 Mercurial's web interfaces (the \hgcmd{serve} command, and the
 \sfilename{hgweb.cgi} and \sfilename{hgwebdir.cgi} scripts) have a
@@ -1060,7 +1154,8 @@
 convenience.  These items are \rcitem{web}{motd} and
 \rcitem{web}{style}.
 
-\subsubsection{Options specific to an individual repository}
+%\subsubsection{Options specific to an individual repository}
+\subsubsection{$B8D!9$N%j%]%8%H%j$KFCM-$N%*%W%7%g%s(B}
 
 A few \rcsection{web} configuration items ought to be placed in a
 repository's local \sfilename{.hg/hgrc}, rather than a user's or
@@ -1074,7 +1169,8 @@
   last component of the repository's path.
 \end{itemize}
 
-\subsubsection{Options specific to the \hgcmd{serve} command}
+%\subsubsection{Options specific to the \hgcmd{serve} command}
+\subsubsection{\hgcmd{serve}$B%3%^%s%IFCM-$N%*%W%7%g%s(B}
 
 Some of the items in the \rcsection{web} section of a \hgrc\ file are
 only for use with the \hgcmd{serve} command.
@@ -1096,8 +1192,9 @@
   server should listen.  The default port number used is~8000.
 \end{itemize}
 
-\subsubsection{Choosing the right \hgrc\ file to add \rcsection{web}
-  items to}
+%\subsubsection{Choosing the right \hgrc\ file to add \rcsection{web}
+  %items to}
+\subsubsection{\rcsection{web}$B%"%$%F%`$rDI2C$9$k@5$7$$(B\hgrc $B%U%!%$%k$rA*$V(B}
 
 It is important to remember that a web server like Apache or
 \texttt{lighttpd} will run under a user~ID that is different to yours.
@@ -1112,7 +1209,7 @@
 those settings to a system-wide \hgrc\ file.
 
 
-%%% Local Variables: 
+%%% Local Variables:
 %%% mode: yatex
 %%% TeX-master: "00book"
-%%% End: 
+%%% End: