hgbook

view ja/hgext.tex @ 966:39d37f84beaf

adding more new files - probably generated but still in versionning
author Romain PELISSE <belaran@gmail.com>
date Sun Aug 16 13:20:24 2009 +0200 (2009-08-16)
parents
children
line source
1 \chapter{Adding functionality with extensions}
2 \label{chap:hgext}
4 Mercurial $B$O5!G=@-$N8+CO$+$i8+$?>l9g$K$O?=$7J,L5$$0lJ}$G!"(B
5 $BJQ$j<o$N5!G=72$O8N0U$K=|30$5$l$F$$$^$9!#(B
6 $B4J7i$5$rJ]$D8/$jJ}$O!"(B
7 $BJ]<iC4Ev$HMxMQ<T$NN>J}$KBP$7$F%=%U%H%&%'%"$N07$$$d$9$5$r0];}$7$^$9!#(B
9 $B$7$+$7(B Mercurial $B$O!"(B
10 $BMxMQ<T$r<];RDj5,$J%3%^%s%I72$NB~Cf$KMxMQ<T$rJD$89~$a$k$h$&$J$3$H$O$7$^$;$s!#(B
11 \emph{$B%$%/%9%F%s%7%g%s(B}
12 $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
13 $B$H$7$F5!G=$rDI2C$9$k$3$H$,$G$-$k$N$G$9!#(B
14 $B4v$D$+$N%$%/%9%F%s%7%g%s$K$D$$$F$O!"(B
15 $B4{$KA0$N>O$GOCBj$K$7$F$$$^$9!#(B
17 \begin{itemize}
18 \item \ref{sec:tour-merge:fetch}~$B@a$G$O(B
19 \hgext{fetch} $B%$%/%9%F%s%7%g%s$r<h$j>e$2$F$$$^$9!#(B
20 $B$3$N%$%/%9%F%s%7%g%s$O!"?7$?$JJQ99$N<hF@$H<j85$NJQ99$X$N%^!<%8$r!"(B
21 $BC10l$N%3%^%s%I(B \hgxcmd{fetch}{fetch} $B$G<B;\$7$^$9!#(B
23 \item \hgext{bisect} $B$O!"(B
24 $B%P%0$N860x$H$J$kJQ99$r8zN(E*$K8!:w$9$k%$%/%9%F%s%7%g%s$G!"(B
25 \ref{sec:undo:bisect}~$B@a$G<h$j>e$2$^$7$?!#(B
27 \item \ref{chap:hook}~$B>O$G$O!"(B
28 $B%U%C%/$K4XO"$7$?M-MQ$J5!G=$r;}$D%$%/%9%F%s%7%g%s$r<h$j>e$2$^$7$?!#(B
29 \hgext{acl} $B$O%"%/%;%9%3%s%H%m!<%k%j%9%H$N5!G=$r!"(B
30 \hgext{bugzilla} $B$O(B Bugzilla $B%P%0DI@W%7%9%F%`$H$NE}9g$r!"(B
31 \hgext{notify} $B$OJQ99DI2C;~$K$*$1$kEE;R%a!<%kDLCN$N5!G=$r!"(B
32 Mercurial $B$KDI2C$7$^$9!#(B
34 \item Mercurial Queues $B%Q%C%A4IM}%$%/%9%F%s%7%g%s$O!"(B
35 $B#2$D$N>O$H#1$D$N(B appendix $B$r4]!9Hq$d$9$KCM$9$k2ACM$r;}$C$F$$$^$9!#(B
36 \ref{chap:mq}~$B>O$O4pK\$r!"(B
37 \ref{chap:mq-collab}~$B>O$O$h$j?J$s$@OCBj$r!"(B
38 $B$=$7$F(B appendix~\ref{chap:mqref} $B$O3F%3%^%s%I$N>\:Y$r<h$j>e$2$F$$$^$9!#(B
40 \end{itemize}
42 $BK\>O$G$O!"(B
43 $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
44 $B$=$N>e$G!"(B
45 $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
46 $B4JC1$K?($l$h$&$H;W$$$^$9!#(B
48 \begin{itemize}
49 \item \ref{sec:hgext:inotify}~$B@a$G$O!"(B
50 \hgext{inotify}
51 $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
53 \end{itemize}
55 \section{Improve performance with the \hgext{inotify} extension}
56 \label{sec:hgext:inotify}
58 $B0lHLE*$J(B Mercurial $B$NA`:n$,(B 100 $BG\B.$/$J$k$3$H$K6=L#$,$"$k$N$G$7$?$i!"(B
59 $B$<$R$3$N@a$rFI$s$G$/$@$5$$!#(B
61 Mercurial $B$ODL>o$N4D6-$G$"$C$F$b9b$$@-G=$G$rH/4x$7$^$9!#(B
62 XXXX $BH]Dj$N@\B3$NH&(B XXXX
63 $BNc$($P(B \hgcmd{status} $B%3%^%s%I$N<B9T$N:]$K$O!"(B
64 $B%U%!%$%k$N>uBV$rI=<($9$k$?$a$K!"(B
65 $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
66 $BB>$NB?$/$N(B Mercurial $B%3%^%s%I$b!"(B
67 $BIqBfN"$G$OF1MM$N:n6H$rI,MW$H$7$F$$$^$9!#(B
68 $BNc$($P(B \hgcmd{diff} $B%3%^%s%I$O!"(B
69 $B>uBVHf3S5!9=(B\footnote{$BLuCm(B: \ref{sec:concepts:dirstate}~$B@a;2>H(B
70 }$B$rMQ$$$k$3$H$G!"(B
71 $BL@$i$+$KJQ99$5$l$F$$$J$$%U%!%$%k$KBP$7$F!"(B
72 $B<B9T%3%9%H$N9b$$Hf3S=hM}$,<B;\$5$l$k$3$H$r2sHr$7$F$$$^$9!#(B
74 $B%U%!%$%k>uBV$N<hF@$O@-G=3NJ]>e=EMW$J$3$H$J$N$G!"(B
75 Mercurial $B$N3+H/<TC#$O!"(B
76 $B%.%j%.%j$N$H$3$m$^$G$3$NItJ,$N<BAu$r:GE,2=$7$F$-$^$7$?!#(B
77 $B$7$+$7(B \hgcmd{status} $B<B9T$N:]$K$O!"(B
78 $BA02s$N3NG'0J9_$NJQ99$NM-L5$rCN$k$?$a$K!"(B
79 $B%3%9%H$N9b$$%7%9%F%`%3!<%k$r!"(B
80 Mercurial $B$N4IM}2<$K$"$k%U%!%$%kKh$K:GDc#12sH/9T$9$kI,MW$,$"$k!"(B
81 $B$H$$$&;v<B$O2sHr$7$h$&$,$"$j$^$;$s!#(B
82 $B0lDj0J>e$NBg$-$5$N%j%]%8%H%j$G$O!"(B
83 $B$3$N=hM}$K$OD9$$;~4V$,$+$+$j$^$9!#(B
85 $B1F6A$NBg$-$5$r?tCM2=$9$Y$/!"(B
86 150,000 $B$N%U%!%$%k$r4IM}$9$k%j%]%8%H%j$G<B83$r9T$C$?7k2L!"(B
87 $B$$$:$l$N%U%!%$%k$bJQ99(B\emph{$B$5$l$F$$$J$$(B}$B>l9g$G$"$C$F$b!"(B
88 \hgcmd{status} $B$N<B9T$K$O#1#0IC$rMW$7$^$9!#(B
90 $BB?$/$N6aBeE*(B OS $B$O!"%U%!%$%k99?7$NDLCN5!9=$rHw$($F$$$^$9!#(B
91 $BE,@Z$J%5!<%S%9$K%W%m%0%i%`$rEPO?$7$F$*$/$3$H$G!"(B
92 $BBP>]$H$J$k%U%!%$%k$K4X$9$k@8@.!&JQ99!&:o=|$H$$$C$?%$%Y%s%H$,H/@8$9$kETEY!"(B
93 OS $B$,DLCN$r$7$F$/$l$^$9!#(B
94 Linux $B4D6-$G$O!"(B
95 \texttt{inotify}
96 $B$H8F$P$l$k%+!<%M%k%3%s%]%M%s%H$,DLCN5!9=$rDs6!$7$^$9!#(B
98 Mercurial $B$N(B \hgext{inotify} $B%$%/%9%F%s%7%g%s$O!"(B
99 $B%+!<%M%k$N(B \texttt{inotify} $B$HO"7H$9$k$3$H$G!"(B
100 \hgcmd{status} $B%3%^%s%I$r:GE,2=$7$^$9!#(B
101 \hgext{inotify} $B%$%/%9%F%s%7%g%s$O#2$D$NMWAG$+$i9=@.$5$l$F$$$^$9!#(B
102 $B%G!<%b%sItJ,$,%P%C%/%0%i%&%s%I$G2TF0$9$k$3$H$G!"(B
103 \texttt{inotify} $B%+!<%M%k%3%s%]%M%s%H$+$iDLCN$r<u$1<h$j$^$9!#(B
104 $B%G!<%b%sItJ,$O!"(B
105 $BDL>o$N(B Mercurial $B%3%^%s%I$+$i$N@\B3MW5a$b<u$1IU$1$^$9!#(B
106 \hgext{inotify} $B%$%/%9%F%s%7%g%s$O!"(B
107 $B%U%!%$%k%7%9%F%`$NAv::$NBeBX$H$7$F%G!<%b%s$rI,MW$H$9$k$?$a!"(B
108 Mercurial $B$N5sF0$=$N$b$N$r2~JQ$7$^$9!#(B
109 $B%G!<%b%s$O%j%]%8%H%j>uBV$K4X$9$k40A4$J>pJs$rJ];}$7$F$$$k$N$G!"(B
110 $B%j%]%8%H%jG[2<$N%G%#%l%/%H%j$d%U%!%$%k$rAv::$9$k$3$HL5$7$K!"(B
111 $BB(:B$K1~Ez$rJV$9$3$H$,$G$-$^$9!#(B
113 $B@h$K=R$Y$?$H$*$j!"(B
114 $BDL>o$N(B Mercurial $B$G$O!"(B
115 150,000 $B$N%U%!%$%k$r4IM}$9$k%j%]%8%H%j$G$N(B
116 \hgcmd{status} $B<B9T$K#1#0IC$rMW$7$^$7$?!#(B
117 \hgext{inotify} $B%$%/%9%F%s%7%g%s$rM-8z$K$9$k$3$H$G!"(B
118 $B<B9T$KMW$9$k;~4V$O(B\emph{1000$BG\(B}$BAa$$(B0.1~$BIC$^$GDc8:$G$-$^$7$?!#(B
120 $BOC$r@h$K?J$a$kA0$K!"(B
121 $B0J2<$NE@$KCm0U$7$F$/$@$5$$!#(B
123 \begin{itemize}
124 \item \hgext{inotify} $B$O(B Linux $B4D6-8GM-$N%$%/%9%F%s%7%g%s$G$9!#(B
125 Linux $B$N(B \texttt{inotify} $B%5%V%7%9%F%`$HD>@\O"7H$9$k$?$a!"(B
126 $BB>$N(B OS $B4D6-2<$G$O5!G=$7$^$;$s!#(B
128 \item 2005 $BG/=i=\0J8e$K%j%j!<%9$5$l$?(B
129 Linux $B%G%#%9%H%j%S%e!<%7%g%s$G$NMxMQ$r$*A&$a$7$^$9!#(B
130 $B$=$l0JA0$N%G%#%9%H%j%S%e!<%7%g%s$O!"(B
131 \texttt{inotify} $B$,AH$_9~$^$l$F$$$J$$$+!"(B
132 $BI,MW$J(B API $B$r(B \texttt{glibc} $B$,Ds6!$7$F$$$J$$$b$N$H;W$o$l$^$9(B\footnote{
133 $BLuCm(B: man $B%Z!<%8$K$h$l$P!"(B
134 \texttt{inotify} $B$NMxMQ$KEv$?$C$F$O!"(B
135 2.6.13 $BHG0J8e$N%+!<%M%k$H(B 2.4 $BHG0J8e$N(B \texttt{glibc} $B$,I,MW$@$=$&$G$9!#(B
136 }$B!#(B
138 \item $BA4$F$N%U%!%$%k%7%9%F%`$,(B
139 \hgext{inotify} $B%$%/%9%F%s%7%g%s$NMxMQ$KE,$7$F$$$k$H$O8B$j$^$;$s!#(B
140 $BE57?E*$JNc$H$7$F$O!"(B
141 $BF10l$N%M%C%H%o!<%/%U%!%$%k%7%9%F%`$r!"(B
142 Mercurial $B$r2TF0$5$;$kJ#?t$N%7%9%F%`$G%^%&%s%H$7$F$$$k$h$&$J>l9g$G$9!#(B
143 $B%+!<%M%k$N(B \texttt{inotify} $B%5%V%7%9%F%`$O!"(B
144 $B%j%b!<%H%[%9%H$G$NJQ99$rCN$k=Q$r;}$A$^$;$s!#(B
145 $BKX$I$N%m!<%+%k%U%!%$%k%7%9%F%`!JNc$($P(B ext3$B!"(BXFS $B$d(B ReiserFS$B!K$O!"(B
146 $B>e<j$/5!G=$9$kH&$G$9!#(B
148 \end{itemize}
150 \hgext{inotify} $B%$%/%9%F%s%7%g%s$O!"(B
151 2007 $BG/(B 5 $B7n$N;~E@$G$O(B Mercurial $B$KF1:-$5$l$F$$$^$;$s(B\footnote{$BLuCm(B:
152 2007 $BG/(B 10 $B7n$N(B 0.9.5 $BHGCJ3,$G$bF1:-$5$l$F$$$^$;$s(B}$B$N$G!"(B
153 $BB>$N%$%/%9%F%s%7%g%s$HHf3S$7$FB?>/$N=`Hw:n6H$,I,MW$G$9$,!"(B
154 $B@-G=8~>e$K$O$=$l$@$1$N2ACM$,$"$j$^$9!#(B
156 \hgext{inotify} $B%$%/%9%F%s%7%g%s$OL\2<!"(B
157 Mercurial $B%=!<%9%3!<%I$X$N%Q%C%A$H!"(B
158 \texttt{inotify} $B%5%V%7%9%F%`O"7H$N(B
159 Python $B%P%$%s%G%#%s%0%i%$%V%i%j$N#2$D$NMWAG$+$i9=@.$5$l$F$$$^$9!#(B
161 \begin{note}
162 \texttt{inotify} $B$N(B
163 Python $B%P%$%s%G%#%s%0%i%$%V%i%j$K$O(B\emph{$B#2<oN`(B}$B$"$j$^$9!#(B
164 $B#1$D$O(B \texttt{pyinotify} $B$H8F$P$l$k$b$N$G!"(B
165 $B4v$D$+$N(B Linux $B%G%#%9%H%j%S%e!<%7%g%s$K$O(B
166 \texttt{python-inotify} $B$H$$$&L>A0$GF1:-$5$l$F$$$^$9!#(B
167 $B<BMQ$K6!$9$k$K$OHs>o$K%P%0$,B?$/8zN($b0-$$$N$G!"(B
168 $B$3$N%i%$%V%i%j$O;H$&$Y$-$G$O(B\emph{$B$"$j$^$;$s(B}$B!#(B
169 \end{note}
171 $B;v$r?J$a$k$KEv$?$C$F$O!"(B
172 $B4{$K5!G=$7$F$$$k%$%s%9%H!<%k:Q$_(B
173 Mercurial $B$rJ#@=$9$k$N$,NI$$$G$7$g$&!#(B
174 To get going, it's best to already have a functioning copy of
175 Mercurial installed. XXXXXX
177 \begin{note}
178 $B0J2<$N<j=g$rF'$`>l9g!"(B
179 $B:G$b:G?7$N(B``$B:G@hC<$J(B''Mercurial $B<BAu$G!"(B
180 $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
181 $B$3$l$O7Y9p$G$9!#(B
182 \end{note}
184 \begin{enumerate}
185 \item \texttt{inotify} $B$N(B Python $B%P%$%s%G%#%s%0$N%j%]%8%H%j$rJ#@=$7$^$9!#(B
186 $B%S%k%I$*$h$S%$%s%9%H!<%k$r9T$C$F$/$@$5$$!#(B
188 \begin{codesample4}
189 hg clone http://hg.kublai.com/python/inotify
190 cd inotify
191 python setup.py build --force
192 sudo python setup.py install --skip-build
193 \end{codesample4}
195 \item Mercurial $B$N(B \dirname{crew} $B%j%]%8%H%j$rJ#@=$7$^$9!#(B
196 Mercurial Queues $B$K$h$j(B
197 \dirname{crew} $B%j%]%8%H%j$N%m!<%+%k%3%T!<(B\footnote{$BLuCm!'(B
198 $B$3$3$G$O(B \dirname{crew} $B$+$i99$K(B \dirname{inotify} $B$rJ#@=$7$F$$$^$9$,!"(B
199 \hgext{inotify} $B%$%/%9%F%s%7%g%sMxMQ$N$?$a$@$1$K%S%k%I$9$k>l9g!"(B
200 $BD>@\(B \dirname{crew} $B$G:n6H$7$F$bLdBjL5$$H&$G$9!#(B
201 }$B$K%Q%C%A$rEv$F$k0Y$K!"(B
202 \hgext{inotify} $B%Q%C%A$N%j%]%8%H%j$bJ#@=$7$F$/$@$5$$!#(B
204 \begin{codesample4}
205 hg clone http://hg.intevation.org/mercurial/crew
206 hg clone crew inotify
207 hg clone http://hg.kublai.com/mercurial/patches/inotify inotify/.hg/patches
208 \end{codesample4}
210 \item Mercurial Queues $B%$%/%9%F%s%7%g%s!J(B\hgext{mq}$B!K(B
211 $B$,MxMQ2DG=$G$"$k$3$H$r3NG'$7$F$/$@$5$$!#(B
212 MQ $B$rMxMQ$7$?$3$H$,L5$$>l9g!"(B
213 $B$^$:$O(B \ref{sec:mq:start}~$B@a$rFI$s$G$/$@$5$$!#(B
215 \item \dirname{inotify} $B!J%m!<%+%k!K%j%]%8%H%j$K0\F0$7$F!"(B
216 \hgxcmd{mq}{qpush} $B%3%^%s%I$N(B \hgxopt{mq}{qpush}{-a} $B%*%W%7%g%s$r;HMQ$7$F!"(B
217 $BA4$F$N(B \hgext{inotify} $B%Q%C%A$rE,MQ$7$F$/$@$5$$!#(B
219 \begin{codesample4}
220 cd inotify
221 hg qpush -a
222 \end{codesample4}
224 \hgxcmd{mq}{qpush} $B$,%(%i!<%a%C%;!<%8$rI=<($7$?>l9g$O!"(B
225 $B:n6H$r7QB3$;$:$K3+H/%3%_%e%K%F%#$K=u$1$r5a$a$F$/$@$5$$!#(B
227 \item $B%Q%C%AE,MQHG$N(B Mercurial $B$r%S%k%I$*$h$S%$%s%9%H!<%k$7$^$9!#(B
229 \begin{codesample4}
230 python setup.py build --force
231 sudo python setup.py install --skip-build
232 \end{codesample4}
234 \end{enumerate}
236 $BE,@Z$K%Q%C%A$,E,MQ$5$l$?HG$N(B Mercurial $B$,0lC6$G$-$F$7$^$($P!"(B
237 \hgext{inotify} $B%$%/%9%F%s%7%g%s$rM-8z$K$9$k$?$a$KI,MW$J$3$H$O!"(B
238 \hgrc $B%U%!%$%k$K0J2<$N5-=R$rDI2C$9$k$3$H$@$1$G$9!#(B
240 \begin{codesample2}
241 [extensions]
242 inotify =
243 \end{codesample2}
245 \hgext{inotify} $B%$%/%9%F%s%7%g%s$,M-8z2=$5$l$k$H!"(B
246 $B%j%]%8%H%j$N>uBV$rI,MW$H$9$k%3%^%s%I$N=i2s5/F0$N;~E@$G!"(B
247 Mercurial $B$O<+F0E*3n$DF)2aE*$K>uBV4IM}MQ%G!<%b%s$r5/F0$7$^$9!#(B
248 $B>uBV4IM}%G!<%b%s$O!"%j%]%8%H%j$4$H$K5/F0$5$l$^$9!#(B
250 $B>uBV4IM}%G!<%b%s$O$R$=$d$+$K5/F0$5$l!"%P%C%/%0%i%&%s%I$G<B9T$7B3$1$^$9!#(B
251 \hgext{inotify} $B%$%/%9%F%s%7%g%s$rM-8z$K$7$?J#?t$N%j%]%8%H%j$G!"(B
252 $B4v$D$+$N%3%^%s%I$r<B9T$7$?8e$K!"(B
253 $B<B9TCf$N%W%m%;%90lMw$r8+$l$P!"(B
254 $B%+!<%M%k$+$i$NDLCN$H(B
255 Mercurial $B$+$i$NLd$$9g$o$;$NN>J}$rBT$C$F$$$kJ#?t$N(B
256 \texttt{hg} $B%W%m%;%9$r8+$k$3$H$,$G$-$kH&$G$9!#(B
258 \hgext{inotify} $B%$%/%9%F%s%7%g%s$rM-8z$K$7$?:]$G$b!"(B
259 $B%j%]%8%H%j$K$*$1$k(B Mercurial $B%3%^%s%I$N=i2s5/F0$O!"(B
260 $BDL>o$N(B Mercurial $B%3%^%s%I<B9T$HF1DxEY$N@-G=$G<B9T$5$l$^$9!#(B
261 $B$3$l$O>uBV4IM}%G!<%b%s$K$h$kDL>o$N>uBVAv::$,I,MW$J$?$a$G!"(B
262 $B8e$K%+!<%M%k$+$i$N99?7DLCN$r<u$1<h$k:]$N4pDl>uBV$H$J$j$^$9!#(B
263 $B$7$+$7!"$3$l0J9_$N>uBV3NG'$NI,MW$J(B\emph{$BA4$F$N(B}$B%3%^%s%I<B9T$O!"(B
264 $B$I$s$J$K>.$5$J%5%$%:$N%j%]%8%H%j$G$"$C$F$b!"(B
265 $BL\$K8+$($FB.$/$J$C$F$$$kH&$G$9!#(B
266 $B%j%]%8%H%j$,Bg$-$1$l$PBg$-$$$[$I!"(B
267 $BL\$K8+$($F@-G=$,Bg$-$/2~A1$5$l$k$3$H$G$7$g$&!#(B
268 \hgext{inotify} $B%G!<%b%s$O!"(B
269 $B$I$s$J%5%$%:$N%j%]%8%H%j$G$"$C$F$b!"(B
270 $B>uBV<hF@A`:n$rKX$I=V;~$K=*N;$5$;$k$3$H$,$G$-$^$9!#(B
272 \hgxcmd{inotify}{inserve} $B%3%^%s%I$K$h$j!"(B
273 $B>uBV4IM}%G!<%b%s$r<jF0$G5/F0$9$k$3$H$b$G$-$^$9!#(B
274 $B<jF0$G$N5/F0$K$h$j!"(B
275 $B%G!<%b%s$N<B9T$K4X$7$F4vJ,L@NF$J@)8f$r<j$K$9$k$3$H$,$G$-$^$9!#(B
276 $B$3$N%3%^%s%I$N5/F0$O!"(B
277 $BEvA3(B \hgext{inotify}
278 $B%$%/%9%F%s%7%g%s$,M-8z$K$J$C$F$$$k>l9g$K8B$j;HMQ2DG=$G$9!#(B
280 \hgext{inotify} $B%$%/%9%F%s%7%g%s$r;HMQ$7$F$$$k:]$K$O!"(B
281 $B>uBV4XO"%3%^%s%I$N<B9TA4HL$,$=$l0JA0$HHf3S$7$FB.$/$J$C$F$$$kE@$r=|$1$P!"(B
282 Mercurial $B$N5sF0$O(B\emph{$BA4$/JQ$o$i$J$$(B}$BH&$G$9!#(B
284 $B$H$j$o$1!"%3%^%s%I$N=PNO$O0[$J$i$:!"F1$87k2L$rJV$9H&$G$9!#(B
285 \hgext{inotify} $B%$%/%9%F%s%7%g%s$NM-L5$G0[$J$k7k2L$,JQ$($k>l9g!"(B
286 $B>c32$H$7$FJs9p$r$7$F$/$@$5$$!#(B
288 \section{Flexible diff support with the \hgext{extdiff} extension}
289 \label{sec:hgext:extdiff}
291 Mercurial $B$NAH$_9~$_(B \hgcmd{diff} $B%3%^%s%I$O!"(B
292 unified $B:9J,$r$=$N$^$^=PNO$7$^$9!#(B
294 \interaction{extdiff.diff}
296 $BJQ99FbMF$NI=<($K30It%D!<%k$r;H$$$?$$>l9g$O!"(B
297 \hgext{extdiff} $B%$%/%9%F%s%7%g%s$,NI$$$G$7$g$&!#(B
298 \hgext{extdiff} $B%$%/%9%F%s%7%g%s$K$h$j!"(B
299 $BJQ99FbMFI=<($KNc$($P%0%i%U%#%+%k$J30It:9J,%D!<%k$,MxMQ$G$-$k$h$&$K$J$j$^$9!#(B
301 \hgext{extdiff} $B%$%/%9%F%s%7%g%s$O(B
302 Mercurial $B$KF1:-$5$l$F$$$k$N$G4JC1$KMxMQ$G$-$^$9!#(B
303 \hgrc $B%U%!%$%k$N(B
304 \rcsection{extensions} $B%;%/%7%g%s$K!"(B
305 $B%$%/%9%F%s%7%g%s$rM-8z$K$9$k5-=R$r#19TDI2C$9$k$@$1$GNI$$$N$G$9!#(B
307 \begin{codesample2}
308 [extensions]
309 extdiff =
310 \end{codesample2}
312 $B$3$N@_Dj$K$h$j!"(B
313 \hgxcmd{extdiff}{extdiff} $B%3%^%s%I$,MxMQ2DG=$K$J$j$^$9$,!"(B
314 $B4pDl>uBV$G$O$3$N%3%^%s%I$O!"(B
315 $BAH$_9~$_$N(B \hgcmd{diff} $B%3%^%s%I$HF1$87A<0$N(B unified $B:9J,$r!"(B
316 $B%7%9%F%`$N(B \command{diff} $B%3%^%s%I$K$h$j@8@.$7$^$9!#(B
318 \interaction{extdiff.extdiff}
320 $BAH$_9~$_$N(B \hgcmd{diff} $B%3%^%s%I$N7k2L=PNO$H87L)$K$O0lCW$7$^$;$s(B\footnote{
321 $BLuCm(B: $B$I$NItJ,$r;X$7$F!V0lCW$7$J$$!W$H8@$C$F$$$k$N$+!)(B}$B$,!"(B
322 $BF1$8%*%W%7%g%s$r;XDj$7$F$b%7%9%F%`(B\footnote{$BLuCm(B:
323 $B$3$3$G8@$&!V(Bsystem$B!W$H$O!)(B XXXXX}$B$4$H$K(B
324 $B!J%7%9%F%`$N!K(B\command{diff} $B%3%^%s%I$N=PNO$,0[$J$k$+$i$G$9!#(B
326 $B>e5-$N=PNO7k2L$K(B ``\texttt{making snapshot}''
327 $B9T$,4^$^$l$F$$$k$3$H$+$i$b;!$9$k$3$H$,$G$-$^$9$,!"(B
328 \hgxcmd{extdiff}{extdiff}
329 $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
330 $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
331 $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:
332 $B:n6HNN0h%G%#%l%/%H%j$N!V?F%j%S%8%g%s!W$H!V8=9T>uBV!W(B}$B!#(B
333 \hgxcmd{extdiff}{extdiff}
334 $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
335 $B$3$l$i$N%G%#%l%/%H%jL>$r0z?t$K$7$F30It$N:9J,I=<(%D!<%k$r5/F0$7!"(B
336 $B$=$N8e0l;~%G%#%l%/%H%j$r:o=|$7$^$9!#(B
337 $B<B9T8zN(>e!"(B
338 $B#2$D$N%j%S%8%g%s$N4V$G:9J,$N$"$k%G%#%l%/%H%j!&(B
339 $B%U%!%$%k$N%9%J%C%W%7%g%C%H$@$1$,:n@.$5$l$^$9!#(B
341 $B%9%J%C%W%7%g%C%H%G%#%l%/%H%j$NL>A0$O!"(B
342 $B85$H$J$k%j%]%8%H%j$N%Y!<%9L>$HF1$8L>A0$r;}$A$^$9!#(B
343 \dirname{/quux/bar/foo} $B$H$$$&%j%]%8%H%j$N>l9g!"(B
344 $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
345 $BBP1~$9$k%A%'%s%8%;%C%H(BID$B$,$"$k>l9g!"(B
346 $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
347 \texttt{a631aca1083f} $BHG$KBP$9$k%9%J%C%W%7%g%C%H$N%G%#%l%/%H%jL>$O(B
348 \dirname{foo.a631aca1083f} $B$H$J$j$^$9!#(B
349 $B:n6HNN0h%G%#%l%/%H%j$N8=9T>uBV$KBP$9$k%9%J%C%W%7%g%C%H$O!"(B
350 $B%A%'%s%8%;%C%H(BID$B$,IUM?$5$l$^$;$s$N$G!"(B
351 $B$3$NNc$G$OC1$K(B \dirname{foo} $B$H$$$&L>A0$K$J$j$^$9!#(B
352 $B<B:]$N5sF0$r8+$k$?$a$K!"(B
353 $B:FEYA0=P$N(B \hgxcmd{extdiff}{extdiff} $B$N<B9TNc$r8+$F$_$^$7$g$&!#(B
354 $B:9J,=PNO$N%X%C%@It$K!"(B
355 $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
357 \hgxcmd{extdiff}{extdiff} $B%3%^%s%I$K$O!"(B
358 $B#2$D$N=EMW$J%*%W%7%g%s$,$"$j$^$9!#(B
359 \hgxopt{extdiff}{extdiff}{-p} $B%*%W%7%g%s$O!"(B
360 $B%7%9%F%`$N(B \command{diff}
361 $B%3%^%s%I$NBeBX$H$7$F;HMQ$5$l$k:9J,I=<(%W%m%0%i%`$r;XDj$7$^$9!#(B
362 \hgxopt{extdiff}{extdiff}{-o} $B%*%W%7%g%s$O!"(B
363 \hgxcmd{extdiff}{extdiff}
364 $B$,30It$N:9J,I=<(%W%m%0%i%`5/F0;~$K;XDj$9$k%*%W%7%g%s(B
365 $B!J%G%U%)%k%H$G$O(B ``\texttt{-Npru}'' $B$,;XDj$5$l!"(B
366 \command{diff} $B$r;HMQ$9$k>l9g$K$N$_0UL#$r;}$A$^$9!K(B
367 $B$r;XDj$7$^$9!#(B
368 $B$=$l0J30$NE@$G$O!"(B
369 \hgxcmd{extdiff}{extdiff} $B%3%^%s%I$O(B
370 $BAH$_9~$_$N(B \hgcmd{diff} $B%3%^%s%I$HF1MM$K?6Iq$$$^$9$N$G!"(B
371 $B%*%W%7%g%sL>$d%*%W%7%g%s;XDj$NJ8K!!"(B
372 $BHf3SBP>]%j%S%8%g%s$r;XDj$9$k0z?t!"(B
373 $BHf3S$7$?$$%U%!%$%kL>$N;XDj$J$I$O!"(B
374 $BAH$_9~$_$N(B \hgcmd{diff} $B$HF1$8$h$&$K;XDj$G$-$^$9!#(B
376 $B<B9TNc$H$7$F!"(B
377 $B!JDL>o$N(B \hgcmd{diff} $B$K$h$k!K(Bunified $B:9J,$NBe$o$j$K!"(B
378 $B%7%9%F%`I8=`$N(B \command{diff} $B%3%^%s%I$K$h$k(B context $B:9J,(B
379 $B!J(B\cmdopt{diff}{-c} $B%*%W%7%g%s;HMQ!K$r!"(B
380 $B%G%U%)%k%H$N#39T$G$O$J$/#59T$N(B context $B9T(B
381 $B!J(B\cmdopt{diff}{-C} $B%*%W%7%g%s$G$N(B \texttt{5} $B;XDj!K(B
382 $B$GI=<($9$kJ}K!$r<($7$^$9!#(B
384 \interaction{extdiff.extdiff-ctx}
386 $B%0%i%U%#%+%k$J:9J,%D!<%k$N5/F0$OHs>o$K4JC1$G$9!#(B
387 \command{kdiff3} $B5/F0$NNc$r<($7$^$9!#(B
389 \begin{codesample2}
390 hg extdiff -p kdiff3 -o ''
391 \end{codesample2}
393 $BMxMQ$9$k:9J,I=<(%3%^%s%I$,%G%#%l%/%H%j;XDj$r07$($J$$>l9g$G$b!"(B
394 $B4JC1$J%9%/%j%W%H$r;H$&$3$H$G$=$NLdBj$r2r7h$G$-$^$9!#(B
395 $B$=$N$h$&$J%9%/%j%W%H$K$h$k(B
396 \hgext{mq} $B%$%/%9%F%s%7%g%s$H(B
397 \command{interdiff} $B%3%^%s%I$NO"7HNc$O!"(B
398 \ref{mq-collab:tips:interdiff}~$B@a$r;2>H$7$F$/$@$5$$!#(B
400 \subsection{Defining command aliases}
402 \hgxcmd{extdiff}{extdiff} $B%3%^%s%I$dMxMQ$9$k:9J,I=<(%3%^%s%I$N!"(B
403 $BN>J}$N%*%W%7%g%s$r3P$($F$*$/$N$OLLE]$G$9$N$G!"(B
404 \hgext{extdiff} $B%$%/%9%F%s%7%g%s$O!"(B
405 $B;HMQ$9$k:9J,I=<(%3%^%s%I$r@5$7$$%*%W%7%g%s$G5/F0$9$k(B
406 \emph{$B?7$7$$(B}$B%3%^%s%I$rDj5A$G$-$k$h$&$K$J$C$F$$$^$9!#(B
408 $B?7$7$$%3%^%s%IDj5A$N$?$a$KI,MW$J$N$O!"(B
409 \hgrc $B%U%!%$%k$rJT=8$7!"(B
410 \rcsection{extdiff} $B$H$$$&L>A0$N%;%/%7%g%s$rDI2C$9$k$@$1$G$9!#(B
411 $B$3$N%;%/%7%g%s$G$O!"(B
412 $BJ#?t$N%3%^%s%I$rDj5A$9$k$3$H$,$G$-$^$9!#(B
413 $B0J2<$K(B \texttt{kdiff3} $B%3%^%s%I$rDI2C$9$kNc$r<($7$^$9!#(B
414 $B0lC6Dj5A$7$F$7$^$($P!"(B
415 ``\texttt{hg kdiff3}''$B$HF~NO$9$k$@$1$G(B
416 \hgext{extdiff} $B%$%/%9%F%s%7%g%s$,(B
417 \command{kdiff3} $B$r5/F0$7$^$9!#(B
419 \begin{codesample2}
420 [extdiff]
421 cmd.kdiff3 =
422 \end{codesample2}
424 $BDj5A$N1&JU$r>e5-Nc$N$h$&$K6u$K$7$?>l9g!"(B
425 \hgext{extdiff} $B%$%/%9%F%s%7%g%s$O!"(B
426 $BDj5A$7$?%3%^%s%I$NL>A0$r<B9T$9$Y$-30It%W%m%0%i%`$NL>A0$H8+$J$7$^$9!#(B
427 $B$7$+$7!"$3$l$i$NL>A0$,0lCW$7$F$$$kI,MW$O$"$j$^$;$s!#(B
428 $B0J2<$NNc$G$O!"(B
429 \command{kdiff3} $B$r<B9T$9$k%3%^%s%I$r(B
430 ``\texttt{hg wibble}'' $B$H$$$&L>A0$GDj5A$7$F$$$^$9!#(B
432 \begin{codesample2}
433 [extdiff]
434 cmd.wibble = kdiff3
435 \end{codesample2}
437 $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
438 ``\texttt{opts.}'' $B@\F,<-$KB3$$$F!"(B
439 $B%*%W%7%g%s$rE,MQ$7$?$$%3%^%s%IL>$r5-=R$7$F$/$@$5$$!#(B
440 $B0J2<$NNc$G$O!"(B
441 \command{vim} $B%(%G%#%?$N(B \texttt{DirDiff} $B3HD%$r<B9T$9$k(B
442 ``\texttt{hg vimdiff}'' $B%3%^%s%I$rDj5A$7$F$$$^$9!#(B
444 \begin{codesample2}
445 [extdiff]
446 cmd.vimdiff = vim
447 opts.vimdiff = -f '+next' '+execute "DirDiff" argv(0) argv(1)'
448 \end{codesample2}
450 \section{Cherrypicking changes with the \hgext{transplant} extension}
451 \label{sec:hgext:transplant}
453 $B"((B Brendan $B$H%A%c%C%H$G$NOC$79g$$$,I,MW(B
455 \section{Send changes via email with the \hgext{patchbomb} extension}
456 \label{sec:hgext:patchbomb}
458 $BB?$/$N%W%m%8%'%/%H$G$O!"(B
459 $B6&M-%j%]%8%H%j$K:G=*@.2L$r%3%_%C%H$9$kA0$K!"(B
460 $BJQ99FbMF$r%a!<%j%s%0%j%9%H$KEj9F$7$F::FI$dO@I>$r9T$&(B
461 ``$BJQ99%l%S%e!<(B''$B$NJ82=$r;}$C$F$$$^$9!#(B
462 $B%j%]%8%H%j$X$N%"%/%;%98"$r;}$?$J$$?M!9$+$i$NJQ990MMj$rE,MQ$9$k!"(B
463 $BLgHV$NLr3d$r2L$?$9?M!9$,$$$k%W%m%8%'%/%H$b$"$j$^$9!#(B
465 Mercurial $B$N(B \hgext{patchbomb} $B%$%/%9%F%s%7%g%s$rMxMQ$9$k$3$H$G!"(B
466 $B%l%S%e!<$dDs0F$N$?$a$NEE;R%a!<%k$K$h$kJQ99Aw?.$,MF0W$K$J$j$^$9!#(B
467 $B$3$N%$%/%9%F%s%7%g%s$NL>A0$O!"(B
468 $BJQ99$,%Q%C%A7A<0$G@07A$5$l!"(B
469 $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
470 $BEE;R%a!<%k$K$h$k0lO"$NJQ99$NAw?.$,!"(B
471 $B<u?.<T$N%a!<%k%\%C%/%9$K$H$C$F(B``$BGz7b(B''$B!J(Bbombing$B!K(B
472 $B$N$h$&$G$"$k$3$H$+$i!"(B``patchbomb''$B$H8F$P$l$F$$$^$9!#(B
474 \hgext{patchbomb} $B%$%/%9%F%s%7%g%s$N4pK\E*$J@_Dj5-=R$O!"(B
475 $B$$$D$b$N$h$&$K(B \hgrc $B$X$N#19T$+#29TDxEY$N5-=R$@$1$G$9!#(B
477 \begin{codesample2}
478 [extensions]
479 patchbomb =
480 \end{codesample2}
482 $B0lC6%$%/%9%F%s%7%g%s$rM-8z$K$7$?$J$i$P!"(B
483 \hgxcmd{patchbomb}{email} $B$H$$$&?7$?$J%3%^%s%I$,MxMQ2DG=$K$J$j$^$9!#(B
485 \hgxcmd{patchbomb}{email} $B%3%^%s%I$N0BA43n$D:GA1$N<B9T<j=g$O!"(B
486 \emph{$BI,$:(B} \hgxopt{patchbomb}{email}{-n}
487 $B%*%W%7%g%s$rIU$1$F0lC6<B9T$7$F$_$k$3$H$G$9!#(B
488 \hgxopt{patchbomb}{email}{-n} $B%*%W%7%g%sIU$-$N<B9T$O!"(B
489 $B<B:]$NEE;R%a!<%kAw?.$O9T$o$:$K!"(B
490 $BAw?.(B\emph{$B$5$l$k$G$"$m$&(B}$BFbMF$rI=<($7$^$9!#(B
491 $BJQ99FbMF$K$6$C$HL\$rDL$7$F!"(B
492 $BAw?.FbMF$,E,@Z$G$"$k$3$H$r3NG'$7$?$J$i$P!"(B
493 \hgxopt{patchbomb}{email}{-n}
494 $B%*%W%7%g%sH4$-$G:FEY(B
495 \hgxcmd{patchbomb}{email} $B%3%^%s%I$r<B9T$7$F$/$@$5$$!#(B
497 \hgxcmd{patchbomb}{email} $B%3%^%s%I$O!"(B
498 $BB>$N(B Mercurial $B%3%^%s%I$HF1MM$N%j%S%8%g%s;XDj$,2DG=$G$9!#(B
499 $BNc$($P0J2<$N<B9TNc$G$O!"(B
500 $B%j%S%8%g%s(B 7 $B$+$i(B \texttt{tip} $B$^$G$NA4$F$N%j%S%8%g%s(B
501 $B!J%j%S%8%g%s(B 7 $B$*$h$S(B \texttt{tip} $B$b4^$_$^$9!K$,Aw?.$5$l$^$9!#(B
503 \begin{codesample2}
504 hg email -n 7:tip
505 \end{codesample2}
507 $BHf3SBP>]$N(B\emph{$B%j%]%8%H%j(B}$B$r;XDj$9$k$3$H$b$G$-$^$9!#(B
508 $B%j%S%8%g%s;XDjL5$7$G%j%]%8%H%j$r;XDj$7$?>l9g!"(B
509 \hgxcmd{patchbomb}{email} $B%3%^%s%I$O!"(B
510 $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
511 $B%j%S%8%g%s$J$$$7!J(B\hgxopt{patchbomb}{email}{-b} $B%*%W%7%g%s$K$h$k!K(B
512 $B%V%i%s%AL>$rDI2C;XDj$9$k$3$H$G!"(B
513 $BAw?.$5$l$k%j%S%8%g%s$r@)8B$9$k$3$H$,$G$-$^$9!#(B
515 $BAw?.@h%"%I%l%9$r;XDj$7$J$$(B
516 \hgxcmd{patchbomb}{email} $B<B9T$O40`z$K0BA4$G!"(B
517 $B$=$N>l9g$K$O(B \hgxcmd{patchbomb}{email} $B$OBPOCE*$KF~NO$r5a$a$F$-$^$9(B
518 $B!J(BLinux $B$d(B Unix $B%i%$%/$J%7%9%F%`$rMxMQ$7$F$$$k>l9g!"(B
519 $B$3$l$i$N%X%C%@CMF~NO$N:]$K$O!"(B
520 \texttt{readline} $BMM<0$NJT=85!G=$,MxMQ2DG=$G$9!K!#(B
522 $BC10l$N%j%S%8%g%s$@$1$rAw?.$9$k>l9g!"(B
523 \hgxcmd{patchbomb}{email} $B%3%^%s%I$N4pDlF0:n$G$O!"(B
524 $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
526 $BJ#?t$N%j%S%8%g%s$rAw?.$9$k>l9g!"(B
527 \hgxcmd{patchbomb}{email} $B%3%^%s%I$O%A%'%s%8%;%C%HKh$KEE;R%a!<%k$rAw?.$7$^$9!#(B
528 $B$3$N>l9g!"(B
529 $BAw?.$7$h$&$H$9$k0lO"$NJQ99$NL\E*$r5-=R$7$?A0CV$-$NEE;R%a!<%k$r!"(B
530 $B0lO"$N%a!<%kAw?.$N@h?($l$H$7$FAw?.$7$^$9!#(B
532 \subsection{Changing the behaviour of patchbombs}
534 $BEE;R%a!<%k$K$h$kJQ99FbMFAw?.$N7A<0$,!"(B
535 $BA4$F$N%W%m%8%'%/%H$G87L)$KF1$8$o$1$G$OL5$$$3$H$+$i!"(B
536 \hgext{patchbomb} $B%$%/%9%F%s%7%g%s$O!"(B
537 $B%3%^%s%I9T$G$N%*%W%7%g%s;XDj$K$h$k4v$D$+$NE,9g=hM}$r<B;\$7$^$9!#(B
539 \begin{itemize}
540 \item $B%3%^%s%I9T$G$N(B \hgxopt{patchbomb}{email}{-s} $B%*%W%7%g%s$K$h$j!"(B
541 $BA0CV$-%a%C%;!<%8$N%5%V%8%'%/%H$r;XDj$G$-$^$9!#(B
542 $B$3$N%*%W%7%g%s$K$O!"(B
543 $B%5%V%8%'%/%H$H$7$F;HMQ$9$k%F%-%9%H$r;XDj$7$^$9!#(B
545 \item \hgxopt{patchbomb}{email}{-f} $B%*%W%7%g%s$K$h$j!"(B
546 $BEE;R%a!<%k$NAw?.85%"%I%l%9$rJQ99$G$-$^$9!#(B
547 $B$3$N%*%W%7%g%s$K$O!"(B
548 $BAw?.85%"%I%l%9$H$7$F;HMQ$9$kEE;R%a!<%k%"%I%l%9$r;XDj$7$^$9!#(B
550 \item $B4pDlF0:n$G$O!"EE;R%a!<%k$4$H$K(B unified $B:9J,!J(B
551 $B7A<0$N>\:Y$K4X$7$F$O(B \ref{sec:mq:patch}~$B@a$r;2>H$7$F$/$@$5$$!K(B
552 $B$rAw?.$7$^$9!#(B
553 \hgxopt{patchbomb}{email}{-b} $B%*%W%7%g%s$r;XDj$9$k$3$H$G!"(B
554 $B%P%$%J%j%P%s%I%k7A<0$G$NAw?.$rA*Br$G$-$^$9!#(B
556 \item unified $B:9J,$NDL>o$N=PNO(B\footnote{$BLuCm(B:
557 $B!V(BMercurial $B$K$*$1$kDL>o$N=PNO!W$N0UL#!)(B
558 $B$=$l$H$b!V(Bpatchbomb $B$K$*$1$kDL>o$N=PNO!W$N0UL#!)(B
559 }$B$O%a%?%G!<%?%X%C%@$+$i;O$^$j$^$9!#(B
560 \hgxopt{patchbomb}{email}{--plain} $B%*%W%7%g%s$r;XDj$9$k$3$H$G!"(B
561 $B$3$l$i$r>JN,$7$?4JAG$J7A<0$N:9J,$rAw?.$9$k$3$H$,$G$-$^$9!#(B
563 \item $B:9J,ItJ,$ODL>o!"(B
564 $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
565 $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
566 $B:G$bB?$/$NFI$_<j$K$H$C$F!"(B
567 $B0lHVMF0W$K:9J,$r0zMQ$7$FJV?.$G$-$k$N$,$3$N7A<0$G$9!#(B
568 $B@bL@ItJ,$H:9J,ItJ,$rJL!9$N(B MIME $B%Q!<%H$H$7$FAw?.$7$?$$>l9g$O!"(B
569 \hgxopt{patchbomb}{email}{-a} $B%*%W%7%g%s$r;XDj$7$F$/$@$5$$!#(B
571 \item \hgxopt{patchbomb}{email}{-m} $B%*%W%7%g%s$r;XDj$9$k$3$H$G!"(B
572 $BEE;R%a!<%k$G$NAw?.$NBX$o$j$K!"(B
573 \texttt{mbox} $B7A<0$N%a!<%k%U%)%k%@$X$N=q$-9~$_$r9T$&$3$H$,$G$-$^$9!#(B
574 $B$3$N%*%W%7%g%s$K$O!"=q$-9~$_@h%U%!%$%kL>$r;XDj$7$^$9!#(B
576 \item $B3F%Q%C%A$*$h$SA0CV$-%a%C%;!<%8$KBP$7$F!"(B
577 \command{diffstat} $B7A<0$NMWLs$rIUM?$7$?$$>l9g$O!"(B
578 \hgxopt{patchbomb}{email}{-d} $B%*%W%7%g%s$r;XDj$7$F$/$@$5$$!#(B
579 \command{diffstat} $B%3%^%s%I$O!"(B
580 $B%Q%C%AE,MQ@h%U%!%$%kL>$H!"(B
581 $B1F6A$r<u$1$k9T?t!"(B
582 $B$*$h$S3F%U%!%$%kKh$NJQ99NL$rI=$9%R%9%H%0%i%`$r0lMwI=<($7$^$9!#(B
583 $B%a!<%k$NFI$_<j$O!"(B
584 $B$3$N>pJs$+$i%Q%C%A$NJ#;(EY$K4X$9$k<AE*$J0lMw@-$rF@$k$3$H$,$G$-$^$9!#(B
586 \end{itemize}
588 %%% Local Variables:
589 %%% mode: latex
590 %%% TeX-master: "00book"
591 %%% End: