Mercurial > hgbook
changeset 368:7ef84661e43e
started daily.tex either.
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Sat, 01 Nov 2008 14:37:00 +0900 |
parents | 586bd91d0c84 |
children | 73aa295a40da |
files | ja/daily.tex |
diffstat | 1 files changed, 84 insertions(+), 45 deletions(-) [+] |
line wrap: on
line diff
--- a/ja/daily.tex Sat Nov 01 13:53:05 2008 +0900 +++ b/ja/daily.tex Sat Nov 01 14:37:00 2008 +0900 @@ -1,7 +1,9 @@ -\chapter{Mercurial in daily use} +%\chapter{Mercurial in daily use} +\chapter{Mercurial$B$G$NF|>o:n6H(B} \label{chap:daily} -\section{Telling Mercurial which files to track} +%\section{Telling Mercurial which files to track} +\section{$BDI@W$9$Y$-%U%!%$%k$N(BMercurial$B$X$NEPO?(B} Mercurial does not work with files in your repository unless you tell it to manage them. The \hgcmd{status} command will tell you which @@ -28,7 +30,8 @@ changes you make to the file every time you commit, until you remove the file. -\subsection{Explicit versus implicit file naming} +%\subsection{Explicit versus implicit file naming} +\subsection{$BL@<(E*$J%U%!%$%kL?L>BP0EL[$N%U%!%$%kL?L>(B} A useful behaviour that Mercurial has is that if you pass the name of a directory to a command, every Mercurial command will treat this as @@ -50,7 +53,8 @@ is happening, and reduces the likelihood of a silent and nasty surprise. This behaviour is common to most Mercurial commands. -\subsection{Aside: Mercurial tracks files, not directories} +%\subsection{Aside: Mercurial tracks files, not directories} +\subsection{$B$3$\$lOC(B: Mercurial$B$O%G%#%l%/%H%j$G$O$J$/%U%!%$%k$rDI@W$9$k(B} Mercurial does not track directory information. Instead, it tracks the path to a file. Before creating a file, it first creates any @@ -82,7 +86,8 @@ Another way to tackle a need for an empty directory is to simply create one in your automated build scripts before they will need it. -\section{How to stop tracking a file} +%\section{How to stop tracking a file} +\section{$B%U%!%$%kDI@W$NDd;_(B} Once you decide that a file no longer belongs in your repository, use the \hgcmd{remove} command; this deletes the file, and tells Mercurial @@ -97,7 +102,8 @@ Mercurial will know that the newly added file is not related to the old file of the same name. -\subsection{Removing a file does not affect its history} +%\subsection{Removing a file does not affect its history} +\subsection{$B%U%!%$%k:o=|$OMzNr$K1F6A$rM?$($J$$(B} It is important to understand that removing a file has only two effects. @@ -117,7 +123,8 @@ changeset, in which the file had been removed, Mercurial will once again remove the file from the working directory. -\subsection{Missing files} +%\subsection{Missing files} +\subsection{$B7gMn$7$?%U%!%$%k(B} Mercurial considers a file that you have deleted, but not used \hgcmd{remove} to delete, to be \emph{missing}. A missing file is @@ -136,8 +143,9 @@ reappear, in unmodified form. \interaction{daily.files.recover-missing} -\subsection{Aside: why tell Mercurial explicitly to - remove a file?} +%\subsection{Aside: why tell Mercurial explicitly to remove a file?} +\subsection{$B$3$\$lOC(B: $B$J$<(BMercurial$B$X%U%!%$%k$N:o=|$rL@<(E*$K;X<($7$J$1(B + $B$l$P$J$i$J$$$+(B} You might wonder why Mercurial requires you to explicitly tell it that you are deleting a file. Early during the development of Mercurial, @@ -146,26 +154,33 @@ \hgcmd{commit}, and stop tracking the file. In practice, this made it too easy to accidentally remove a file without noticing. -\subsection{Useful shorthand---adding and removing files - in one step} +%\subsection{Useful shorthand---adding and removing files in one step} +\subsection{$BLr$KN)$D4JN,K!(B---$B%U%!%$%k$NDI2C$H:o=|$r(B1$B%9%F%C%W$G9T$&(B} Mercurial offers a combination command, \hgcmd{addremove}, that adds -untracked files and marks missing files as removed. +untracked files and marks missing files as removed. \interaction{daily.files.addremove} The \hgcmd{commit} command also provides a \hgopt{commit}{-A} option that performs this same add-and-remove, immediately followed by a commit. \interaction{daily.files.commit-addremove} -\section{Copying files} +%\section{Copying files} +\section{$B%U%!%$%k$N%3%T!<(B} -Mercurial provides a \hgcmd{copy} command that lets you make a new -copy of a file. When you copy a file using this command, Mercurial -makes a record of the fact that the new file is a copy of the original -file. It treats these copied files specially when you merge your work -with someone else's. +%Mercurial provides a \hgcmd{copy} command that lets you make a new +%copy of a file. When you copy a file using this command, Mercurial +%makes a record of the fact that the new file is a copy of the original +%file. It treats these copied files specially when you merge your work +%with someone else's. -\subsection{The results of copying during a merge} +Mercurial$B$K$O!$%U%!%$%k$N?7$7$$%3%T!<$r:n$k(B\hgcmd{copy}$B%3%^%s%I$,$"$k!%(B +$B$3$N%3%^%s%I$r;H$C$F%U%!%$%k$r%3%T!<$9$k$H!$(BMercurial$B$O?7$7$$%U%!%$%k$,(B +$B%*%j%8%J%k$NJ#@=$G$"$k$3$H$r5-O?$9$k!%J#@=$5$l$?%U%!%$%k$O!$JL$N?M$K$h$k(B +$BJQ99$r%^!<%8$9$k;~$KFCJL$J<h$j07$$$,$J$5$l$k!%(B + +%\subsection{The results of copying during a merge} +\subsection{$B%^!<%8Cf$N%3%T!<$N7k2L(B} What happens during a merge is that changes ``follow'' a copy. To best illustrate what this means, let's create an example. We'll start @@ -196,7 +211,8 @@ \filename{file} into its copy, \filename{new-file}. \interaction{daily.copy.merge} -\subsection{Why should changes follow copies?} +%\subsection{Why should changes follow copies?} +\subsection{$BJQ99$O$J$<%3%T!<$K=>$o$J$1$l$P$J$i$J$$$+(B} \label{sec:daily:why-copy} This behaviour, of changes to a file propagating out to copies of the @@ -233,7 +249,8 @@ only propagates changes across copies until this point, and no further. -\subsection{How to make changes \emph{not} follow a copy} +%\subsection{How to make changes \emph{not} follow a copy} +\subsection{$BJQ99$,%3%T!<$K$7B&FbMF$K$9$kJ}K!(B} If, for some reason, you decide that this business of automatically propagating changes across copies is not for you, simply use your @@ -243,7 +260,8 @@ section~\ref{sec:daily:why-copy}, and make an informed decision that this behaviour is not appropriate to your specific case. -\subsection{Behaviour of the \hgcmd{copy} command} +%\subsection{Behaviour of the \hgcmd{copy} command} +\subsection{\hgcmd{copy}$B%3%^%s%I$N5sF0(B} When you use the \hgcmd{copy} command, Mercurial makes a copy of each source file as it currently stands in the working directory. This @@ -274,7 +292,8 @@ the \hgopt{copy}{--after} option to \hgcmd{copy}. \interaction{daily.copy.after} -\section{Renaming files} +%\section{Renaming files} +\section{$B%U%!%$%k$N%j%M!<%`(B} It's rather more common to need to rename a file than to make a copy of it. The reason I discussed the \hgcmd{copy} command before talking @@ -299,7 +318,8 @@ most other respects, the behaviour of the \hgcmd{rename} command, and the options it accepts, are similar to the \hgcmd{copy} command. -\subsection{Renaming files and merging changes} +%\subsection{Renaming files and merging changes} +\subsection{$B%U%!%$%k$N%j%M!<%`$HJQ99$N%^!<%8(B} Since Mercurial's rename is implemented as copy-and-remove, the same propagation of changes happens when you merge after a rename as after @@ -317,7 +337,8 @@ this facility, it would simply be too easy for changes to become orphaned when files are renamed. -\subsection{Divergent renames and merging} +%\subsection{Divergent renames and merging} +\subsection{$BL>A0$H%^!<%8$NH/;6(B} The case of diverging names occurs when two developers start with a file---let's call it \filename{foo}---in their respective @@ -340,42 +361,60 @@ Notice that Mercurial does warn about the divergent renames, but it leaves it up to you to do something about the divergence after the merge. -\subsection{Convergent renames and merging} +%\subsection{Convergent renames and merging} +\subsection{$B%j%M!<%`$H%^!<%8$K$h$k<}B+(B} Another kind of rename conflict occurs when two people choose to rename different \emph{source} files to the same \emph{destination}. In this case, Mercurial runs its normal merge machinery, and lets you guide it to a suitable resolution. -\subsection{Other name-related corner cases} +%\subsection{Other name-related corner cases} +\subsection{$BL>A0$K4XO"$7$?$$$/$D$+$NLdBj(B} Mercurial has a longstanding bug in which it fails to handle a merge where one side has a file with a given name, while another has a directory with the same name. This is documented as~\bug{29} . \interaction{issue29.go} -\section{Recovering from mistakes} +%\section{Recovering from mistakes} +\section{$B%_%9$+$i$N2sI|(B} + +%Mercurial has some useful commands that will help you to recover from +%some common mistakes. -Mercurial has some useful commands that will help you to recover from -some common mistakes. +Mercurial$B$K$O0lHLE*$J%_%9$+$i$N2sI|$r=u$1$k$$$/$D$+$NM-MQ$J%3%^%s%I$,$"$k!%(B + +%The \hgcmd{revert} command lets you undo changes that you have made to +%your working directory. For example, if you \hgcmd{add} a file by +%accident, just run \hgcmd{revert} with the name of the file you added, +%and while the file won't be touched in any way, it won't be tracked +%for adding by Mercurial any longer, either. You can also use +%\hgcmd{revert} to get rid of erroneous changes to a file. -The \hgcmd{revert} command lets you undo changes that you have made to -your working directory. For example, if you \hgcmd{add} a file by -accident, just run \hgcmd{revert} with the name of the file you added, -and while the file won't be touched in any way, it won't be tracked -for adding by Mercurial any longer, either. You can also use -\hgcmd{revert} to get rid of erroneous changes to a file. +\hgcmd{revert}$B%3%^%s%I$O%o!<%-%s%0%G%#%l%/%H%jFb$G9T$C$?JQ99$r<h$j>C$9!%(B +$B$?$H$($P!$8m$C$F(B\hgcmd{add}$B$r9T$C$?>l9g!$DI2C$7$?%U%!%$%kL>$H6&$K(B +\hgcmd{revert}$B$r<B9T$9$l$P%U%!%$%k$O2?$bJQ99$5$l$:!$(BMercurial$B$N4IM}$+$i30(B +$B$5$l$k!%$^$?(B\hgcmd{revert}$B$O%U%!%$%k$X$N4V0c$C$?JQ99$r>C5n$9$k$N$b;H$($k!%(B + +%It's useful to remember that the \hgcmd{revert} command is useful for + +%changes that you have not yet committed. Once you've committed a +%change, if you decide it was a mistake, you can still do something +%about it, though your options may be more limited. -It's useful to remember that the \hgcmd{revert} command is useful for -changes that you have not yet committed. Once you've committed a -change, if you decide it was a mistake, you can still do something -about it, though your options may be more limited. +\hgcmd{revert}$B%3%^%s%I$OL$%3%_%C%H$NJQ99$KBP$7$FM-8z$G$"$k$3$H$r3P$($F$*(B +$B$/$HNI$$!%JQ99$r%3%_%C%H$7$?$"$H$G!$$3$l$,4V0c$$$G$"$C$?$3$H$K5$$E$$$?>l(B +$B9g$O!$$H$l$k<jCJ$O$d$d8B$i$l$k!%(B -For more information about the \hgcmd{revert} command, and details -about how to deal with changes you have already committed, see -chapter~\ref{chap:undo}. +%For more information about the \hgcmd{revert} command, and details +%about how to deal with changes you have already committed, see +%chapter~\ref{chap:undo}. -%%% Local Variables: +\hgcmd{revert}$B%3%^%s%I$K$D$$$F$N$h$j>\:Y$J>pJs$H!$$9$G$K%3%_%C%H$7$?JQ99(B +$B$X$NA`:n$K$D$$$F$O(B~\ref{chap:undo}$B$N>O$r;2>H$5$l$?$$!%(B + +%%% Local Variables: %%% mode: yatex %%% TeX-master: "00book" -%%% End: +%%% End: