hgbook

annotate ja/hgext.tex @ 1010:cd06c45e1631

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