hgbook

diff ja/hgext.tex @ 829:f557be55e432

Validation error.
author gpiancastelli
date Sun Aug 16 21:46:44 2009 +0200 (2009-08-16)
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/ja/hgext.tex	Sun Aug 16 21:46:44 2009 +0200
     1.3 @@ -0,0 +1,591 @@
     1.4 +\chapter{Adding functionality with extensions}
     1.5 +\label{chap:hgext}
     1.6 +
     1.7 +Mercurial $B$O5!G=@-$N8+CO$+$i8+$?>l9g$K$O?=$7J,L5$$0lJ}$G!"(B
     1.8 +$BJQ$j<o$N5!G=72$O8N0U$K=|30$5$l$F$$$^$9!#(B
     1.9 +$B4J7i$5$rJ]$D8/$jJ}$O!"(B
    1.10 +$BJ]<iC4Ev$HMxMQ<T$NN>J}$KBP$7$F%=%U%H%&%'%"$N07$$$d$9$5$r0];}$7$^$9!#(B
    1.11 +
    1.12 +$B$7$+$7(B Mercurial $B$O!"(B
    1.13 +$BMxMQ<T$r<];RDj5,$J%3%^%s%I72$NB~Cf$KMxMQ<T$rJD$89~$a$k$h$&$J$3$H$O$7$^$;$s!#(B
    1.14 +\emph{$B%$%/%9%F%s%7%g%s(B}
    1.15 +$B!J$3$N<o$N$b$N$O(B\emph{$B%W%i%0%$%s(B}$B$H8F$P$l$k$3$H$b$"$j$^$9!K(B
    1.16 +$B$H$7$F5!G=$rDI2C$9$k$3$H$,$G$-$k$N$G$9!#(B
    1.17 +$B4v$D$+$N%$%/%9%F%s%7%g%s$K$D$$$F$O!"(B
    1.18 +$B4{$KA0$N>O$GOCBj$K$7$F$$$^$9!#(B
    1.19 +
    1.20 +\begin{itemize}
    1.21 +\item \ref{sec:tour-merge:fetch}~$B@a$G$O(B
    1.22 +  \hgext{fetch} $B%$%/%9%F%s%7%g%s$r<h$j>e$2$F$$$^$9!#(B
    1.23 +  $B$3$N%$%/%9%F%s%7%g%s$O!"?7$?$JJQ99$N<hF@$H<j85$NJQ99$X$N%^!<%8$r!"(B
    1.24 +  $BC10l$N%3%^%s%I(B \hgxcmd{fetch}{fetch} $B$G<B;\$7$^$9!#(B
    1.25 +
    1.26 +\item \hgext{bisect} $B$O!"(B
    1.27 +  $B%P%0$N860x$H$J$kJQ99$r8zN(E*$K8!:w$9$k%$%/%9%F%s%7%g%s$G!"(B
    1.28 +  \ref{sec:undo:bisect}~$B@a$G<h$j>e$2$^$7$?!#(B
    1.29 +
    1.30 +\item \ref{chap:hook}~$B>O$G$O!"(B
    1.31 +  $B%U%C%/$K4XO"$7$?M-MQ$J5!G=$r;}$D%$%/%9%F%s%7%g%s$r<h$j>e$2$^$7$?!#(B
    1.32 +  \hgext{acl} $B$O%"%/%;%9%3%s%H%m!<%k%j%9%H$N5!G=$r!"(B
    1.33 +  \hgext{bugzilla} $B$O(B Bugzilla $B%P%0DI@W%7%9%F%`$H$NE}9g$r!"(B
    1.34 +  \hgext{notify} $B$OJQ99DI2C;~$K$*$1$kEE;R%a!<%kDLCN$N5!G=$r!"(B
    1.35 +  Mercurial $B$KDI2C$7$^$9!#(B
    1.36 +
    1.37 +\item Mercurial Queues $B%Q%C%A4IM}%$%/%9%F%s%7%g%s$O!"(B
    1.38 +  $B#2$D$N>O$H#1$D$N(B appendix $B$r4]!9Hq$d$9$KCM$9$k2ACM$r;}$C$F$$$^$9!#(B
    1.39 +  \ref{chap:mq}~$B>O$O4pK\$r!"(B
    1.40 +  \ref{chap:mq-collab}~$B>O$O$h$j?J$s$@OCBj$r!"(B
    1.41 +  $B$=$7$F(B appendix~\ref{chap:mqref} $B$O3F%3%^%s%I$N>\:Y$r<h$j>e$2$F$$$^$9!#(B
    1.42 +
    1.43 +\end{itemize}
    1.44 +
    1.45 +$BK\>O$G$O!"(B
    1.46 +$B>e5-0J30$N(B Mercurial $B$GMxMQ2DG=$J4v$D$+$N%$%/%9%F%s%7%g%s$K$D$$$F<h$j>e$2!"(B
    1.47 +$B$=$N>e$G!"(B
    1.48 +$B<+J,$G%$%/%9%F%s%7%g%s$r<BAu$9$k:]$KI,MW$H;W$o$l$k;EAH$_$K$D$$$F!"(B
    1.49 +$B4JC1$K?($l$h$&$H;W$$$^$9!#(B
    1.50 +
    1.51 +\begin{itemize}
    1.52 +\item \ref{sec:hgext:inotify}~$B@a$G$O!"(B
    1.53 +  \hgext{inotify} 
    1.54 +  $B%$%/%9%F%s%7%g%s$K$h$k(B\emph{$B@dBg$J(B}$B@-G=2~A1$N2DG=@-$K$D$$$F<h$j>e$2$^$9!#(B
    1.55 +
    1.56 +\end{itemize}
    1.57 +
    1.58 +\section{Improve performance with the \hgext{inotify} extension}
    1.59 +\label{sec:hgext:inotify}
    1.60 +
    1.61 +$B0lHLE*$J(B Mercurial $B$NA`:n$,(B 100 $BG\B.$/$J$k$3$H$K6=L#$,$"$k$N$G$7$?$i!"(B
    1.62 +$B$<$R$3$N@a$rFI$s$G$/$@$5$$!#(B
    1.63 +
    1.64 +Mercurial $B$ODL>o$N4D6-$G$"$C$F$b9b$$@-G=$G$rH/4x$7$^$9!#(B
    1.65 +XXXX $BH]Dj$N@\B3$NH&(B XXXX
    1.66 +$BNc$($P(B \hgcmd{status} $B%3%^%s%I$N<B9T$N:]$K$O!"(B
    1.67 +$B%U%!%$%k$N>uBV$rI=<($9$k$?$a$K!"(B
    1.68 +$B%j%]%8%H%jG[2<$NKX$IA4$F$N%G%#%l%/%H%j$H%U%!%$%k$KBP$9$kAv::$,I,MW$G$9!#(B
    1.69 +$BB>$NB?$/$N(B Mercurial $B%3%^%s%I$b!"(B
    1.70 +$BIqBfN"$G$OF1MM$N:n6H$rI,MW$H$7$F$$$^$9!#(B
    1.71 +$BNc$($P(B \hgcmd{diff} $B%3%^%s%I$O!"(B
    1.72 +$B>uBVHf3S5!9=(B\footnote{$BLuCm(B: \ref{sec:concepts:dirstate}~$B@a;2>H(B
    1.73 +}$B$rMQ$$$k$3$H$G!"(B
    1.74 +$BL@$i$+$KJQ99$5$l$F$$$J$$%U%!%$%k$KBP$7$F!"(B
    1.75 +$B<B9T%3%9%H$N9b$$Hf3S=hM}$,<B;\$5$l$k$3$H$r2sHr$7$F$$$^$9!#(B
    1.76 +
    1.77 +$B%U%!%$%k>uBV$N<hF@$O@-G=3NJ]>e=EMW$J$3$H$J$N$G!"(B
    1.78 +Mercurial $B$N3+H/<TC#$O!"(B
    1.79 +$B%.%j%.%j$N$H$3$m$^$G$3$NItJ,$N<BAu$r:GE,2=$7$F$-$^$7$?!#(B
    1.80 +$B$7$+$7(B \hgcmd{status} $B<B9T$N:]$K$O!"(B
    1.81 +$BA02s$N3NG'0J9_$NJQ99$NM-L5$rCN$k$?$a$K!"(B
    1.82 +$B%3%9%H$N9b$$%7%9%F%`%3!<%k$r!"(B
    1.83 +Mercurial $B$N4IM}2<$K$"$k%U%!%$%kKh$K:GDc#12sH/9T$9$kI,MW$,$"$k!"(B
    1.84 +$B$H$$$&;v<B$O2sHr$7$h$&$,$"$j$^$;$s!#(B
    1.85 +$B0lDj0J>e$NBg$-$5$N%j%]%8%H%j$G$O!"(B
    1.86 +$B$3$N=hM}$K$OD9$$;~4V$,$+$+$j$^$9!#(B
    1.87 +
    1.88 +$B1F6A$NBg$-$5$r?tCM2=$9$Y$/!"(B
    1.89 +150,000 $B$N%U%!%$%k$r4IM}$9$k%j%]%8%H%j$G<B83$r9T$C$?7k2L!"(B
    1.90 +$B$$$:$l$N%U%!%$%k$bJQ99(B\emph{$B$5$l$F$$$J$$(B}$B>l9g$G$"$C$F$b!"(B
    1.91 +\hgcmd{status} $B$N<B9T$K$O#1#0IC$rMW$7$^$9!#(B
    1.92 +
    1.93 +$BB?$/$N6aBeE*(B OS $B$O!"%U%!%$%k99?7$NDLCN5!9=$rHw$($F$$$^$9!#(B
    1.94 +$BE,@Z$J%5!<%S%9$K%W%m%0%i%`$rEPO?$7$F$*$/$3$H$G!"(B
    1.95 +$BBP>]$H$J$k%U%!%$%k$K4X$9$k@8@.!&JQ99!&:o=|$H$$$C$?%$%Y%s%H$,H/@8$9$kETEY!"(B
    1.96 +OS $B$,DLCN$r$7$F$/$l$^$9!#(B
    1.97 +Linux $B4D6-$G$O!"(B
    1.98 +\texttt{inotify} 
    1.99 +$B$H8F$P$l$k%+!<%M%k%3%s%]%M%s%H$,DLCN5!9=$rDs6!$7$^$9!#(B
   1.100 +
   1.101 +Mercurial $B$N(B \hgext{inotify} $B%$%/%9%F%s%7%g%s$O!"(B
   1.102 +$B%+!<%M%k$N(B \texttt{inotify} $B$HO"7H$9$k$3$H$G!"(B
   1.103 +\hgcmd{status} $B%3%^%s%I$r:GE,2=$7$^$9!#(B
   1.104 +\hgext{inotify} $B%$%/%9%F%s%7%g%s$O#2$D$NMWAG$+$i9=@.$5$l$F$$$^$9!#(B
   1.105 +$B%G!<%b%sItJ,$,%P%C%/%0%i%&%s%I$G2TF0$9$k$3$H$G!"(B
   1.106 +\texttt{inotify} $B%+!<%M%k%3%s%]%M%s%H$+$iDLCN$r<u$1<h$j$^$9!#(B
   1.107 +$B%G!<%b%sItJ,$O!"(B
   1.108 +$BDL>o$N(B Mercurial $B%3%^%s%I$+$i$N@\B3MW5a$b<u$1IU$1$^$9!#(B
   1.109 +\hgext{inotify} $B%$%/%9%F%s%7%g%s$O!"(B
   1.110 +$B%U%!%$%k%7%9%F%`$NAv::$NBeBX$H$7$F%G!<%b%s$rI,MW$H$9$k$?$a!"(B
   1.111 +Mercurial $B$N5sF0$=$N$b$N$r2~JQ$7$^$9!#(B
   1.112 +$B%G!<%b%s$O%j%]%8%H%j>uBV$K4X$9$k40A4$J>pJs$rJ];}$7$F$$$k$N$G!"(B
   1.113 +$B%j%]%8%H%jG[2<$N%G%#%l%/%H%j$d%U%!%$%k$rAv::$9$k$3$HL5$7$K!"(B
   1.114 +$BB(:B$K1~Ez$rJV$9$3$H$,$G$-$^$9!#(B
   1.115 +
   1.116 +$B@h$K=R$Y$?$H$*$j!"(B
   1.117 +$BDL>o$N(B Mercurial $B$G$O!"(B
   1.118 +150,000 $B$N%U%!%$%k$r4IM}$9$k%j%]%8%H%j$G$N(B 
   1.119 +\hgcmd{status} $B<B9T$K#1#0IC$rMW$7$^$7$?!#(B
   1.120 +\hgext{inotify} $B%$%/%9%F%s%7%g%s$rM-8z$K$9$k$3$H$G!"(B
   1.121 +$B<B9T$KMW$9$k;~4V$O(B\emph{1000$BG\(B}$BAa$$(B0.1~$BIC$^$GDc8:$G$-$^$7$?!#(B
   1.122 +
   1.123 +$BOC$r@h$K?J$a$kA0$K!"(B
   1.124 +$B0J2<$NE@$KCm0U$7$F$/$@$5$$!#(B
   1.125 +
   1.126 +\begin{itemize}
   1.127 +\item \hgext{inotify} $B$O(B Linux $B4D6-8GM-$N%$%/%9%F%s%7%g%s$G$9!#(B
   1.128 +  Linux $B$N(B \texttt{inotify} $B%5%V%7%9%F%`$HD>@\O"7H$9$k$?$a!"(B
   1.129 +  $BB>$N(B OS $B4D6-2<$G$O5!G=$7$^$;$s!#(B
   1.130 +
   1.131 +\item 2005 $BG/=i=\0J8e$K%j%j!<%9$5$l$?(B 
   1.132 +  Linux $B%G%#%9%H%j%S%e!<%7%g%s$G$NMxMQ$r$*A&$a$7$^$9!#(B
   1.133 +  $B$=$l0JA0$N%G%#%9%H%j%S%e!<%7%g%s$O!"(B
   1.134 +  \texttt{inotify} $B$,AH$_9~$^$l$F$$$J$$$+!"(B
   1.135 +  $BI,MW$J(B API $B$r(B \texttt{glibc} $B$,Ds6!$7$F$$$J$$$b$N$H;W$o$l$^$9(B\footnote{
   1.136 +  $BLuCm(B: man $B%Z!<%8$K$h$l$P!"(B
   1.137 +  \texttt{inotify} $B$NMxMQ$KEv$?$C$F$O!"(B
   1.138 +  2.6.13 $BHG0J8e$N%+!<%M%k$H(B 2.4 $BHG0J8e$N(B \texttt{glibc} $B$,I,MW$@$=$&$G$9!#(B
   1.139 +  }$B!#(B
   1.140 +
   1.141 +\item $BA4$F$N%U%!%$%k%7%9%F%`$,(B
   1.142 +  \hgext{inotify} $B%$%/%9%F%s%7%g%s$NMxMQ$KE,$7$F$$$k$H$O8B$j$^$;$s!#(B
   1.143 +  $BE57?E*$JNc$H$7$F$O!"(B
   1.144 +  $BF10l$N%M%C%H%o!<%/%U%!%$%k%7%9%F%`$r!"(B
   1.145 +  Mercurial $B$r2TF0$5$;$kJ#?t$N%7%9%F%`$G%^%&%s%H$7$F$$$k$h$&$J>l9g$G$9!#(B
   1.146 +  $B%+!<%M%k$N(B \texttt{inotify} $B%5%V%7%9%F%`$O!"(B
   1.147 +  $B%j%b!<%H%[%9%H$G$NJQ99$rCN$k=Q$r;}$A$^$;$s!#(B
   1.148 +  $BKX$I$N%m!<%+%k%U%!%$%k%7%9%F%`!JNc$($P(B ext3$B!"(BXFS $B$d(B ReiserFS$B!K$O!"(B
   1.149 +  $B>e<j$/5!G=$9$kH&$G$9!#(B
   1.150 +
   1.151 +\end{itemize}
   1.152 +
   1.153 +\hgext{inotify} $B%$%/%9%F%s%7%g%s$O!"(B
   1.154 +2007 $BG/(B 5 $B7n$N;~E@$G$O(B Mercurial $B$KF1:-$5$l$F$$$^$;$s(B\footnote{$BLuCm(B:
   1.155 +2007 $BG/(B 10 $B7n$N(B 0.9.5 $BHGCJ3,$G$bF1:-$5$l$F$$$^$;$s(B}$B$N$G!"(B
   1.156 +$BB>$N%$%/%9%F%s%7%g%s$HHf3S$7$FB?>/$N=`Hw:n6H$,I,MW$G$9$,!"(B
   1.157 +$B@-G=8~>e$K$O$=$l$@$1$N2ACM$,$"$j$^$9!#(B
   1.158 +
   1.159 +\hgext{inotify} $B%$%/%9%F%s%7%g%s$OL\2<!"(B
   1.160 +Mercurial $B%=!<%9%3!<%I$X$N%Q%C%A$H!"(B
   1.161 +\texttt{inotify} $B%5%V%7%9%F%`O"7H$N(B 
   1.162 +Python $B%P%$%s%G%#%s%0%i%$%V%i%j$N#2$D$NMWAG$+$i9=@.$5$l$F$$$^$9!#(B
   1.163 +
   1.164 +\begin{note}
   1.165 +  \texttt{inotify} $B$N(B 
   1.166 +  Python $B%P%$%s%G%#%s%0%i%$%V%i%j$K$O(B\emph{$B#2<oN`(B}$B$"$j$^$9!#(B
   1.167 +  $B#1$D$O(B \texttt{pyinotify} $B$H8F$P$l$k$b$N$G!"(B
   1.168 +  $B4v$D$+$N(B Linux $B%G%#%9%H%j%S%e!<%7%g%s$K$O(B
   1.169 +  \texttt{python-inotify} $B$H$$$&L>A0$GF1:-$5$l$F$$$^$9!#(B
   1.170 +  $B<BMQ$K6!$9$k$K$OHs>o$K%P%0$,B?$/8zN($b0-$$$N$G!"(B
   1.171 +  $B$3$N%i%$%V%i%j$O;H$&$Y$-$G$O(B\emph{$B$"$j$^$;$s(B}$B!#(B
   1.172 +\end{note}
   1.173 +
   1.174 +$B;v$r?J$a$k$KEv$?$C$F$O!"(B
   1.175 +$B4{$K5!G=$7$F$$$k%$%s%9%H!<%k:Q$_(B
   1.176 +Mercurial $B$rJ#@=$9$k$N$,NI$$$G$7$g$&!#(B
   1.177 +To get going, it's best to already have a functioning copy of
   1.178 +Mercurial installed. XXXXXX
   1.179 +
   1.180 +\begin{note}
   1.181 +  $B0J2<$N<j=g$rF'$`>l9g!"(B
   1.182 +  $B:G$b:G?7$N(B``$B:G@hC<$J(B''Mercurial $B<BAu$G!"(B
   1.183 +  $B4{$K%$%s%9%H!<%k:Q$_$N(B Mercurial $B$r(B\emph{$BCV$-49$($k(B}$B$3$H$K$J$j$^$9!#(B
   1.184 +  $B$3$l$O7Y9p$G$9!#(B
   1.185 +\end{note}
   1.186 +
   1.187 +\begin{enumerate}
   1.188 +\item \texttt{inotify} $B$N(B Python $B%P%$%s%G%#%s%0$N%j%]%8%H%j$rJ#@=$7$^$9!#(B
   1.189 +  $B%S%k%I$*$h$S%$%s%9%H!<%k$r9T$C$F$/$@$5$$!#(B
   1.190 +
   1.191 +  \begin{codesample4}
   1.192 +    hg clone http://hg.kublai.com/python/inotify
   1.193 +    cd inotify
   1.194 +    python setup.py build --force
   1.195 +    sudo python setup.py install --skip-build
   1.196 +  \end{codesample4}
   1.197 +
   1.198 +\item Mercurial $B$N(B \dirname{crew} $B%j%]%8%H%j$rJ#@=$7$^$9!#(B
   1.199 +  Mercurial Queues $B$K$h$j(B
   1.200 +  \dirname{crew} $B%j%]%8%H%j$N%m!<%+%k%3%T!<(B\footnote{$BLuCm!'(B
   1.201 +  $B$3$3$G$O(B \dirname{crew} $B$+$i99$K(B \dirname{inotify} $B$rJ#@=$7$F$$$^$9$,!"(B
   1.202 +  \hgext{inotify} $B%$%/%9%F%s%7%g%sMxMQ$N$?$a$@$1$K%S%k%I$9$k>l9g!"(B
   1.203 +  $BD>@\(B \dirname{crew} $B$G:n6H$7$F$bLdBjL5$$H&$G$9!#(B
   1.204 +  }$B$K%Q%C%A$rEv$F$k0Y$K!"(B
   1.205 +  \hgext{inotify} $B%Q%C%A$N%j%]%8%H%j$bJ#@=$7$F$/$@$5$$!#(B
   1.206 +
   1.207 +  \begin{codesample4}
   1.208 +    hg clone http://hg.intevation.org/mercurial/crew
   1.209 +    hg clone crew inotify
   1.210 +    hg clone http://hg.kublai.com/mercurial/patches/inotify inotify/.hg/patches
   1.211 +  \end{codesample4}
   1.212 +
   1.213 +\item Mercurial Queues $B%$%/%9%F%s%7%g%s!J(B\hgext{mq}$B!K(B
   1.214 +  $B$,MxMQ2DG=$G$"$k$3$H$r3NG'$7$F$/$@$5$$!#(B
   1.215 +  MQ $B$rMxMQ$7$?$3$H$,L5$$>l9g!"(B
   1.216 +  $B$^$:$O(B \ref{sec:mq:start}~$B@a$rFI$s$G$/$@$5$$!#(B
   1.217 +
   1.218 +\item \dirname{inotify} $B!J%m!<%+%k!K%j%]%8%H%j$K0\F0$7$F!"(B
   1.219 +  \hgxcmd{mq}{qpush} $B%3%^%s%I$N(B \hgxopt{mq}{qpush}{-a} $B%*%W%7%g%s$r;HMQ$7$F!"(B
   1.220 +  $BA4$F$N(B \hgext{inotify} $B%Q%C%A$rE,MQ$7$F$/$@$5$$!#(B
   1.221 +
   1.222 +  \begin{codesample4}
   1.223 +    cd inotify
   1.224 +    hg qpush -a
   1.225 +  \end{codesample4}
   1.226 +
   1.227 +  \hgxcmd{mq}{qpush} $B$,%(%i!<%a%C%;!<%8$rI=<($7$?>l9g$O!"(B
   1.228 +  $B:n6H$r7QB3$;$:$K3+H/%3%_%e%K%F%#$K=u$1$r5a$a$F$/$@$5$$!#(B
   1.229 +
   1.230 +\item $B%Q%C%AE,MQHG$N(B Mercurial $B$r%S%k%I$*$h$S%$%s%9%H!<%k$7$^$9!#(B
   1.231 +
   1.232 +  \begin{codesample4}
   1.233 +    python setup.py build --force
   1.234 +    sudo python setup.py install --skip-build
   1.235 +  \end{codesample4}
   1.236 +
   1.237 +\end{enumerate}
   1.238 +
   1.239 +$BE,@Z$K%Q%C%A$,E,MQ$5$l$?HG$N(B Mercurial $B$,0lC6$G$-$F$7$^$($P!"(B
   1.240 +\hgext{inotify} $B%$%/%9%F%s%7%g%s$rM-8z$K$9$k$?$a$KI,MW$J$3$H$O!"(B
   1.241 +\hgrc $B%U%!%$%k$K0J2<$N5-=R$rDI2C$9$k$3$H$@$1$G$9!#(B
   1.242 +
   1.243 +\begin{codesample2}
   1.244 +  [extensions]
   1.245 +  inotify =
   1.246 +\end{codesample2}
   1.247 +
   1.248 +\hgext{inotify} $B%$%/%9%F%s%7%g%s$,M-8z2=$5$l$k$H!"(B
   1.249 +$B%j%]%8%H%j$N>uBV$rI,MW$H$9$k%3%^%s%I$N=i2s5/F0$N;~E@$G!"(B
   1.250 +Mercurial $B$O<+F0E*3n$DF)2aE*$K>uBV4IM}MQ%G!<%b%s$r5/F0$7$^$9!#(B
   1.251 +$B>uBV4IM}%G!<%b%s$O!"%j%]%8%H%j$4$H$K5/F0$5$l$^$9!#(B
   1.252 +
   1.253 +$B>uBV4IM}%G!<%b%s$O$R$=$d$+$K5/F0$5$l!"%P%C%/%0%i%&%s%I$G<B9T$7B3$1$^$9!#(B
   1.254 +\hgext{inotify} $B%$%/%9%F%s%7%g%s$rM-8z$K$7$?J#?t$N%j%]%8%H%j$G!"(B
   1.255 +$B4v$D$+$N%3%^%s%I$r<B9T$7$?8e$K!"(B
   1.256 +$B<B9TCf$N%W%m%;%90lMw$r8+$l$P!"(B
   1.257 +$B%+!<%M%k$+$i$NDLCN$H(B
   1.258 +Mercurial $B$+$i$NLd$$9g$o$;$NN>J}$rBT$C$F$$$kJ#?t$N(B 
   1.259 +\texttt{hg} $B%W%m%;%9$r8+$k$3$H$,$G$-$kH&$G$9!#(B
   1.260 +
   1.261 +\hgext{inotify} $B%$%/%9%F%s%7%g%s$rM-8z$K$7$?:]$G$b!"(B
   1.262 +$B%j%]%8%H%j$K$*$1$k(B Mercurial $B%3%^%s%I$N=i2s5/F0$O!"(B
   1.263 +$BDL>o$N(B Mercurial $B%3%^%s%I<B9T$HF1DxEY$N@-G=$G<B9T$5$l$^$9!#(B
   1.264 +$B$3$l$O>uBV4IM}%G!<%b%s$K$h$kDL>o$N>uBVAv::$,I,MW$J$?$a$G!"(B
   1.265 +$B8e$K%+!<%M%k$+$i$N99?7DLCN$r<u$1<h$k:]$N4pDl>uBV$H$J$j$^$9!#(B
   1.266 +$B$7$+$7!"$3$l0J9_$N>uBV3NG'$NI,MW$J(B\emph{$BA4$F$N(B}$B%3%^%s%I<B9T$O!"(B
   1.267 +$B$I$s$J$K>.$5$J%5%$%:$N%j%]%8%H%j$G$"$C$F$b!"(B
   1.268 +$BL\$K8+$($FB.$/$J$C$F$$$kH&$G$9!#(B
   1.269 +$B%j%]%8%H%j$,Bg$-$1$l$PBg$-$$$[$I!"(B
   1.270 +$BL\$K8+$($F@-G=$,Bg$-$/2~A1$5$l$k$3$H$G$7$g$&!#(B
   1.271 +\hgext{inotify} $B%G!<%b%s$O!"(B
   1.272 +$B$I$s$J%5%$%:$N%j%]%8%H%j$G$"$C$F$b!"(B
   1.273 +$B>uBV<hF@A`:n$rKX$I=V;~$K=*N;$5$;$k$3$H$,$G$-$^$9!#(B
   1.274 +
   1.275 +\hgxcmd{inotify}{inserve} $B%3%^%s%I$K$h$j!"(B
   1.276 +$B>uBV4IM}%G!<%b%s$r<jF0$G5/F0$9$k$3$H$b$G$-$^$9!#(B
   1.277 +$B<jF0$G$N5/F0$K$h$j!"(B
   1.278 +$B%G!<%b%s$N<B9T$K4X$7$F4vJ,L@NF$J@)8f$r<j$K$9$k$3$H$,$G$-$^$9!#(B
   1.279 +$B$3$N%3%^%s%I$N5/F0$O!"(B
   1.280 +$BEvA3(B \hgext{inotify} 
   1.281 +$B%$%/%9%F%s%7%g%s$,M-8z$K$J$C$F$$$k>l9g$K8B$j;HMQ2DG=$G$9!#(B
   1.282 +
   1.283 +\hgext{inotify} $B%$%/%9%F%s%7%g%s$r;HMQ$7$F$$$k:]$K$O!"(B
   1.284 +$B>uBV4XO"%3%^%s%I$N<B9TA4HL$,$=$l0JA0$HHf3S$7$FB.$/$J$C$F$$$kE@$r=|$1$P!"(B
   1.285 +Mercurial $B$N5sF0$O(B\emph{$BA4$/JQ$o$i$J$$(B}$BH&$G$9!#(B
   1.286 +
   1.287 +$B$H$j$o$1!"%3%^%s%I$N=PNO$O0[$J$i$:!"F1$87k2L$rJV$9H&$G$9!#(B
   1.288 +\hgext{inotify} $B%$%/%9%F%s%7%g%s$NM-L5$G0[$J$k7k2L$,JQ$($k>l9g!"(B
   1.289 +$B>c32$H$7$FJs9p$r$7$F$/$@$5$$!#(B
   1.290 +
   1.291 +\section{Flexible diff support with the \hgext{extdiff} extension}
   1.292 +\label{sec:hgext:extdiff}
   1.293 +
   1.294 +Mercurial $B$NAH$_9~$_(B \hgcmd{diff} $B%3%^%s%I$O!"(B
   1.295 +unified $B:9J,$r$=$N$^$^=PNO$7$^$9!#(B
   1.296 +
   1.297 +\interaction{extdiff.diff}
   1.298 +
   1.299 +$BJQ99FbMF$NI=<($K30It%D!<%k$r;H$$$?$$>l9g$O!"(B
   1.300 +\hgext{extdiff} $B%$%/%9%F%s%7%g%s$,NI$$$G$7$g$&!#(B
   1.301 +\hgext{extdiff} $B%$%/%9%F%s%7%g%s$K$h$j!"(B
   1.302 +$BJQ99FbMFI=<($KNc$($P%0%i%U%#%+%k$J30It:9J,%D!<%k$,MxMQ$G$-$k$h$&$K$J$j$^$9!#(B
   1.303 +
   1.304 +\hgext{extdiff} $B%$%/%9%F%s%7%g%s$O(B
   1.305 +Mercurial $B$KF1:-$5$l$F$$$k$N$G4JC1$KMxMQ$G$-$^$9!#(B
   1.306 +\hgrc $B%U%!%$%k$N(B
   1.307 +\rcsection{extensions} $B%;%/%7%g%s$K!"(B
   1.308 +$B%$%/%9%F%s%7%g%s$rM-8z$K$9$k5-=R$r#19TDI2C$9$k$@$1$GNI$$$N$G$9!#(B
   1.309 +
   1.310 +\begin{codesample2}
   1.311 +  [extensions]
   1.312 +  extdiff =
   1.313 +\end{codesample2}
   1.314 +
   1.315 +$B$3$N@_Dj$K$h$j!"(B
   1.316 +\hgxcmd{extdiff}{extdiff} $B%3%^%s%I$,MxMQ2DG=$K$J$j$^$9$,!"(B
   1.317 +$B4pDl>uBV$G$O$3$N%3%^%s%I$O!"(B
   1.318 +$BAH$_9~$_$N(B \hgcmd{diff} $B%3%^%s%I$HF1$87A<0$N(B unified $B:9J,$r!"(B
   1.319 +$B%7%9%F%`$N(B \command{diff} $B%3%^%s%I$K$h$j@8@.$7$^$9!#(B
   1.320 +
   1.321 +\interaction{extdiff.extdiff}
   1.322 +
   1.323 +$BAH$_9~$_$N(B \hgcmd{diff} $B%3%^%s%I$N7k2L=PNO$H87L)$K$O0lCW$7$^$;$s(B\footnote{
   1.324 +$BLuCm(B: $B$I$NItJ,$r;X$7$F!V0lCW$7$J$$!W$H8@$C$F$$$k$N$+!)(B}$B$,!"(B
   1.325 +$BF1$8%*%W%7%g%s$r;XDj$7$F$b%7%9%F%`(B\footnote{$BLuCm(B:
   1.326 +$B$3$3$G8@$&!V(Bsystem$B!W$H$O!)(B XXXXX}$B$4$H$K(B
   1.327 +$B!J%7%9%F%`$N!K(B\command{diff} $B%3%^%s%I$N=PNO$,0[$J$k$+$i$G$9!#(B
   1.328 +
   1.329 +$B>e5-$N=PNO7k2L$K(B ``\texttt{making snapshot}''
   1.330 +$B9T$,4^$^$l$F$$$k$3$H$+$i$b;!$9$k$3$H$,$G$-$^$9$,!"(B
   1.331 +\hgxcmd{extdiff}{extdiff} 
   1.332 +$B%3%^%s%I$O%=!<%9%D%j!<$K4X$9$k%9%J%C%W%7%g%C%H$r#2$D:n@.$7$^$9!#(B
   1.333 +$B#1$DL\$N%9%J%C%W%7%g%C%H$O%=!<%9$N%j%S%8%g%s$N$b$N$G!"(B
   1.334 +$B#2$DL\$O:n6HNN0h%G%#%l%/%H%j$K$*$1$kBP>]%j%S%8%g%s$N$b$N$G$9(B\footnote{$BLuCm(B:
   1.335 +$B:n6HNN0h%G%#%l%/%H%j$N!V?F%j%S%8%g%s!W$H!V8=9T>uBV!W(B}$B!#(B
   1.336 +\hgxcmd{extdiff}{extdiff} 
   1.337 +$B%3%^%s%I$O$3$l$i$N%9%J%C%W%7%g%C%H$r0l;~%G%#%l%/%H%j$K:n@.$7!"(B
   1.338 +$B$3$l$i$N%G%#%l%/%H%jL>$r0z?t$K$7$F30It$N:9J,I=<(%D!<%k$r5/F0$7!"(B
   1.339 +$B$=$N8e0l;~%G%#%l%/%H%j$r:o=|$7$^$9!#(B
   1.340 +$B<B9T8zN(>e!"(B
   1.341 +$B#2$D$N%j%S%8%g%s$N4V$G:9J,$N$"$k%G%#%l%/%H%j!&(B
   1.342 +$B%U%!%$%k$N%9%J%C%W%7%g%C%H$@$1$,:n@.$5$l$^$9!#(B
   1.343 +
   1.344 +$B%9%J%C%W%7%g%C%H%G%#%l%/%H%j$NL>A0$O!"(B
   1.345 +$B85$H$J$k%j%]%8%H%j$N%Y!<%9L>$HF1$8L>A0$r;}$A$^$9!#(B
   1.346 +\dirname{/quux/bar/foo} $B$H$$$&%j%]%8%H%j$N>l9g!"(B
   1.347 +$B8D!9$N%9%J%C%W%7%g%C%H$N%G%#%l%/%H%j!J%Y!<%9!KL>$O(B \dirname{foo} $B$H$J$j$^$9!#(B
   1.348 +$BBP1~$9$k%A%'%s%8%;%C%H(BID$B$,$"$k>l9g!"(B
   1.349 +$B%9%J%C%W%7%g%C%H$N%G%#%l%/%H%jL>$K$O%A%'%s%8%;%C%H(BID$B$,IUM?$5$l$^$9!#(B
   1.350 +\texttt{a631aca1083f} $BHG$KBP$9$k%9%J%C%W%7%g%C%H$N%G%#%l%/%H%jL>$O(B
   1.351 +\dirname{foo.a631aca1083f} $B$H$J$j$^$9!#(B
   1.352 +$B:n6HNN0h%G%#%l%/%H%j$N8=9T>uBV$KBP$9$k%9%J%C%W%7%g%C%H$O!"(B
   1.353 +$B%A%'%s%8%;%C%H(BID$B$,IUM?$5$l$^$;$s$N$G!"(B
   1.354 +$B$3$NNc$G$OC1$K(B \dirname{foo} $B$H$$$&L>A0$K$J$j$^$9!#(B
   1.355 +$B<B:]$N5sF0$r8+$k$?$a$K!"(B
   1.356 +$B:FEYA0=P$N(B \hgxcmd{extdiff}{extdiff} $B$N<B9TNc$r8+$F$_$^$7$g$&!#(B
   1.357 +$B:9J,=PNO$N%X%C%@It$K!"(B
   1.358 +$B%9%J%C%W%7%g%C%H%G%#%l%/%H%j$NL>A0$,Kd$a9~$^$l$F$$$k$N$K5$IU$/$3$H$G$7$g$&!#(B
   1.359 +
   1.360 +\hgxcmd{extdiff}{extdiff} $B%3%^%s%I$K$O!"(B
   1.361 +$B#2$D$N=EMW$J%*%W%7%g%s$,$"$j$^$9!#(B
   1.362 +\hgxopt{extdiff}{extdiff}{-p} $B%*%W%7%g%s$O!"(B
   1.363 +$B%7%9%F%`$N(B \command{diff} 
   1.364 +$B%3%^%s%I$NBeBX$H$7$F;HMQ$5$l$k:9J,I=<(%W%m%0%i%`$r;XDj$7$^$9!#(B
   1.365 +\hgxopt{extdiff}{extdiff}{-o} $B%*%W%7%g%s$O!"(B
   1.366 +\hgxcmd{extdiff}{extdiff} 
   1.367 +$B$,30It$N:9J,I=<(%W%m%0%i%`5/F0;~$K;XDj$9$k%*%W%7%g%s(B
   1.368 +$B!J%G%U%)%k%H$G$O(B ``\texttt{-Npru}'' $B$,;XDj$5$l!"(B
   1.369 +\command{diff} $B$r;HMQ$9$k>l9g$K$N$_0UL#$r;}$A$^$9!K(B
   1.370 +$B$r;XDj$7$^$9!#(B
   1.371 +$B$=$l0J30$NE@$G$O!"(B
   1.372 +\hgxcmd{extdiff}{extdiff} $B%3%^%s%I$O(B
   1.373 +$BAH$_9~$_$N(B \hgcmd{diff} $B%3%^%s%I$HF1MM$K?6Iq$$$^$9$N$G!"(B
   1.374 +$B%*%W%7%g%sL>$d%*%W%7%g%s;XDj$NJ8K!!"(B
   1.375 +$BHf3SBP>]%j%S%8%g%s$r;XDj$9$k0z?t!"(B
   1.376 +$BHf3S$7$?$$%U%!%$%kL>$N;XDj$J$I$O!"(B
   1.377 +$BAH$_9~$_$N(B \hgcmd{diff} $B$HF1$8$h$&$K;XDj$G$-$^$9!#(B
   1.378 +
   1.379 +$B<B9TNc$H$7$F!"(B
   1.380 +$B!JDL>o$N(B \hgcmd{diff} $B$K$h$k!K(Bunified $B:9J,$NBe$o$j$K!"(B
   1.381 +$B%7%9%F%`I8=`$N(B \command{diff} $B%3%^%s%I$K$h$k(B context $B:9J,(B
   1.382 +$B!J(B\cmdopt{diff}{-c} $B%*%W%7%g%s;HMQ!K$r!"(B
   1.383 +$B%G%U%)%k%H$N#39T$G$O$J$/#59T$N(B context $B9T(B
   1.384 +$B!J(B\cmdopt{diff}{-C} $B%*%W%7%g%s$G$N(B \texttt{5} $B;XDj!K(B
   1.385 +$B$GI=<($9$kJ}K!$r<($7$^$9!#(B
   1.386 +
   1.387 +\interaction{extdiff.extdiff-ctx}
   1.388 +
   1.389 +$B%0%i%U%#%+%k$J:9J,%D!<%k$N5/F0$OHs>o$K4JC1$G$9!#(B
   1.390 +\command{kdiff3} $B5/F0$NNc$r<($7$^$9!#(B
   1.391 +
   1.392 +\begin{codesample2}
   1.393 +  hg extdiff -p kdiff3 -o ''
   1.394 +\end{codesample2}
   1.395 +
   1.396 +$BMxMQ$9$k:9J,I=<(%3%^%s%I$,%G%#%l%/%H%j;XDj$r07$($J$$>l9g$G$b!"(B
   1.397 +$B4JC1$J%9%/%j%W%H$r;H$&$3$H$G$=$NLdBj$r2r7h$G$-$^$9!#(B
   1.398 +$B$=$N$h$&$J%9%/%j%W%H$K$h$k(B
   1.399 +\hgext{mq} $B%$%/%9%F%s%7%g%s$H(B
   1.400 +\command{interdiff} $B%3%^%s%I$NO"7HNc$O!"(B
   1.401 +\ref{mq-collab:tips:interdiff}~$B@a$r;2>H$7$F$/$@$5$$!#(B
   1.402 +
   1.403 +\subsection{Defining command aliases}
   1.404 +
   1.405 +\hgxcmd{extdiff}{extdiff} $B%3%^%s%I$dMxMQ$9$k:9J,I=<(%3%^%s%I$N!"(B
   1.406 +$BN>J}$N%*%W%7%g%s$r3P$($F$*$/$N$OLLE]$G$9$N$G!"(B
   1.407 +\hgext{extdiff} $B%$%/%9%F%s%7%g%s$O!"(B
   1.408 +$B;HMQ$9$k:9J,I=<(%3%^%s%I$r@5$7$$%*%W%7%g%s$G5/F0$9$k(B
   1.409 +\emph{$B?7$7$$(B}$B%3%^%s%I$rDj5A$G$-$k$h$&$K$J$C$F$$$^$9!#(B
   1.410 +
   1.411 +$B?7$7$$%3%^%s%IDj5A$N$?$a$KI,MW$J$N$O!"(B
   1.412 +\hgrc $B%U%!%$%k$rJT=8$7!"(B
   1.413 +\rcsection{extdiff} $B$H$$$&L>A0$N%;%/%7%g%s$rDI2C$9$k$@$1$G$9!#(B
   1.414 +$B$3$N%;%/%7%g%s$G$O!"(B
   1.415 +$BJ#?t$N%3%^%s%I$rDj5A$9$k$3$H$,$G$-$^$9!#(B
   1.416 +$B0J2<$K(B \texttt{kdiff3} $B%3%^%s%I$rDI2C$9$kNc$r<($7$^$9!#(B
   1.417 +$B0lC6Dj5A$7$F$7$^$($P!"(B
   1.418 +``\texttt{hg kdiff3}''$B$HF~NO$9$k$@$1$G(B
   1.419 +\hgext{extdiff} $B%$%/%9%F%s%7%g%s$,(B
   1.420 +\command{kdiff3} $B$r5/F0$7$^$9!#(B
   1.421 +
   1.422 +\begin{codesample2}
   1.423 +  [extdiff]
   1.424 +  cmd.kdiff3 =
   1.425 +\end{codesample2}
   1.426 +
   1.427 +$BDj5A$N1&JU$r>e5-Nc$N$h$&$K6u$K$7$?>l9g!"(B
   1.428 +\hgext{extdiff} $B%$%/%9%F%s%7%g%s$O!"(B
   1.429 +$BDj5A$7$?%3%^%s%I$NL>A0$r<B9T$9$Y$-30It%W%m%0%i%`$NL>A0$H8+$J$7$^$9!#(B
   1.430 +$B$7$+$7!"$3$l$i$NL>A0$,0lCW$7$F$$$kI,MW$O$"$j$^$;$s!#(B
   1.431 +$B0J2<$NNc$G$O!"(B
   1.432 +\command{kdiff3} $B$r<B9T$9$k%3%^%s%I$r(B
   1.433 +``\texttt{hg wibble}'' $B$H$$$&L>A0$GDj5A$7$F$$$^$9!#(B
   1.434 +
   1.435 +\begin{codesample2}
   1.436 +  [extdiff]
   1.437 +  cmd.wibble = kdiff3
   1.438 +\end{codesample2}
   1.439 +
   1.440 +$B:9J,I=<(%W%m%0%i%`5/F0$N:]$N%G%U%)%k%H%*%W%7%g%s$b;XDj$9$k$3$H$,$G$-$^$9!#(B
   1.441 +``\texttt{opts.}'' $B@\F,<-$KB3$$$F!"(B
   1.442 +$B%*%W%7%g%s$rE,MQ$7$?$$%3%^%s%IL>$r5-=R$7$F$/$@$5$$!#(B
   1.443 +$B0J2<$NNc$G$O!"(B
   1.444 +\command{vim} $B%(%G%#%?$N(B \texttt{DirDiff} $B3HD%$r<B9T$9$k(B
   1.445 +``\texttt{hg vimdiff}'' $B%3%^%s%I$rDj5A$7$F$$$^$9!#(B
   1.446 +
   1.447 +\begin{codesample2}
   1.448 +  [extdiff]  
   1.449 +  cmd.vimdiff = vim
   1.450 +  opts.vimdiff = -f '+next' '+execute "DirDiff" argv(0) argv(1)'
   1.451 +\end{codesample2}
   1.452 +
   1.453 +\section{Cherrypicking changes with the \hgext{transplant} extension}
   1.454 +\label{sec:hgext:transplant}
   1.455 +
   1.456 +$B"((B Brendan $B$H%A%c%C%H$G$NOC$79g$$$,I,MW(B
   1.457 +
   1.458 +\section{Send changes via email with the \hgext{patchbomb} extension}
   1.459 +\label{sec:hgext:patchbomb}
   1.460 +
   1.461 +$BB?$/$N%W%m%8%'%/%H$G$O!"(B
   1.462 +$B6&M-%j%]%8%H%j$K:G=*@.2L$r%3%_%C%H$9$kA0$K!"(B
   1.463 +$BJQ99FbMF$r%a!<%j%s%0%j%9%H$KEj9F$7$F::FI$dO@I>$r9T$&(B
   1.464 +``$BJQ99%l%S%e!<(B''$B$NJ82=$r;}$C$F$$$^$9!#(B
   1.465 +$B%j%]%8%H%j$X$N%"%/%;%98"$r;}$?$J$$?M!9$+$i$NJQ990MMj$rE,MQ$9$k!"(B
   1.466 +$BLgHV$NLr3d$r2L$?$9?M!9$,$$$k%W%m%8%'%/%H$b$"$j$^$9!#(B
   1.467 +
   1.468 +Mercurial $B$N(B \hgext{patchbomb} $B%$%/%9%F%s%7%g%s$rMxMQ$9$k$3$H$G!"(B
   1.469 +$B%l%S%e!<$dDs0F$N$?$a$NEE;R%a!<%k$K$h$kJQ99Aw?.$,MF0W$K$J$j$^$9!#(B
   1.470 +$B$3$N%$%/%9%F%s%7%g%s$NL>A0$O!"(B
   1.471 +$BJQ99$,%Q%C%A7A<0$G@07A$5$l!"(B
   1.472 +$B#1%A%'%s%8%;%C%HKh$K#1$D$NEE;R%a!<%k$GAw?.$5$l$k$3$H$KM3Mh$7$F$$$^$9!#(B
   1.473 +$BEE;R%a!<%k$K$h$k0lO"$NJQ99$NAw?.$,!"(B
   1.474 +$B<u?.<T$N%a!<%k%\%C%/%9$K$H$C$F(B``$BGz7b(B''$B!J(Bbombing$B!K(B
   1.475 +$B$N$h$&$G$"$k$3$H$+$i!"(B``patchbomb''$B$H8F$P$l$F$$$^$9!#(B
   1.476 +
   1.477 +\hgext{patchbomb} $B%$%/%9%F%s%7%g%s$N4pK\E*$J@_Dj5-=R$O!"(B
   1.478 +$B$$$D$b$N$h$&$K(B \hgrc $B$X$N#19T$+#29TDxEY$N5-=R$@$1$G$9!#(B
   1.479 +
   1.480 +\begin{codesample2}
   1.481 +  [extensions]
   1.482 +  patchbomb =
   1.483 +\end{codesample2}
   1.484 +
   1.485 +$B0lC6%$%/%9%F%s%7%g%s$rM-8z$K$7$?$J$i$P!"(B
   1.486 +\hgxcmd{patchbomb}{email} $B$H$$$&?7$?$J%3%^%s%I$,MxMQ2DG=$K$J$j$^$9!#(B
   1.487 +
   1.488 +\hgxcmd{patchbomb}{email} $B%3%^%s%I$N0BA43n$D:GA1$N<B9T<j=g$O!"(B
   1.489 +\emph{$BI,$:(B} \hgxopt{patchbomb}{email}{-n} 
   1.490 +$B%*%W%7%g%s$rIU$1$F0lC6<B9T$7$F$_$k$3$H$G$9!#(B
   1.491 +\hgxopt{patchbomb}{email}{-n} $B%*%W%7%g%sIU$-$N<B9T$O!"(B
   1.492 +$B<B:]$NEE;R%a!<%kAw?.$O9T$o$:$K!"(B
   1.493 +$BAw?.(B\emph{$B$5$l$k$G$"$m$&(B}$BFbMF$rI=<($7$^$9!#(B
   1.494 +$BJQ99FbMF$K$6$C$HL\$rDL$7$F!"(B
   1.495 +$BAw?.FbMF$,E,@Z$G$"$k$3$H$r3NG'$7$?$J$i$P!"(B
   1.496 +\hgxopt{patchbomb}{email}{-n} 
   1.497 +$B%*%W%7%g%sH4$-$G:FEY(B
   1.498 +\hgxcmd{patchbomb}{email} $B%3%^%s%I$r<B9T$7$F$/$@$5$$!#(B
   1.499 +
   1.500 +\hgxcmd{patchbomb}{email} $B%3%^%s%I$O!"(B
   1.501 +$BB>$N(B Mercurial $B%3%^%s%I$HF1MM$N%j%S%8%g%s;XDj$,2DG=$G$9!#(B
   1.502 +$BNc$($P0J2<$N<B9TNc$G$O!"(B
   1.503 +$B%j%S%8%g%s(B 7 $B$+$i(B \texttt{tip} $B$^$G$NA4$F$N%j%S%8%g%s(B
   1.504 +$B!J%j%S%8%g%s(B 7 $B$*$h$S(B \texttt{tip} $B$b4^$_$^$9!K$,Aw?.$5$l$^$9!#(B
   1.505 +
   1.506 +\begin{codesample2}
   1.507 +  hg email -n 7:tip
   1.508 +\end{codesample2}
   1.509 +
   1.510 +$BHf3SBP>]$N(B\emph{$B%j%]%8%H%j(B}$B$r;XDj$9$k$3$H$b$G$-$^$9!#(B
   1.511 +$B%j%S%8%g%s;XDjL5$7$G%j%]%8%H%j$r;XDj$7$?>l9g!"(B
   1.512 +\hgxcmd{patchbomb}{email} $B%3%^%s%I$O!"(B
   1.513 +$B1s3V%j%]%8%H%j$KB8:_$7$J$$%m!<%+%k%j%]%8%H%j$NA4$F$N%j%S%8%g%s$rAw?.$7$^$9!#(B
   1.514 +$B%j%S%8%g%s$J$$$7!J(B\hgxopt{patchbomb}{email}{-b} $B%*%W%7%g%s$K$h$k!K(B
   1.515 +$B%V%i%s%AL>$rDI2C;XDj$9$k$3$H$G!"(B
   1.516 +$BAw?.$5$l$k%j%S%8%g%s$r@)8B$9$k$3$H$,$G$-$^$9!#(B
   1.517 +
   1.518 +$BAw?.@h%"%I%l%9$r;XDj$7$J$$(B
   1.519 +\hgxcmd{patchbomb}{email} $B<B9T$O40`z$K0BA4$G!"(B
   1.520 +$B$=$N>l9g$K$O(B \hgxcmd{patchbomb}{email} $B$OBPOCE*$KF~NO$r5a$a$F$-$^$9(B
   1.521 +$B!J(BLinux $B$d(B Unix $B%i%$%/$J%7%9%F%`$rMxMQ$7$F$$$k>l9g!"(B
   1.522 +$B$3$l$i$N%X%C%@CMF~NO$N:]$K$O!"(B
   1.523 +\texttt{readline} $BMM<0$NJT=85!G=$,MxMQ2DG=$G$9!K!#(B
   1.524 +
   1.525 +$BC10l$N%j%S%8%g%s$@$1$rAw?.$9$k>l9g!"(B
   1.526 +\hgxcmd{patchbomb}{email} $B%3%^%s%I$N4pDlF0:n$G$O!"(B
   1.527 +$B%3%_%C%H%a%C%;!<%8$N:G=i$N#19T$rAw?.$9$kEE;R%a!<%k$N%5%V%8%'%/%H$KMxMQ$7$^$9!#(B
   1.528 +
   1.529 +$BJ#?t$N%j%S%8%g%s$rAw?.$9$k>l9g!"(B
   1.530 +\hgxcmd{patchbomb}{email} $B%3%^%s%I$O%A%'%s%8%;%C%HKh$KEE;R%a!<%k$rAw?.$7$^$9!#(B
   1.531 +$B$3$N>l9g!"(B
   1.532 +$BAw?.$7$h$&$H$9$k0lO"$NJQ99$NL\E*$r5-=R$7$?A0CV$-$NEE;R%a!<%k$r!"(B
   1.533 +$B0lO"$N%a!<%kAw?.$N@h?($l$H$7$FAw?.$7$^$9!#(B
   1.534 +
   1.535 +\subsection{Changing the behaviour of patchbombs}
   1.536 +
   1.537 +$BEE;R%a!<%k$K$h$kJQ99FbMFAw?.$N7A<0$,!"(B
   1.538 +$BA4$F$N%W%m%8%'%/%H$G87L)$KF1$8$o$1$G$OL5$$$3$H$+$i!"(B
   1.539 +\hgext{patchbomb} $B%$%/%9%F%s%7%g%s$O!"(B
   1.540 +$B%3%^%s%I9T$G$N%*%W%7%g%s;XDj$K$h$k4v$D$+$NE,9g=hM}$r<B;\$7$^$9!#(B
   1.541 +
   1.542 +\begin{itemize}
   1.543 +\item $B%3%^%s%I9T$G$N(B \hgxopt{patchbomb}{email}{-s} $B%*%W%7%g%s$K$h$j!"(B
   1.544 +  $BA0CV$-%a%C%;!<%8$N%5%V%8%'%/%H$r;XDj$G$-$^$9!#(B
   1.545 +  $B$3$N%*%W%7%g%s$K$O!"(B
   1.546 +  $B%5%V%8%'%/%H$H$7$F;HMQ$9$k%F%-%9%H$r;XDj$7$^$9!#(B
   1.547 +
   1.548 +\item \hgxopt{patchbomb}{email}{-f} $B%*%W%7%g%s$K$h$j!"(B
   1.549 +  $BEE;R%a!<%k$NAw?.85%"%I%l%9$rJQ99$G$-$^$9!#(B
   1.550 +  $B$3$N%*%W%7%g%s$K$O!"(B
   1.551 +  $BAw?.85%"%I%l%9$H$7$F;HMQ$9$kEE;R%a!<%k%"%I%l%9$r;XDj$7$^$9!#(B
   1.552 +
   1.553 +\item $B4pDlF0:n$G$O!"EE;R%a!<%k$4$H$K(B unified $B:9J,!J(B
   1.554 +  $B7A<0$N>\:Y$K4X$7$F$O(B \ref{sec:mq:patch}~$B@a$r;2>H$7$F$/$@$5$$!K(B
   1.555 +  $B$rAw?.$7$^$9!#(B
   1.556 +  \hgxopt{patchbomb}{email}{-b} $B%*%W%7%g%s$r;XDj$9$k$3$H$G!"(B
   1.557 +  $B%P%$%J%j%P%s%I%k7A<0$G$NAw?.$rA*Br$G$-$^$9!#(B
   1.558 +
   1.559 +\item unified $B:9J,$NDL>o$N=PNO(B\footnote{$BLuCm(B:
   1.560 +  $B!V(BMercurial $B$K$*$1$kDL>o$N=PNO!W$N0UL#!)(B
   1.561 +  $B$=$l$H$b!V(Bpatchbomb $B$K$*$1$kDL>o$N=PNO!W$N0UL#!)(B
   1.562 +  }$B$O%a%?%G!<%?%X%C%@$+$i;O$^$j$^$9!#(B
   1.563 +  \hgxopt{patchbomb}{email}{--plain} $B%*%W%7%g%s$r;XDj$9$k$3$H$G!"(B
   1.564 +  $B$3$l$i$r>JN,$7$?4JAG$J7A<0$N:9J,$rAw?.$9$k$3$H$,$G$-$^$9!#(B
   1.565 +
   1.566 +\item $B:9J,ItJ,$ODL>o!"(B
   1.567 +  $B%Q%C%A$N@bL@ItJ,$HF1$8(B MIME $B%Q!<%H$K(B``$BJB$Y$F(B''$BAw?.$5$l$^$9!#(B
   1.568 +  $B%a!<%k$N:G=i$N(B MIME $B%Q!<%H$+$i$7$+0zMQ$G$-$J$$%a!<%k%D!<%k$b$"$k$?$a!"(B
   1.569 +  $B:G$bB?$/$NFI$_<j$K$H$C$F!"(B
   1.570 +  $B0lHVMF0W$K:9J,$r0zMQ$7$FJV?.$G$-$k$N$,$3$N7A<0$G$9!#(B
   1.571 +  $B@bL@ItJ,$H:9J,ItJ,$rJL!9$N(B MIME $B%Q!<%H$H$7$FAw?.$7$?$$>l9g$O!"(B
   1.572 +  \hgxopt{patchbomb}{email}{-a} $B%*%W%7%g%s$r;XDj$7$F$/$@$5$$!#(B
   1.573 +
   1.574 +\item \hgxopt{patchbomb}{email}{-m} $B%*%W%7%g%s$r;XDj$9$k$3$H$G!"(B
   1.575 +  $BEE;R%a!<%k$G$NAw?.$NBX$o$j$K!"(B
   1.576 +  \texttt{mbox} $B7A<0$N%a!<%k%U%)%k%@$X$N=q$-9~$_$r9T$&$3$H$,$G$-$^$9!#(B
   1.577 +  $B$3$N%*%W%7%g%s$K$O!"=q$-9~$_@h%U%!%$%kL>$r;XDj$7$^$9!#(B
   1.578 +
   1.579 +\item $B3F%Q%C%A$*$h$SA0CV$-%a%C%;!<%8$KBP$7$F!"(B
   1.580 +  \command{diffstat} $B7A<0$NMWLs$rIUM?$7$?$$>l9g$O!"(B
   1.581 +  \hgxopt{patchbomb}{email}{-d} $B%*%W%7%g%s$r;XDj$7$F$/$@$5$$!#(B
   1.582 +  \command{diffstat} $B%3%^%s%I$O!"(B
   1.583 +  $B%Q%C%AE,MQ@h%U%!%$%kL>$H!"(B
   1.584 +  $B1F6A$r<u$1$k9T?t!"(B
   1.585 +  $B$*$h$S3F%U%!%$%kKh$NJQ99NL$rI=$9%R%9%H%0%i%`$r0lMwI=<($7$^$9!#(B
   1.586 +  $B%a!<%k$NFI$_<j$O!"(B
   1.587 +  $B$3$N>pJs$+$i%Q%C%A$NJ#;(EY$K4X$9$k<AE*$J0lMw@-$rF@$k$3$H$,$G$-$^$9!#(B
   1.588 +
   1.589 +\end{itemize}
   1.590 +
   1.591 +%%% Local Variables: 
   1.592 +%%% mode: latex
   1.593 +%%% TeX-master: "00book"
   1.594 +%%% End: