
foozy@708: \chapter{File names and pattern matching}
foozy@708: \label{chap:names}
foozy@708: 
foozy@708: Mercurial $B$O!"(B
foozy@708: $B0l4S@-$HI=8=NO$r7s$MHw$($?J}K!$G%U%!%$%kL>$r07$&;EAH$_$rDs6!$7$F$$$^$9!#(B
foozy@708: 
foozy@708: \section{Simple file naming}
foozy@708: 
foozy@708: Mercurial $B$O(B
foozy@708: ``under the hood''$B$K$*$$$F!"(B
foozy@708: $B%U%!%$%kL>$r<h$j07$&E}0l$5$l$?;EAH$_$rMQ$$$F$$$^$9!#(B
foozy@708: $B%U%!%$%kL>$K4X$9$kA4$F$N%3%^%s%I$N5sF0$OE}0l$5$l$F$$$^$9!#(B
foozy@708: $B%U%!%$%kL>$KBP$9$k%3%^%s%I$N5sF0$O!"0J2<$N$h$&$K$J$C$F$$$^$9!#(B
foozy@708: 
foozy@708: $B%3%^%s%I9T$G<B%U%!%$%kL>$rL@<(E*$K;XDj$7$?>l9g!"(B
foozy@708: Mercurial $B$O;XDj$5$l$?%U%!%$%kL>$K87L)$K:nMQ$7$^$9!#(B
foozy@708: 
foozy@708: \interaction{filenames.files}
foozy@708: 
foozy@708: $B%G%#%l%/%H%jL>$r;XDj$7$?>l9g!"(B
foozy@708: Mercurial $B$O$=$N;XDj$r!"(B
foozy@708: ``$BEv3:%G%#%l%/%H%j$J$i$S$K%5%V%G%#%l%/%H%jCf$NA4$F$N%U%!%$%k(B''
foozy@708: $B$H$_$J$7$^$9!#(B
foozy@708: Mercurial $B$OEv3:%G%#%l%/%H%jG[2<$N%U%!%$%k!&%5%V%G%#%l%/%H%j$r!"(B
foozy@708: $B%"%k%U%!%Y%C%H=g$KAv::$7$^$9!#(B
foozy@708: $B$"$k%G%#%l%/%H%j$NAv::Cf$K%5%V%G%#%l%/%H%j$KAx6x$7$?>l9g!"(B
foozy@708: $BEv3:%G%#%l%/%H%j$NAv::$h$j$b@h$K!"(B
foozy@708: $B%5%V%G%#%l%/%H%j$NAv::$r<B;\$7$^$9(B\footnote{$BLuCm(B: $B?<$5M%@h!J(Bdepth first$B!K(B}$B!#(B
foozy@708: 
foozy@708: \interaction{filenames.dirs}
foozy@708: 
foozy@708: \section{Running commands without any file names}
foozy@708: 
foozy@708: $B%U%!%$%kL>$r0z?t$K<h$k(B Mercurial $B%3%^%s%I$O!"(B
foozy@708: $B0z?t$J$$$7%Q%?!<%s;XDjL5$7$G5/F0$5$l$?>l9g$b!"(B
foozy@708: $BM-MQ$J4pDl;~F0:n$,Dj$a$i$l$F$$$^$9!#(B
foozy@708: $B%3%^%s%I$K4|BT$5$l$k?6$kIq$$$O!"(B
foozy@708: $B%3%^%s%I$NMQES$K0MB8$7$^$9!#(B
foozy@708: $B%U%!%$%kL>;XDjL5$7$N5/F0$K$*$$$F!"(B
foozy@708: $B%3%^%s%I$,$I$N$h$&$K?6Iq$&$N$+$r?dB,$9$k$?$a$N!"(B
foozy@708: $B0lHLE*$JL\0B$H$J$k4v$D$+$N%k!<%k$r0J2<$K<($7$^$9!#(B
foozy@708: 
foozy@708: \begin{itemize}
foozy@708: \item $BKX$I$N%3%^%s%I$O:n6HNN0h%G%#%l%/%H%jA4BN$K:nMQ$7$^$9!#(B
foozy@708:   $BNc$($P!"(B\hgcmd{add} $B%3%^%s%I$J$I$,$=$&$G$9!#(B
foozy@708: 
foozy@708: \item $BI|5l$,:$Fq$"$k$$$OIT2DG=$J:nMQ$r5Z$\$9%3%^%s%I$N>l9g!"(B
foozy@708:   $B>/$J$/$H$b#1$D0J>e$NL>A0$J$$$7%Q%?!<%s!J8e=R$7$^$9!K(B
foozy@708:   $B$NL@<(E*$J;XDj$r5a$a$kH&$G$9!#(B
foozy@708:   $B$3$N5sF0$K$h$j!"(B
foozy@708:   $BNc$($P0z?tL5$7$N(B \hgcmd{remove} $B5/F0$N$h$&$J!"(B
foozy@708:   $BITN8$N;vBV$K$h$k%U%!%$%k$N:o=|Ey$rKI$0$3$H$,$G$-$^$9!#(B
foozy@708: 
foozy@708: \end{itemize}
foozy@708: 
foozy@708: $B$3$N?6$kIq$$$,$=$0$o$J$$>u67$G$"$l$P!"(B
foozy@708: $B4JC1$K?6$kIq$$$rJQ$($k$3$H$,$G$-$^$9!#(B
foozy@708: $B:n6HNN0h%G%#%l%/%H%jA4BN$K:nMQ$9$k%3%^%s%I$G$"$l$P!"(B
foozy@708: ``\dirname{.}'' $B$r;XDj$9$k$3$H$G!"(B
foozy@708: $B%3%^%s%I$N:nMQ$r8=:_$N%G%#%l%/%H%j$*$h$S$=$NG[2<$K8BDj$9$k$3$H$,$G$-$^$9!#(B
foozy@708: 
foozy@708: \interaction{filenames.wdir-subdir}
foozy@708: 
foozy@708: $B%k!<%H0J30$N%G%#%l%/%H%j$G%3%^%s%I$r<B9T$7$?>l9g$G$b!"(B
foozy@708: $B%j%]%8%H%j$N%k!<%H$KBP$9$kAjBPE*$J%U%!%$%kL>$rI=<($9$k%3%^%s%I$b$"$j$^$9!#(B
foozy@708: $B$3$N$h$&$J%3%^%s%I$O!"(B
foozy@708: $BL@<(E*$JL>A0$r;XDj$9$k$3$H$G!"(B
foozy@708: $B8=:_$N%G%#%l%/%H%j0LCV$KBP$9$kAjBPE*$J%U%!%$%kL>$rI=<($9$k$h$&$K$J$j$^$9!#(B
foozy@708: $BHs%k!<%H%G%#%l%/%H%j$G$N(B \hgcmd{status} $B5/F0$N:]$K(B
foozy@708: \hgcmd{root} $B%3%^%s%I$N=PNO$r;XDj$9$k$3$H$G!"(B
foozy@708: $BBP>]$r:n6HNN0h%G%#%l%/%H%jA4BN$K0];}$7$?$^$^!"(B
foozy@708: $B8=:_$N%G%#%l%/%H%j0LCV$KBP$9$kAjBPE*$J%U%!%$%kL>$rI=<($5$;$k$3$H$,$G$-$^$9!#(B
foozy@708: 
foozy@708: \interaction{filenames.wdir-relname}
foozy@708: 
foozy@708: \section{Telling you what's going on}
foozy@708: 
foozy@708: $B@h$N@a$K$*$1$k(B \hgcmd{add} $B%3%^%s%I<B9TNc$O!"(B
foozy@708: Mercurial $B%3%^%s%I$K4X$9$k$b$&0l$D$NM-1W$J;vJA$r<($7$F$$$^$9!#(B
foozy@708: $B%3%^%s%I9T$GL@<(E*$J;XDj$r$7$F$$$J$$%U%!%$%k$KBP$7$F%3%^%s%I$,:nMQ$9$k>l9g!"(B
foozy@708: $BDL>o$OBP>]%U%!%$%kL>$rI=<($7$^$9$N$G!"(B
foozy@708: $B;W$o$L%3%^%s%I$N<B9T7k2L$K8e$+$i6C$+$5$l$k$3$H$O$"$j$^$;$s!#(B
foozy@708: 
foozy@708: $B$3$l$O(B\emph{$B6C$-$r:G>.(B}$B$K$9$k86B'$KB'$C$?$b$N$G$9!#(B
foozy@708: $B%3%^%s%I9T$G87L)$J%U%!%$%kL>$r;XDj$7$?>l9g$K$O!"(B
foozy@708: $B$=$l$rI|>'$9$kI,MW$OL5$$$G$7$g$&!#(B
foozy@708: $B%U%!%$%kL>!&%G%#%l%/%H%jL>$J$$$7%Q%?!<%s!J8e=R$7$^$9!K(B
foozy@708: $B$r;XDj$7$J$$$3$H$G(B\emph{$B0E$K;XDj$5$l$?(B}$BBP>]%U%!%$%k$K(B
foozy@708: Mercurial $B$,:nMQ$9$k>l9g!"(B
foozy@708: $B$I$N%U%!%$%k$rBP>]$H$9$k$N$+$rDLCN$9$k$N$O0BA4@-$N>e$GM-MQ$G$9!#(B
foozy@708: 
foozy@708: $B>e5-J}?K$K1h$C$F?6Iq$&%3%^%s%I72$O!"(B
foozy@708: \hggopt{-q} $B%*%W%7%g%s$r;XDj$9$k$3$H$G!"(B
foozy@708: $B$=$N=PNO$rM^;_$9$k$3$H$,$G$-$^$9!#(B
foozy@708: $BL@<(E*$K%U%!%$%kL>Ey$r;XDj$7$?>l9g$G$b!"(B
foozy@708: \hggopt{-v} $B%*%W%7%g%s$r;XDj$9$k$3$H$G!"(B
foozy@708: $BA4$F$NBP>]%U%!%$%kL>$rI=<($5$;$k$3$H$,$G$-$^$9!#(B
foozy@708: 
foozy@708: \section{Using patterns to identify files}
foozy@708: 
foozy@708: $B%U%!%$%kL>!&%G%#%l%/%H%jL>$K$h$k;XDj$K2C$($F!"(B
foozy@708: Mercurial $B$G$O(B\emph{$B%Q%?!<%s(B}$B$K$h$k%U%!%$%k;XDj5!G=$,;HMQ$G$-$^$9!#(B
foozy@708: Mercurial $B$N%Q%?!<%sA`:n$OI=8=NO$KIY$s$@$b$N$G$9!#(B
foozy@708: 
foozy@708: Linux $B$d(B MacOS $B$N$h$&$J(B Unix $BE*%7%9%F%`$G$O!"(B
foozy@708: $B%U%!%$%kL>$H%Q%?!<%s$H$N4V$NFM9g$;$ODL>o%7%'%k$,$=$NLrL\$rIi$$$^$9!#(B
foozy@708: $B$3$l$i$N%7%9%F%`$G$O!"(B
foozy@708: $B%Q%?!<%s$r;XDj$7$F$$$k;]$r(B 
foozy@708: Mercurial $B$KBP$7$FL@<(E*$K;X<($9$kI,MW$,$"$j$^$9(B\footnote{$BLuCm(B:
foozy@708: $B%7%'%k$K$h$kFC<lJ8;zE83+$NM^;_$NOC$G$"$l$P!"(B
foozy@708: ``Mercurial $B$KBP$7$F(B''$B$G$O$J$/!"(B
foozy@708: ``$B%7%'%k$KBP$7$F(B''$B$J$N$G$O!)(B
foozy@708: $B$=$l$H$b(B Windows $B%P%$%J%jHG$G$O?6$kIq$$$,0[$J$k!)(B}$B!#(B
foozy@708: Windows $B$K$*$$$F$O!"(B
foozy@708: $B%7%'%k$K$h$k%Q%?!<%s$NE83+$,9T$o$l$^$;$s$N$G!"(B
foozy@708: Mercurial $B$O<+F0E*$K;XDj$5$l$?$b$N$,%Q%?!<%s$G$"$k$HG'<1$7!"(B
foozy@708: $B%U%!%$%kL>$X$HE83+$7$^$9!#(B
foozy@708: 
foozy@708: $B%3%^%s%I9T$K$*$$$F!"(B
foozy@708: $B%U%!%$%kL>$r;XDj$9$k>l=j$G%Q%?!<%s$r;HMQ$9$k$K$O!"(B
foozy@708: $B0J2<$N$h$&$K5-=R$7$^$9!#(B
foozy@708: 
foozy@708: \begin{codesample2}
foozy@708:   syntax:patternbody
foozy@708: \end{codesample2}
foozy@708: 
foozy@708: $B%Q%?!<%s$N5-=R$O!"(B
foozy@708: $B%Q%?!<%s$N<oN`$r<1JL$9$k$?$a$NC;$$J8;zNs!"%3%m%s!"(B
foozy@708: $B$=$7$F<B:]$N%Q%?!<%s$rO"7k$7$?$b$N$G$9!#(B
foozy@708: 
foozy@708: Mercurial $B$O#2<oN`$N%Q%?!<%s7A<0$KBP1~$7$F$$$^$9!#(B
foozy@708: $B:G$bMxMQIQEY$,9b$$$b$N$O(B \texttt{glob} $B$H8F$P$l!"(B
foozy@708: Unix $B$N%7%'%k$K$h$k%Q%?!<%s%^%C%A%s%0$HF1MM$N5!G=$r;}$D$b$N$G!"(B
foozy@708: $B$=$N?6$kIq$$$O(B Windows $B$N%3%^%s%I%W%m%s%W%H%f!<%6$K$bFk@w$_$,$"$k$3$H$G$7$g$&!#(B
foozy@708: 
foozy@708: Windows $B$K$*$$$F(B
foozy@708: Mercurial $B$,<+F0E*$K%Q%?!<%s%^%C%A%s%0$r9T$&>l9g!"(B
foozy@708: \texttt{glob} $B7A<0$H$_$J$5$l$^$9!#(B
foozy@708: $B$=$N$?$a!"(B
foozy@708: Windows $B$K$*$$$F$O(B ``\texttt{glob:}'' $B@\F,<-$r>JN,2DG=$G$9$,!"(B
foozy@708: $BL@<(E*$K;XDj$9$k$3$H$b2DG=$G$9!#(B
foozy@708: 
foozy@708: \texttt{re} $B7A<0$O!"(B
foozy@708: \texttt{glob} $B7A<0$h$j$b6/NO$G!"(B
foozy@708: regexps $B$H$7$F$bCN$i$l$k@55,I=8=$r;HMQ$7$?%Q%?!<%s$N5-=R$,2DG=$G$9!#(B
foozy@708: 
foozy@708: $B$A$J$_$K!"0J9_$NNc$G$O!"(B
foozy@708: $BA4$F$N%Q%?!<%s;XDj$rCm0U?<$/0zMQId$G0O$`$3$H$G!"(B
foozy@708: Mercurial $B$N=hM}$NA0$K%7%'%k$K$h$C$FE83+$5$l$F$7$^$&$3$H$rKI$$$G$$$k!"(B
foozy@708: $B$H$$$&E@$KCm0U$7$F$/$@$5$$!#(B
foozy@708: 
foozy@708: \subsection{Shell-style \texttt{glob} patterns}
foozy@708: 
foozy@708: \texttt{glob} $B7A<0$K$h$k%^%C%A%s%0$N:]$K!"(B
foozy@708: $B;HMQ2DG=$J%Q%?!<%s$K$D$$$F$N35MW$r0J2<$K<($7$^$9!#(B
foozy@708: 
foozy@708: $B%Q%?!<%s(B ``\texttt{*}'' $B$O!"(B
foozy@708: $BF10l%G%#%l%/%H%jFb$GG$0U$NJ8;zNs$K9gCW$7$^$9!#(B
foozy@708: 
foozy@708: \interaction{filenames.glob.star}
foozy@708: 
foozy@708: $B%Q%?!<%s(B ``\texttt{**}'' $B$O!"(B
foozy@708: $B%G%#%l%/%H%j6-3&$rD6$($FG$0U$NJ8;zNs$K9gCW$7$^$9!#(B
foozy@708: $B$3$N%Q%?!<%s$O(B Unix $B$K$*$1$kI8=`E*$J$b$N$G$O$"$j$^$;$s$,!"(B
foozy@708: $B4v$D$+$NCxL>$J%7%'%k<BAu$G:NMQ$5$l$F$*$j!"(B
foozy@708: $BHs>o$KJXMx$G$9!#(B
foozy@708: 
foozy@708: \interaction{filenames.glob.starstar}
foozy@708: 
foozy@708: $B%Q%?!<%s(B ``\texttt{?}'' $B$O!"(B
foozy@708: $BC10l$NJ8;z$K9gCW$7$^$9!#(B
foozy@708: 
foozy@708: \interaction{filenames.glob.question}
foozy@708: 
foozy@708: $B%Q%?!<%s(B ``\texttt{[}'' $B$O!"(B
foozy@708: \emph{$BJ8;z=89g(B}$B!J(Bcharacter class$B!K$N3+;O$r0UL#$7$^$9!#(B
foozy@708: $B$3$N%Q%?!<%s$OEv3:=89g$KB0$9$kG$0U$N0lJ8;z$K9gCW$7$^$9!#(B
foozy@708: $B=89g;XDj$O(B ``\texttt{]}'' $B$K$h$C$F=*N;$7$^$9!#(B
foozy@708: $B=89g;XDj$K$O!"(B
foozy@708: ``\texttt{abcdef}'' $B$N>JN,;XDj$G$"$k(B
foozy@708: ``\texttt{a-f}'' $B7A<0$N(B\emph{$BHO0O(B}$B;XDj$r!"(B
foozy@708: $BJ#?t4^$a$k$3$H$,2DG=$G$9!#(B
foozy@708: 
foozy@708: \interaction{filenames.glob.range}
foozy@708: 
foozy@708: $BJ8;z=89g;XDj$K$*$$$F(B
foozy@708: ``\texttt{[}'' $B$ND>8e$NJ8;z$,(B ``\texttt{!}'' \footnote{$BLuCm(B:
foozy@708: $B@55,I=8=$K$*$1$k(B ``\texttt{\^}'' $B$K$h$kH?E>$H0[$J$kE@$KCm0U(B}$B$N>l9g!"(B
foozy@708: $B=89g;XDj$O(B\emph{$BH?E>(B}$B$5$l!"(B
foozy@708: $B=89g$KB0$5$J$$G$0U$N0lJ8;z$K9gCW$7$^$9!#(B
foozy@708: 
foozy@708: $B%Q%?!<%s(B ``\texttt{\{}'' $B$O%5%V%Q%?!<%s$N%0%k!<%W2=$N3+;O$r0UL#$7!"(B
foozy@708: $B%0%k!<%WCf$N2?$l$+$N%5%V%Q%?!<%s$,9gCW$7$?>l9g$O!"(B
foozy@708: $B%0%k!<%WA4BN$,9gCW$7$?$b$N$H$_$J$5$l$^$9!#(B
foozy@708: $B%0%k!<%W;XDj$K$*$1$k%5%V%Q%?!<%s$N6h@Z$j$K$O(B
foozy@708: ``\texttt{,}'' $B$,;HMQ$5$l!"(B
foozy@708: ``\texttt{\}}'' $B$,%0%k!<%W$N=*N;$r0UL#$7$^$9!#(B
foozy@708: 
foozy@708: \interaction{filenames.glob.group}
foozy@708: 
foozy@708: \subsubsection{Watch out!}
foozy@708: 
foozy@708: $BG$0U$N%G%#%l%/%H%j$K$*$1$k%Q%?!<%s9gCW$,I,MW$J>l9g$O!"(B
foozy@708: $BC10l%G%#%l%/%H%jFb$G$N%^%C%A%s%0$7$+9T$o$J$$(B
foozy@708: ``\texttt{*}'' $B$r;HMQ$9$Y$-$G$OL5$$!"(B
foozy@708: $B$H$$$&E@$OK:$l$J$$$h$&$K$7$F$/$@$5$$!#(B
foozy@708: ``\texttt{*}'' $B$NBe$o$j$K(B ``\texttt{**}'' $B$r;HMQ$7$^$7$g$&!#(B
foozy@708: $BN><T$N0c$$$r0J2<$G@bL@$7$^$9!#(B
foozy@708: 
foozy@708: \interaction{filenames.glob.star-starstar}
foozy@708: 
foozy@708: \subsection{Regular expression matching with \texttt{re} patterns}
foozy@708: 
foozy@708: Mercurial $B$O!J(BPython $B$NFbItE*$J@55,I=8=%(%s%8%s$rMxMQ$7$F$$$k$N$G!K(B
foozy@708: Python $B$,<u$1IU$1$k$N$HF1$8@55,I=8=$r<u$1IU$1$^$9!#(B
foozy@708: $B$3$N@55,I=8=$O(B Perl $B$N@55,I=8=J8K!$r4p$K$7$F$*$j!"(B
foozy@708: $B:G$bB?MQ$5$l$F$$$k!JNc$($P(B Java $B$G$b;HMQ$5$l$F$$$^$9!KJ}8@$G$9!#(B
foozy@708: 
foozy@708: $B@55,I=8=%Q%?!<%s$O$=$l$[$IB?MQ$5$l$k$b$N$G$O$J$$$N$G!"(B
foozy@708: Mercurial $B$N@55,I=8=$N>\:Y$K4X$7$F$3$3$G$O@bL@$7$^$;$s!#(B
foozy@708: Perl $B7A<0$N@55,I=8=$OMM!9$J7A<0$G!"(B
foozy@708: $BB?$/$N%&%'%V%5%$%H$d=PHGJ*$K$*$$$FM>$9=jL5$/@bL@$5$l$F$$$^$9!#(B
foozy@708: $B$=$NBe$o$j$3$3$G$O!"(B
foozy@708: Mercurial $B$G@55,I=8=$r;HMQ$9$kI,MW$KGw$i$l$?:]$K!"(B
foozy@708: $BCN$C$F$*$/$Y$-4v$D$+$N;vJA$K$D$$$F@bL@$7$h$&$H$*$b$$$^$9!#(B
foozy@708: 
foozy@708: $B@55,I=8=$O!"(B
foozy@708: $B%j%]%8%H%j%k!<%H$+$i$NAjBPE*$J%U%!%$%kL>A4BN$KBP$7$FE,MQ$5$l$^$9!#(B
foozy@708: $B8@$$49$($k$J$i!"(B
foozy@708: \dirname{foo} $B%5%V%G%#%l%/%H%j$G:n6H$7$F$$$k>l9g$G$b!"(B
foozy@708: $B$3$N%G%#%l%/%H%jG[2<$N%U%!%$%k$KBP$7$F%^%C%A%s%0$r9T$&$J$i!"(B
foozy@708: $B;XDj$9$k%Q%?!<%s$O(B
foozy@708: ``\texttt{foo/}'' $B$G;O$^$C$F$$$J$1$l$P$J$j$^$;$s!#(B
foozy@708: 
foozy@708: Perl $B7A<0$N@55,I=8=$KFk@w$s$G$$$k>l9g!"(B
foozy@708: Mercurial $B$N@55,I=8=$O(B \emph{rooted} $B$G$"$kE@$KCm0U$7$F$/$@$5$$(B\footnote{$BLuCm(B: 
foozy@708: $B0EL[$N$&$A$K(B ``\texttt{\^}'' $B$,IUM?$5$l$k!"$HM}2r$9$l$PNI$$$G$7$g$&!#(B}$B!#(B
foozy@708: $B@55,I=8=$OJ8;zNs@hF,$+$i%^%C%A%s%0$r<B;\$7$^$9$N$G!"(B
foozy@708: $BJ8;zNsESCf$KBP$9$k%^%C%A%s%0$O9T$o$l$^$;$s!#(B
foozy@708: $BG$0U$N0LCV$KBP$7$F%^%C%A%s%0$r<B;\$5$;$?$$>l9g!"(B
foozy@708: $B%Q%?!<%s$N5-=R$r(B ``\texttt{.*}'' $B$G;O$a$kI,MW$,$"$j$^$9!#(B
foozy@708: 
foozy@708: \section{Filtering files}
foozy@708: 
foozy@708: Mercurial $B$,B?MM$JJ}K!$rDs6!$7$F$$$k$b$N$O!"(B
foozy@708: $B%U%!%$%k$N;XDjJ}K!$@$1$G$O$"$j$^$;$s!#(B
foozy@708: Mercurial $B$O(B\emph{$B%U%#%k%?(B}$B$K$h$k%U%!%$%kA*JL$N5!G=$bDs6!$7$F$$$^$9!#(B
foozy@708: $B%U%!%$%kL>;XDj$r<u$1IU$1$k%3%^%s%I$O!"(B
foozy@708: $B0J2<$N#2$D$N%U%#%k%?%j%s%0%*%W%7%g%s$b<u$1IU$1$^$9!#(B
foozy@708: 
foozy@708: \begin{itemize}
foozy@708: \item \hggopt{-I} $B$J$$$7(B \hggopt{--include} $B$K$h$j!"(B
foozy@708:   $B9gCW$7$?%U%!%$%k$N$_$r=hM}BP>]$H$_$J$9%Q%?!<%s$r;XDj$G$-$^$9!#(B
foozy@708: 
foozy@708: \item \hggopt{-X} $B$J$$$7(B \hggopt{--exclude} $B$K$h$j!"(B
foozy@708:   $B9gCW$7$?%U%!%$%k$r=hM}BP>]$+$i(B\emph{$B=|30(B}$B$9$k%Q%?!<%s$r;XDj$G$-$^$9!#(B
foozy@708: 
foozy@708: \end{itemize}
foozy@708: 
foozy@708: $BJ#?t$N(B \hggopt{-I} $B$*$h$S(B \hggopt{-X} $B%*%W%7%g%s$r!"(B
foozy@708: $B%3%^%s%I9T$G9%$-$J$h$&$K:.:_$5$;$k$3$H$,$G$-$^$9!#(B
foozy@708: Mercurial $B$N4pDlF0$O!"(B
foozy@708: $B;XDj$5$l$?%Q%?!<%s$r(B ``\texttt{glob}'' $B7A<0$H$_$J$7$F2r<a$7$^$9(B
foozy@708: $B!JI,MW$G$"$l$PL@<(E*$K(B ``\texttt{glob}'' $B$r;XDj$9$k$3$H$b2DG=$G$9!K!#(B
foozy@708: 
foozy@708: \hggopt{-I} $B%U%#%k%?$O!"(B
foozy@708: ``$B9gCW$7$?%U%!%$%k$N$_$r=hM}BP>]$H$9$k(B''
foozy@708: $B$b$N$H2r<a$9$l$PNI$$$G$7$g$&!#(B
foozy@708: 
foozy@708: \interaction{filenames.filter.include}
foozy@708: 
foozy@708: \hggopt{-X} $B%U%#%k%?$O!"(B
foozy@708: ``$B9gCW$7$J$$$b$N$r=hM}BP>]$H$9$k(B''
foozy@708: $B$b$N$H2r<a$9$k$3$H$,$G$-$^$9!#(B
foozy@708: 
foozy@708: \interaction{filenames.filter.exclude}
foozy@708: 
foozy@708: \section{Ignoring unwanted files and directories}
foozy@708: 
foozy@708: $B"((B $B86J8L$9F(B
foozy@708: 
foozy@708: \section{Case sensitivity}
foozy@708: \label{sec:names:case}
foozy@708: 
foozy@708: Linux$B!J$J$$$7B>$N(B Unix $B7O(B OS$B!K$H!"(B
foozy@708: MacOS $B$J$$$7(B Windows $B$,:.:_$9$k3+H/4D6-$G:n6H$9$k>l9g!"(B
foozy@708: $B%U%!%$%kL>$K$*$1$kJ8;z$NBg>.!J(B``N'' $B$H(B ``n''$B!K$N07$$J}?K$,A4$/0[$J$k!"(B
foozy@708: $B$H$$$&CN<1$r?4$KN1$a$F$*$/I,MW$,$"$j$^$9!#(B
foozy@708: $BNI$/$"$k;v$G$OL5$$$+$b$7$l$^$;$s$7!"(B
foozy@708: $BMF0W$K2r7h$G$-$k2DG=@-$b$"$j$^$9$,!"(B
foozy@708: $BCN$i$J$$>u67$GAx6x$7$?>l9g!"(B
foozy@708: $BHs>o$K6C$+$5$l$kLdBj$G$b$"$j$^$9!#(B
foozy@708: 
foozy@708: OS $B$*$h$S%U%!%$%k%7%9%F%`$K1~$8$F!"(B
foozy@708: $B%U%!%$%k$*$h$S%G%#%l%/%H%jL>$N(B\emph{$BJ8;z$NBg>.(B}$B$N07$$$O0[$J$j$^$9!#(B
foozy@708: $BL>A0$K$*$1$kJ8;z$NBg>.$N0lHLE*$J07$$J}$r!"(B
foozy@708: $B0J2<$K#3$D<($7$^$9!#(B
foozy@708: 
foozy@708: \begin{itemize}
foozy@708: \item $B40A4$KJ8;z$NBg>.$rL5;k(B:
foozy@708:   $B%U%!%$%k$N@8@.$*$h$S$=$N8e$N07$$$K$*$$$F!"(B
foozy@708:   $BJ8;z$NBgJ8;z!&>.J8;z$OF1$8$b$N$H$7$F07$o$l$^$9!#(B
foozy@708:   $B8E$$(B DOS $BIw$N%7%9%F%`$G0lHLE*$J07$$J}$G$9!#(B
foozy@708: 
foozy@708: \item $BJ8;z$NBg>.$OJ];}$5$l$k$,L5;k(B:
foozy@708:   $B%U%!%$%k$J$$$7%G%#%l%/%H%j@8@.$N:]$K$O!"(B
foozy@708:   $BL>A0$K$*$1$kJ8;z$NBg>.$OJ]B8$5$l!"(B
foozy@708:   OS $B$K$h$k8!:w$dI=<($,2DG=$G$9!#(B
foozy@708:   $BB8:_$9$k%U%!%$%k$,8!:w$5$l$k>l9g!"J8;z$NBg>.$OL5;k$5$l$^$9!#(B
foozy@708:   Windows $B$d(B MacOS $B$G$OI8=`E*$J;EMM$G$9!#(B
foozy@708:   \filename{foo} $B$H(B \filename{FoO} $B$OF1$8%U%!%$%k$H$_$J$5$l$^$9!#(B
foozy@708:   $BBgJ8;z$H>.J8;z$N8_49@-$"$k07$$$O!"(B
foozy@708:   \emph{$B%1!<%9%U%)!<%k%G%#%s%0(B}$B!J(Bcase folding$B!K$H$b8F$P$l$^$9!#(B
foozy@708: 
foozy@708: \item $BJ8;z$NBg>.$r6hJL(B:
foozy@708:   $BL>A0$K$*$1$kJ8;z$NBg>.$O>o$K0UL#$r;}$A$^$9!#(B
foozy@708:   \filename{foo} $B$H(B \filename{FoO} $B$O0[$J$k%U%!%$%k$H$7$F6hJL$5$l$^$9!#(B
foozy@708:   $B$3$l$O(B Linux $B$d(B Unix $B$K$*$1$kDL>o$N?6$kIq$$$G$9!#(B
foozy@708: 
foozy@708: \end{itemize}
foozy@708: 
foozy@708: Unix $BE*$J%7%9%F%`$N>e$G$O!"(B
foozy@708: $B>e5-$NBgJ8;z!&>.J8;z$N<h$j07$$7A<0$N$&$A$N(B``$BG$0U(B''$B$N$b$N$,(B
foozy@708: $B!J$"$k$$$OA4$F$,F1;~$K!KMW5a$5$l$k2DG=@-$,$"$j$^$9!#(B
foozy@708: $BNc$($P!"(B
foozy@708: FAT32 $B%U%!%$%k%7%9%F%`$G%U%)!<%^%C%H$5$l$?(B
foozy@708: USB $B>.7?%a%b%j%b%8%e!<%k$r(B Linux $B$G;HMQ$9$k>l9g!"(B
foozy@708: $B$=$N%U%!%$%k%7%9%F%`>e$G$N(B Linux $B$N?6$kIq$$$O!"(B
foozy@708: $BJ8;z$NBg>.$OJ];}$7$D$DL5;k$9$k$b$N$H$J$j$^$9!#(B
foozy@708: 
foozy@708: \subsection{Safe, portable repository storage}
foozy@708: 
foozy@708: Mercurial $B$N%j%]%8%H%j3JG<5!G=$O!"(B
foozy@708: $BJ8;zBg>.$N6hJL$N2DH]$K(B\emph{$B1F6A$r<u$1$^$;$s(B}$B!#(B
foozy@708: $B%j%]%8%H%j$NJ]B8@h%U%!%$%kL>$O85%U%!%$%kL>$rJQ49$7$?$b$N$J$N$G!"(B
foozy@708: $B%U%!%$%k%7%9%F%`$K$*$1$kBgJ8;z>.J8;z$N6hJL$N2DH]$K4X$o$jL5$/!"(B
foozy@708: $B9=@.4IM}>pJs$r3JG<$G$-$^$9!#(B
foozy@708: $B$D$^$j!"(BOS $B$NI8=`E*$JJ#@=%D!<%k$r;HMQ$7$F!"(B
foozy@708: Mercurial $B$N%j%]%8%H%j$rNc$($P(B USB $B>.7?%a%b%j%b%8%e!<%k$KJ#@=$7!"(B
foozy@708: Mac$B!"(BWindows PC $B$*$h$S(B Linux $B$N4V$G;}$A1?$V$3$H$,$G$-$^$9!#(B
foozy@708: 
foozy@708: \subsection{Detecting case conflicts}
foozy@708: 
foozy@708: $B:n6HNN0h%G%#%l%/%H%j$K$*$1$kA`:n$N:]$K$O!"(B
foozy@708: Mercurial $B$O:n6HNN0h$r:\$;$F$$$k%U%!%$%k%7%9%F%`$NL?L>J}?K$K=>$$$^$9!#(B
foozy@708: $B%U%!%$%k%7%9%F%`$,J8;z$NBg>.$OJ];}$7$D$DL5;k$9$k$b$N$G$"$C$?>l9g!"(B
foozy@708: $BJ8;z$NBg>.$N$_$,0[$J$kL>A0$r(B Mercurial $B$OF1$8$b$N$H$_$J$7$^$9!#(B
foozy@708: 
foozy@708: $B$3$NJ}?K$N=EMW$JE@$O!"(B
foozy@708: $BJ8;zBg>.$r6hJL$9$k!J0lHLE*$J(B Linux $B$d(B Unix $B$K$*$1$k!K(B
foozy@708: $B%U%!%$%k%7%9%F%`$K$*$$$F!"(B
foozy@708: $BJ8;zBg>.$r6hJL$G$-$J$$!J(BWindows $B$d(B MacOS $B$N!K(B
foozy@708: $B%f!<%6$,<h$j07$($J$$$h$&$J%A%'%s%8%;%C%H$r%3%_%C%H$9$k$3$H$,2DG=$G$"$kE@$G$9!#(B
foozy@708: Linux $B$NMxMQ<T$,(B
foozy@708: \filename{myfile.c} $B$H(B
foozy@708: \filename{MyFile.C} 
foozy@708: $B$H$$$&L>A0$N#2$D$N%U%!%$%k$KBP$9$kJQ99$r%3%_%C%H$7$?>l9g!"(B
foozy@708: $BJQ99FbMF$O%j%]%8%H%j$K@5$7$/J]B8$5$l$^$9!#(B
foozy@708: $BB>$N(B Linux $BMxMQ<T$N:n6HNN0h%G%#%l%/%H%j$K$*$$$F$b!"(B
foozy@708: $B$3$l$i$N%U%!%$%k$O0[$J$k%U%!%$%k$H$7$F@5$7$/B8:_$7$^$9!#(B
foozy@708: 
foozy@708: Mercurial $B$N%j%]%8%H%j3JG<5!9=$,J8;zBg>.$N07$$$N2DH]$K1F6A$r<u$1$J$$$?$a!"(B
foozy@708: Windows $B$J$$$7(B MacOS $BMxMQ<T$,$3$NJQ99$r<h$j9~$s$G$b!"(B
foozy@708: $B:G=i$OLdBj$,H/@8$7$^$;$s!#(B
foozy@708: $B$7$+$7!"(B
foozy@708: $B:n6HNN0h%G%#%l%/%H%j$rEv3:%A%'%s%8%;%C%H$G(B \hgcmd{update}
foozy@708: $B$7$h$&$H$7$?>l9g!"(B
foozy@708: $B$"$k$$$OEv3:%A%'%s%8%;%C%H$H(B
foozy@708: \hgcmd{merge} $B$7$h$&$H$7$?>l9g!"(B
foozy@708: $B%U%!%$%k%7%9%F%`$,F1$8%U%!%$%k$H$7$F07$&#2$D$N%U%!%$%k$N>WFM$r8+$D$1$?(B
foozy@708: Mercurial $B$K$h$C$F!"(B
foozy@708: \hgcmd{update} $B$J$$$7(B \hgcmd{merge} $B$O6X;_$5$l$^$9!#(B
foozy@708: 
foozy@708: \subsection{Fixing a case conflict}
foozy@708: 
foozy@708: $BB>$N%a%s%P!<$,(B Linux $B$d(B Unix $B$r;HMQ$7$F$$$k:.:_4D6-$G(B
foozy@708: Windows $B$J$$$7(B MacOS $B$r;HMQ$7$F$$$F!"(B
foozy@708: \hgcmd{update} $B$"$k$$$O(B \hgcmd{merge} $B$N:]$K(B
foozy@708: Mercurial $B$,J8;zBg>.$N>WFM$rJs9p$9$k>l9g!"(B
foozy@708: $BLdBj$N2r7h<j=g$O4JC1$G$9!#(B
foozy@708: 
foozy@708: $B<j6a$J(B Linux $B$J$$$7(B Unix $BMxMQ<T$rC5$7!"(B
foozy@708: $BLdBj$N%j%]%8%H%j$r(B \hgcmd{clone} $B$7$F$+$i!"(B
foozy@708: $BLdBj$N%U%!%$%k$J$$$7%G%#%l%/%H%j$rBgJ8;z>.J8;z$N>WFM$,H/@8$7$J$$$h$&$K!"(B
foozy@708: Mercurial $B$N(B \hgcmd{rename} $B%3%^%s%I$G2~L>$r$9$l$PNI$$$N$G$9!#(B
foozy@708: $B$=$N8e!"(B
foozy@708: $BJQ99$r%3%_%C%H$7!"(B
foozy@708: \hgcmd{pull} $B$J$$$7(B \hgcmd{push} $B$G(B
foozy@708: Windows $B$d(B MacOS $B$KJQ99$r<h$j9~$_!"(B
foozy@708: \hgcmd{update} $B$K$h$C$F>WFM$7$J$$L>A0$GJQ99FbMF$r<h$j=P$7$^$9!#(B
foozy@708: 
foozy@708: $BBgJ8;z>.J8;z$N>WFM$r@8$8$5$;$k%A%'%s%8%;%C%H$=$N$b$N$O!"(B
foozy@708: $B%W%m%8%'%/%H$NMzNr$K;D$C$F$*$j!"(B
foozy@708: $BEv3:%A%'%s%8%;%C%H$r(B Windows $B$d(B
foozy@708: MacOS $B>e$G:n6HNN0h%G%#%l%/%H%j$K<h$j=P$9$3$H$O$G$-$^$;$s$,!"(B
foozy@708: $B3+H/$r7QB3$9$k$3$H$O2DG=$G$9(B\footnote{$BLuCm(B:
foozy@708: $BJ8;z$NBg>.$H$O4X78$"$j$^$;$s$,!"(B
foozy@708: Windows $B$O(B ``\texttt{con}'' $B$d(B
foozy@708: ``\texttt{aux}'' $B$,FCJL07$$$5$l$k$?$a!"(B
foozy@708: $BNc$($P$3$l$i$NL>A0$rMxMQ$7$?%G%#%l%/%H%j$,$"$k>l9g$J$I$O!"(B
foozy@708: $B%j%]%8%H%j$N(B \hgcmd{pull} $B$=$N$b$N$,$G$-$^$;$s!#(B}$B!#(B
foozy@708: 
foozy@708: \begin{note}
foozy@708:   0.9.3 $BHG0JA0$N(B Mercurial $B$O!"(B
foozy@708:   $BBgJ8;z>.J8;z$K1F6A$r<u$1$J$$%j%]%8%H%j3JG<5!9=$b!"(B
foozy@708:   $BBgJ8;z>.J8;z$NL>A0>WFM8!CN5!G=$b$"$j$^$;$s$G$7$?!#(B
foozy@708:   Mercurial $B$N5lHG$r(B Windows $B$d(B MacOS $B$G;HMQ$7$F$$$k>l9g!"(B
foozy@708:   Mercurial $B$N99?7$r$*A&$a$7$^$9!#(B
foozy@708: \end{note}
foozy@708: 
foozy@708: %%% Local Variables: 
foozy@708: %%% mode: latex
foozy@708: %%% TeX-master: "00book"
foozy@708: %%% End: 




