changeset 371:3f9f9b087109

more collab.tex
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Mon, 08 Dec 2008 12:30:31 +0900
parents 47830e17cd00
children bc32663d557e
files ja/collab.tex
diffstat 1 files changed, 210 insertions(+), 110 deletions(-) [+]
line wrap: on
line diff
--- a/ja/collab.tex	Mon Dec 08 02:34:26 2008 +0900
+++ b/ja/collab.tex	Mon Dec 08 12:30:31 2008 +0900
@@ -958,67 +958,118 @@
 %\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
-there's plenty more scope for head-scratching.  Most of these
-potential problems occur on the server side, not the client side.  The
-good news is that once you've gotten a configuration working, it will
-usually continue to work indefinitely.
+%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
+%there's plenty more scope for head-scratching.  Most of these
+%potential problems occur on the server side, not the client side.  The
+%good news is that once you've gotten a configuration working, it will
+%usually continue to work indefinitely.
+
+ssh$B$O47$l$F$$$J$$$H@_Dj$,Fq$7$$$?$a!$4V0c$$$rHH$9M>CO$O$$$?$k=j$K$"$k!%(B
+Mercurial$B$H6&$KF0$+$9>l9g!$$5$i$KB?$/$,BT$A9=$($F$$$k!%$3$l$i$NKX$s$I$,%/(B
+$B%i%$%"%s%HB&$G$O$J$/%5!<%PB&$G5/$-$k!%$7$+$70lEY$-$A$s$HF0:n$9$k@_Dj$r$7(B
+$B$F$7$^$($P!$F0:n$O$:$C$HB3$/!%(B
 
-Before you try using Mercurial to talk to an ssh server, it's best to
-make sure that you can use the normal \command{ssh} or \command{putty}
-command to talk to the server first.  If you run into problems with
-using these commands directly, Mercurial surely won't work.  Worse, it
-will obscure the underlying problem.  Any time you want to debug
-ssh-related Mercurial problems, you should drop back to making sure
-that plain ssh client commands work first, \emph{before} you worry
-about whether there's a problem with Mercurial.
+%Before you try using Mercurial to talk to an ssh server, it's best to
+%make sure that you can use the normal \command{ssh} or \command{putty}
+%command to talk to the server first.  If you run into problems with
+%using these commands directly, Mercurial surely won't work.  Worse, it
+%will obscure the underlying problem.  Any time you want to debug
+%ssh-related Mercurial problems, you should drop back to making sure
+%that plain ssh client commands work first, \emph{before} you worry
+%about whether there's a problem with Mercurial.
 
-The first thing to be sure of on the server side is that you can
-actually log in from another machine at all.  If you can't use
-\command{ssh} or \command{putty} to log in, the error message you get
-may give you a few hints as to what's wrong.  The most common problems
-are as follows.
+Mercurial$B$+$i(Bssh$B%5!<%P$K@\B3$9$kA0$K!$(B\command{ssh}$B$^$?$O(B\command{putty}
+$B%3%^%s%I$r;H$C$F%5!<%P$K@\B3$7$F$_$k$3$H$r4+$a$k!%$3$l$i$N%3%^%s%I$rD>@\(B
+$B;H$C$FLdBj$,5/$-$k$h$&$G$"$l$P!$(BMercurial$B$OF0:n$7$J$$$O$:$@!%(B ssh$B$N>e$G(B
+Mercurial$B$r;H$&$3$H$G!$2<0L$NLdBj$,1#$l$F$7$^$&$N$G!$(Bssh$B$K4XO"$7$?(B
+Mercurial$B$NLdBj$r%G%P%C%0$9$k;~$O!$$^$:(Bssh$B%/%i%$%"%s%H%3%^%s%I<+BN$,F0:n(B
+$B$9$k$3$H$r3NG'$7!$$=$N8e$K(BMercurial$B$NLdBj$r2r7h$9$Y$-$G$"$k!%(B
+
+%The first thing to be sure of on the server side is that you can
+%actually log in from another machine at all.  If you can't use
+%\command{ssh} or \command{putty} to log in, the error message you get
+%may give you a few hints as to what's wrong.  The most common problems
+%are as follows.
+
+$B%5!<%PB&$G$^$:3NG'$9$Y$-$J$N$O!$B>$N%^%7%s$+$i%m%0%$%s$G$-$k$+$I$&$+$G$"(B
+$B$k!%(B \command{ssh}$B$^$?$O(B\command{putty}$B%3%^%s%I$G%m%0%$%s$G$-$J$$>l9g$O!$(B
+$B%(%i!<%a%C%;!<%8$K2?$,0-$$$N$+<($9%R%s%H$,$"$k$+$bCN$l$J$$!%:G$b0lHLE*$J(B
+$BLdBj$r0J2<$KNs5s$9$k!%(B
 \begin{itemize}
-\item If you get a ``connection refused'' error, either there isn't an
-  SSH daemon running on the server at all, or it's inaccessible due to
-  firewall configuration.
-\item If you get a ``no route to host'' error, you either have an
-  incorrect address for the server or a seriously locked down firewall
-  that won't admit its existence at all.
-\item If you get a ``permission denied'' error, you may have mistyped
-  the username on the server, or you could have mistyped your key's
-  passphrase or the remote user's password.
+%\item If you get a ``connection refused'' error, either there isn't an
+%  SSH daemon running on the server at all, or it's inaccessible due to
+%  firewall configuration.
+ \item ``connection refused''$B%(%i!<$,=P$k;~$O!$(BSSH$B%G!<%b%s$,F0:n$7$F$$$J(B
+       $B$$$+!$%U%!%$%"%&%)!<%k@_Dj$N$?$a$K%^%7%s$X$N%"%/%;%9$,IT2DG=$G$"(B
+       $B$k2DG=@-$,$"$k!%(B
+%\item If you get a ``no route to host'' error, you either have an
+%  incorrect address for the server or a seriously locked down firewall
+%  that won't admit its existence at all.
+ \item ``no route to host''$B%(%i!<$,=P$k>l9g$O!$%5!<%P$N%"%I%l%9$r4V0c$((B
+       $B$F$$$k$+!$%U%!%$%"%&%)!<%k$,%5!<%P$r40A4$K1#$7$F$7$^$C$F$$$k$3$H(B
+       $B$,9M$($i$l$k!%(B
+%\item If you get a ``permission denied'' error, you may have mistyped
+%  the username on the server, or you could have mistyped your key's
+%  passphrase or the remote user's password.
+ \item ``permission denied''$B%(%i!<$,=P$k>l9g$O!$%f!<%6L>$r4V0c$C$FF~NO$7(B
+       $B$F$$$k$+!$%m%0%$%sMQ80$N%Q%9%U%l!<%:$d%f!<%6%Q%9%o!<%I$r4V0c$C$F(B
+       $BF~NO$7$F$$$k2DG=@-$,$"$k!%(B
 \end{itemize}
-In summary, if you're having trouble talking to the server's ssh
-daemon, first make sure that one is running at all.  On many systems
-it will be installed, but disabled, by default.  Once you're done with
-this step, you should then check that the server's firewall is
-configured to allow incoming connections on the port the ssh daemon is
-listening on (usually~22).  Don't worry about more exotic
-possibilities for misconfiguration until you've checked these two
-first.
+%In summary, if you're having trouble talking to the server's ssh
+%daemon, first make sure that one is running at all.  On many systems
+%it will be installed, but disabled, by default.  Once you're done with
+%this step, you should then check that the server's firewall is
+%configured to allow incoming connections on the port the ssh daemon is
+%listening on (usually~22).  Don't worry about more exotic
+%possibilities for misconfiguration until you've checked these two
+%first.
+
+$B$^$H$a$k$H!$%5!<%P$N(Bssh$B%G!<%b%s$X@\B3$9$k:]$K$O!$$^$:%G!<%b%s$,F0:n$7$F$$(B
+$B$k$+$r3NG'$9$k$3$H!%%G%U%)%k%H$G%$%s%9%H!<%k$5$l$F$O$$$k$,!$Dd;_$5$l$F$$(B
+$B$k%7%9%F%`$b$"$k!%$3$l$r3NG'$7$?8e$G%5!<%P$N%U%!%$%"%&%)!<%k$,(Bssh$B%G!<%b%s(B
+$B$NBT5!$7$F$k%]!<%H!JDL>o$O(B22$BHV!K$X$N@\B3$r5v2D$7$F$$$k$+3NG'$9$k!%B>$N=t!9(B
+$B$N2DG=@-$r9M$($kA0$K$^$:$3$N(B2$BE@$r3NG'$9$Y$-$G$"$k!%(B
 
-If you're using an authentication agent on the client side to store
-passphrases for your keys, you ought to be able to log into the server
-without being prompted for a passphrase or a password.  If you're
-prompted for a passphrase, there are a few possible culprits.
+%If you're using an authentication agent on the client side to store
+%passphrases for your keys, you ought to be able to log into the server
+%without being prompted for a passphrase or a password.  If you're
+%prompted for a passphrase, there are a few possible culprits.
+
+$B%/%i%$%"%s%HB&$G80$N%Q%9%U%l!<%:$r5-21$5$;$k$?$a$KG'>Z%(!<%8%'%s%H$rF0$+(B
+$B$7$F$$$k$J$i!$%Q%9%U%l!<%:$d%Q%9%o!<%I$NF~NO$rB%$5$l$k$3$H$J$7$K%5!<%P$K(B
+$B%m%0%$%s$G$-$k$O$:$@!%$b$7%Q%9%U%l!<%:$NF~NO$rMW5a$5$l$k$J$i!$$$$/$D$+$N(B
+$B2DG=@-$,9M$($i$l$k!%(B
 \begin{itemize}
-\item You might have forgotten to use \command{ssh-add} or
-  \command{pageant} to store the passphrase.
-\item You might have stored the passphrase for the wrong key.
+%\item You might have forgotten to use \command{ssh-add} or
+%  \command{pageant} to store the passphrase.
+ \item $B%Q%9%U%l!<%:$r5-21$5$;$k$?$a$K(B\command{ssh-add}$B$^$?$O(B
+       \command{pageant}$B$r<B9T$7$F$$$J$$!%(B
+%\item You might have stored the passphrase for the wrong key.
+ \item $BJL$N%-!<$N%Q%9%U%l!<%:$r5-21$5$;$F$$$k!%(B
 \end{itemize}
-If you're being prompted for the remote user's password, there are
-another few possible problems to check.
+%If you're being prompted for the remote user's password, there are
+%another few possible problems to check.
+$B%j%b!<%H%f!<%6$N%Q%9%o!<%I$rMW5a$5$l$k>l9g$OJL$NLdBj$,$"$k$+$b$7$l$J$$!%(B
 \begin{itemize}
-\item Either the user's home directory or their \sdirname{.ssh}
-  directory might have excessively liberal permissions.  As a result,
-  the ssh daemon will not trust or read their
-  \sfilename{authorized\_keys} file.  For example, a group-writable
-  home or \sdirname{.ssh} directory will often cause this symptom.
-\item The user's \sfilename{authorized\_keys} file may have a problem.
-  If anyone other than the user owns or can write to that file, the
-  ssh daemon will not trust or read it.
+%\item Either the user's home directory or their \sdirname{.ssh}
+%  directory might have excessively liberal permissions.  As a result,
+
+%  the ssh daemon will not trust or read their
+%  \sfilename{authorized\_keys} file.  For example, a group-writable
+%  home or \sdirname{.ssh} directory will often cause this symptom.
+ \item $B%f!<%6$N%[!<%`%G%#%l%/%H%j$^$?$O(B\sdirname{.ssh}$B%G%#%l%/%H%j$N%Q!<(B
+       $B%_%C%7%g%s$,4K$9$.$k!%$3$N$?$a!$(Bssh$B%G!<%b%s$,(B
+       \sfilename{authorized\_keys}\sfilename{authorized\_keys}$B%U%!%$%k$r(B
+       $B?.Mj$G$-$J$$$+!$$"$k$$$OC1=c$KFI$a$J$$!%Nc$($P%0%k!<%W=q$-9~$_%Q!<(B
+       $B%_%C%7%g%s$N$"$k%[!<%`%G%#%l%/%H%j$^$?$O(B\sdirname{.ssh}$B%G%#%l%/%H(B
+       $B%j$O$3$NLdBj$r$7$P$7$P0z$-5/$3$9!%(B
+%\item The user's \sfilename{authorized\_keys} file may have a problem.
+%  If anyone other than the user owns or can write to that file, the
+%  ssh daemon will not trust or read it.
+ \item $B%f!<%6$N(B\sfilename{authorized\_keys}$B%U%!%$%k$KLdBj$,$"$k!%%U%!%$(B
+       $B%k$N=jM-<T$,JL$N%f!<%6$@$C$?$j!$B>$N%f!<%6$,=q$-9~$_$G$-$k>l9g$O(B
+       ssh$B%G!<%b%s$O$3$N%U%!%$%k$r?.Mj$;$:!$FI$_9~$^$J$$!%(B
 \end{itemize}
 
 %In the ideal world, you should be able to run the following command
@@ -1029,50 +1080,84 @@
   ssh myserver date
 \end{codesample2}
 
-If, on your server, you have login scripts that print banners or other
-junk even when running non-interactive commands like this, you should
-fix them before you continue, so that they only print output if
-they're run interactively.  Otherwise these banners will at least
-clutter up Mercurial's output.  Worse, they could potentially cause
-problems with running Mercurial commands remotely.  Mercurial makes
-tries to detect and ignore banners in non-interactive \command{ssh}
-sessions, but it is not foolproof.  (If you're editing your login
-scripts on your server, the usual way to see if a login script is
-running in an interactive shell is to check the return code from the
-command \Verb|tty -s|.)
+%If, on your server, you have login scripts that print banners or other
+%junk even when running non-interactive commands like this, you should
+%fix them before you continue, so that they only print output if
+%they're run interactively.  Otherwise these banners will at least
+%clutter up Mercurial's output.  Worse, they could potentially cause
+%problems with running Mercurial commands remotely.  Mercurial makes
+%tries to detect and ignore banners in non-interactive \command{ssh}
+%sessions, but it is not foolproof.  (If you're editing your login
+%scripts on your server, the usual way to see if a login script is
+%running in an interactive shell is to check the return code from the
+%command \Verb|tty -s|.)
 
-Once you've verified that plain old ssh is working with your server,
-the next step is to ensure that Mercurial runs on the server.  The
-following command should run successfully:
+$B%5!<%P$G!$%P%J!<$d$=$NB>$N0UL#$N$J$$J8;zNs$rI=<($9$k$h$&$J%m%0%$%s%9%/%j(B
+$B%W%H$r;H$C$F$$$k>l9g!$BPOCE*$J%3%^%s%I0J30$G$O$3$l$i$rI=<($7$J$$$h$&$K$9(B
+$B$k!%$3$l$i$NJ8;zNs$O(BMercurial$B$N=PNO$K:.F~$7$F$7$^$$!$(BMercurial$B%3%^%s%I$r(B
+$B%j%b!<%H<B9T$9$kK8$2$H$J$k!%(B
+Mercurial$B$OHsBPOCE*$J(B\command{ssh}$B$G$O$3$l$i$N%P%J!<$r8!=P$7!$L5;k$7$h$&(B
+$B$H;n$_$k$,!$$3$l$OK|A4$G$O$J$$!%!J%5!<%P$N%m%0%$%s%9%/%j%W%H$rJT=8$9$k>l(B
+$B9g!$%m%0%$%s%9%/%j%W%H$,BPOCE*%7%'%k$GF0:n$7$F$$$k$+$rCN$kJ}K!$H$7(B
+$B$F!$(B\Verb|tty -s|$B%3%^%s%I$N%j%?!<%s%3!<%I$r%A%'%C%/$9$kJ}K!$,$"$k!%!K(B
+
+%Once you've verified that plain old ssh is working with your server,
+%the next step is to ensure that Mercurial runs on the server.  The
+%following command should run successfully:
+ssh$BC1BN$G%5!<%P$K@\B3$G$-$k$3$H$r3NG'$7$?$i!$(BMercurial$B$,%5!<%P$GF0:n$9$k(B
+$B$3$H$r3NG'$9$k!%<!$N%3%^%s%I$,F0$/$+$I$&$+D4$Y$F$_$h$&!'(B
 \begin{codesample2}
   ssh myserver hg version
 \end{codesample2}
-If you see an error message instead of normal \hgcmd{version} output,
-this is usually because you haven't installed Mercurial to
-\dirname{/usr/bin}.  Don't worry if this is the case; you don't need
-to do that.  But you should check for a few possible problems.
+%If you see an error message instead of normal \hgcmd{version} output,
+%this is usually because you haven't installed Mercurial to
+%\dirname{/usr/bin}.  Don't worry if this is the case; you don't need
+%to do that.  But you should check for a few possible problems.
+\hgcmd{version}$B$N=PNO$G$O$J$/%(%i!<%a%C%;!<%8$,I=<($5$l$k$H$-(B
+$B$O!$(B\dirname{/usr/bin}$B$K(BMercurial$B$,%$%s%9%H!<%k$5$l$F$$$J$$$3$H$,B?$$!%(B
+$B$3$N>l9g!$(B\dirname{/usr/bin}$B$K%$%s%9%H!<%k$7D>$9I,MW$O$J$$!%$=$NBe$o$j!$(B
+$B$$$/$D$+$NLdBj$r%A%'%C%/$9$Y$-$G$"$k!%(B
 \begin{itemize}
-\item Is Mercurial really installed on the server at all?  I know this
-  sounds trivial, but it's worth checking!
-\item Maybe your shell's search path (usually set via the \envar{PATH}
-  environment variable) is simply misconfigured.
-\item Perhaps your \envar{PATH} environment variable is only being set
-  to point to the location of the \command{hg} executable if the login
-  session is interactive.  This can happen if you're setting the path
-  in the wrong shell login script.  See your shell's documentation for
-  details.
-\item The \envar{PYTHONPATH} environment variable may need to contain
-  the path to the Mercurial Python modules.  It might not be set at
-  all; it could be incorrect; or it may be set only if the login is
-  interactive.
+%\item Is Mercurial really installed on the server at all?  I know this
+%  sounds trivial, but it's worth checking!
+ \item $B%5!<%P$K(BMercurial$B$OK\Ev$K%$%s%9%H!<%k$5$l$F$$$k$+!)(B $B$3$l$O2<$i$J(B
+       $B$$Ld$$$N$h$&$K;W$($k$,!$3NG'$9$k2ACM$O$"$k!%(B
+%\item Maybe your shell's search path (usually set via the \envar{PATH}
+%  environment variable) is simply misconfigured.
+ \item $B%7%'%k$N%5!<%A%Q%9$,@5$7$/@_Dj$5$l$F$$$J$$!%!JDL>o$O4D6-JQ?t(B
+       \envar{PATH}$B$G@_Dj$5$l$k!%!K(B
+
+%\item Perhaps your \envar{PATH} environment variable is only being set
+%  to point to the location of the \command{hg} executable if the login
+
+%  session is interactive.  This can happen if you're setting the path
+%  in the wrong shell login script.  See your shell's documentation for
+%  details.
+ \item $BBPOCE*$J%m%0%$%s%;%C%7%g%s$N$H$-0J30$O4D6-JQ?t(B\envar{PATH}$B$,(B
+       \command{hg}$B<B9T%U%!%$%k$N$"$k%Q%9$r;X$7$F$$$J$$!%(B\envar{PATH}$B$rIT(B
+       $BE,@Z$J%m%0%$%s%9%/%j%W%H$G@_Dj$7$F$$$k$H$3$NLdBj$,5/$-$k!%>\$7$/$O(B
+       $B%7%'%k$N%I%-%e%a%s%H$r;2>H$9$k$3$H!%(B
+%\item The \envar{PYTHONPATH} environment variable may need to contain
+%  the path to the Mercurial Python modules.  It might not be set at
+%  all; it could be incorrect; or it may be set only if the login is
+%  interactive.
+ \item $B4D6-JQ?t(B\envar{PYTHONPATH}$B$,(BMercurial Python$B%b%8%e!<%k$r4^$`I,MW(B
+       $B$,$"$k>l9g!%$3$l$,A4$/@_Dj$5$l$F$$$J$$$+!$BPOCE*$J%m%0%$%s$G$N$_(B
+       $BM-8z$K$J$C$F$$$k!%(B
 \end{itemize}
 
-If you can run \hgcmd{version} over an ssh connection, well done!
-You've got the server and client sorted out.  You should now be able
-to use Mercurial to access repositories hosted by that username on
-that server.  If you run into problems with Mercurial and ssh at this
-point, try using the \hggopt{--debug} option to get a clearer picture
-of what's going on.
+%If you can run \hgcmd{version} over an ssh connection, well done!
+%You've got the server and client sorted out.  You should now be able
+%to use Mercurial to access repositories hosted by that username on
+%that server.  If you run into problems with Mercurial and ssh at this
+%point, try using the \hggopt{--debug} option to get a clearer picture
+%of what's going on.
+
+ssh$B@\B3$G(B\hgcmd{version}$B$r<B9T$G$-$?$N$J$i=`Hw$O40N;$@!%%5!<%P$H%/%i%$%"(B
+$B%s%H$N@_Dj$O@5$7$/9T$o$l$F$$$k!%$3$l$G%5!<%PB&$N%f!<%6L>$r;H$C$F%[%9%H$5(B
+$B$l$F$$$k%j%]%8%H%j$K(BMercurial$B$r;H$C$F%"%/%;%9$G$-$k$h$&$K$J$C$?!%$3$3$GLd(B
+$BBj$,$"$k$N$J$i!$(B\hggopt{--debug}$B%*%W%7%g%s$r;H$C$F2?$,LdBj$J$N$+$r$h$jL@(B
+$B3N$KGD0.$7$FM_$7$$!%(B
 
 %\subsection{Using compression with ssh}
 \subsection{ssh$B$G$N05=L$NMxMQ(B}
@@ -1082,40 +1167,55 @@
 %the default behaviour of ssh clients is \emph{not} to request
 %compression.
 
-Mercurial$B$O!$(Bssh$B%W%m%H%3%k$r;H$C$?>l9g$O!$%G!<%?$N05=L$O9T$o$J$$!%$J$<$J(B
-$B$i(Bssh$B%W%m%H%3%k$,F)2aE*$K%G!<%?$N05=L$r9T$&$3$H$,$G$-$k$?$a$G$"$k!%(B
-$B$7$+$7(Bssh$B%/%i%$%"%s%H$N%G%U%)%k%H$N5sF0$G$O!$05=L$r9T$o(B\emph{$B$J$$(B}$B!%(B
+Mercurial$B$O!$(Bssh$B%W%m%H%3%k$r;H$C$?>l9g$O!$%G!<%?$N05=L$O9T$o$J$$!%(Bssh$B%W%m(B
+$B%H%3%k$,F)2aE*$K%G!<%?$N05=L$r9T$&$3$H$,$G$-$k$?$a$G$"$k!%$7$+$7(Bssh$B%/%i%$(B
+$B%"%s%H$N%G%U%)%k%H$N5sF0$G$O!$05=L$r9T$o(B\emph{$B$J$$(B}$B!%(B
+
+%Over any network other than a fast LAN (even a wireless network),
+%using compression is likely to significantly speed up Mercurial's
+%network operations.  For example, over a WAN, someone measured
+%compression as reducing the amount of time required to clone a
+%particularly large repository from~51 minutes to~17 minutes.
 
-Over any network other than a fast LAN (even a wireless network),
-using compression is likely to significantly speed up Mercurial's
-network operations.  For example, over a WAN, someone measured
-compression as reducing the amount of time required to clone a
-particularly large repository from~51 minutes to~17 minutes.
+$B9bB.$J(BLAN$B0J30$N%M%C%H%o!<%/!J%o%$%d%l%9%M%C%H%o!<%/$b4^$`!K$G(B
+$B$O!$(BMercurial$B$N%M%C%H%o!<%/F0:n$r9bB.2=$9$k$N$K05=L$N;HMQ$O$H$F$b8z2LE*$G(B
+$B$"$k!%$"$k%f!<%6$N7WB,$K$h$l$P!$(BWAN$B7PM3$G$NBg5,LO$J%j%]%8%H%j$N%/%m!<%s(B
+$B$O!$05=L$r;H$&$3$H$G(B~51$BJ,$+$i(B~17$BJ,$KC;=L$9$k$3$H$,$G$-$?!%(B
 
-Both \command{ssh} and \command{plink} accept a \cmdopt{ssh}{-C}
-option which turns on compression.  You can easily edit your \hgrc\ to
-enable compression for all of Mercurial's uses of the ssh protocol.
+%Both \command{ssh} and \command{plink} accept a \cmdopt{ssh}{-C}
+%option which turns on compression.  You can easily edit your \hgrc\ to
+%enable compression for all of Mercurial's uses of the ssh protocol.
+\command{ssh}$B%3%^%s%I$b(B\command{plink}$B%3%^%s%I$b05=L$rM-8z$K$9$k(B
+\cmdopt{ssh}{-C}$B%*%W%7%g%s$,;H$($k!%(B\hgrc\ $B%U%!%$%k$rJT=8$7$F(BMercurial$B$,(B
+$B05=L$D$-$N(Bssh$B%W%m%H%3%k$r;HMQ$9$k$h$&$K@_Dj$9$k$3$H$,$G$-$k!%(B
 \begin{codesample2}
   [ui]
   ssh = ssh -C
 \end{codesample2}
 
-If you use \command{ssh}, you can configure it to always use
-compression when talking to your server.  To do this, edit your
-\sfilename{.ssh/config} file (which may not yet exist), as follows.
+%If you use \command{ssh}, you can configure it to always use
+%compression when talking to your server.  To do this, edit your
+%\sfilename{.ssh/config} file (which may not yet exist), as follows.
+\command{ssh}$B$G%5!<%P$X@\B3$9$k;~$K>o$K05=L$r;HMQ$9$k$h$&$K@_Dj$9$k$3$H$,(B
+$B$G$-$k!%(B\sfilename{.ssh/config}$B%U%!%$%k!JB8:_$7$J$$>l9g$O:n@.$9$k!K$r<!(B
+$B$N$h$&$KJT=8$9$k!%(B
 \begin{codesample2}
   Host hg
     Compression yes
     HostName hg.example.com
 \end{codesample2}
-This defines an alias, \texttt{hg}.  When you use it on the
-\command{ssh} command line or in a Mercurial \texttt{ssh}-protocol
-URL, it will cause \command{ssh} to connect to \texttt{hg.example.com}
-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.
+%This defines an alias, \texttt{hg}.  When you use it on the
+%\command{ssh} command line or in a Mercurial \texttt{ssh}-protocol
+%URL, it will cause \command{ssh} to connect to \texttt{hg.example.com}
+%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.
+$B$3$l$O(Balias \texttt{hg}$B$rDj5A$9$k!%$3$N(Balias$B$r(B\command{ssh}$B$N%3%^%s%I%i%$(B
+$B%s$G;H$&$+(BMercurial \texttt{ssh}-$B%W%m%H%3%k(B URL$B$G;HMQ$9$k$H(B\command{ssh}
+$B%3%^%s%I(Bh$B$O(B\texttt{hg.example.com}$B$X05=L$rMQ$$$F@\B3$r9T$&!%C;=L7A$N%[%9(B
+$B%HL>$H05=L$N@_Dj$rF1;~$K9T$&$3$H$,$G$-$k!%(B
 
 %\section{Serving over HTTP using CGI}
-\section{CGI$B$r;HMQ$7$?(BHTTP$B$G$N%5!<%S%9(B}
+\section{CGI$B$r;HMQ$7$?(BHTTP$B$K$h$k%5!<%S%9(B}
 \label{sec:collab:cgi}
 
 Depending on how ambitious you are, configuring Mercurial's CGI