hgbook

view es/mq-ref.tex @ 487:f8614aad2cbb

chapter taken to translate to spanish
author Igor Támara <igor@tamarapatino.org>
date Tue Jan 06 22:40:18 2009 -0500 (2009-01-06)
parents 7e52f0cc4516
children 419853691d11
line source
1 \chapter{Referencia de las Colas de Mercurial}
2 \label{chap:mqref}
4 \section{Referencia de órdenes MQ}
5 \label{sec:mqref:cmdref}
7 Si desea dar un vistazo a las órdenes que ofrece MQ, use la orden
8 \hgcmdargs{help}{mq}.
10 \subsection{\hgxcmd{mq}{qapplied}---imprimir los parches aplicados}
12 La orden \hgxcmd{mq}{qapplied} imprime la pila actual de parches
13 aplicados. Los parches se imprimen en orden de antigüedad, primero
14 los más antiguos y después los más recientes, por lo tanto el último
15 parche de la lista es el que está en el ``tope''.
17 \subsection{\hgxcmd{mq}{qcommit}---consignar cambios en la cola del repositorio}
19 La orden \hgxcmd{mq}{qcommit} consigna cualquier cambio sobresaliente
20 en el repositorio \sdirname{.hg/patches}. Esta orden solamente
21 funciona si el directorio \sdirname{.hg/patches} es un repositorio,
22 p.e.~usted creó el directorio con
23 \hgcmdargs{qinit}{\hgxopt{mq}{qinit}{-c}} o ejecutó
24 \hgcmd{init} en el directorio después de correr \hgxcmd{mq}{qinit}.
26 Esta orden es un atajo para \hgcmdargs{commit}{--cwd .hg/patches}.
28 \subsection{\hgxcmd{mq}{qdelete}---elimina un parche del fichero
29 \sfilename{series}}
31 La orden \hgxcmd{mq}{qdelete} elimina la entrada del fichero
32 \sfilename{series} para el parche en el directorio
33 \sdirname{.hg/patches}. No sca el parche si ha sido aplicado. De
34 forma predeterminada no borra el fichero del parche; use la opción
35 \hgxopt{mq}{qdel}{-f} para hacerlo.
37 Opciones:
38 \begin{itemize}
39 \item[\hgxopt{mq}{qdel}{-f}] Elimina el fichero del parche.
40 \end{itemize}
42 \subsection{\hgxcmd{mq}{qdiff}---imprimir la diferencia del último
43 parche aplicado}
45 La orden \hgxcmd{mq}{qdiff} imprime un diff del parche más
46 recientemente aplicado. Es equivalente a \hgcmdargs{diff}{-r-2:-1}.
48 \subsection{\hgxcmd{mq}{qfold}---fusionar (``fold'') varios parches en
49 uno solo}
51 La orden \hgxcmd{mq}{qfold} fusiona muchos parches en el último parche
52 aplicado, de tal forma que el último parche aplicado es la unión de
53 todos los cambios de los parches en cuestión.
55 Los parches a fusionar no deben haber sido aplicados;
56 \hgxcmd{mq}{qfold} saldrá indicando un error si alguno ha sido
57 aplicado. El orden en el cual los parches se pliegan es
58 significativo; \hgcmdargs{qfold}{a b} significa ``aplique el parche
59 más reciente, seguido de \texttt{a}, y seguido de \texttt{b}''.
61 Los comentarios de los parches plegados se colocan al final de los
62 comentarios del parche destino, con cada bloque de comentarios
63 separado con tres asteriscos(``\texttt{*}''). Se usa la opción
64 \hgxopt{mq}{qfold}{-e} para editar el mensaje de consignación para el
65 conjunto de cambios/parches después de completarse el pliegue.
67 Opciones:
68 \begin{itemize}
69 \item[\hgxopt{mq}{qfold}{-e}] Edita el mensaje de consignación y la
70 descripción del parche del parche que se ha plegado.
71 \item[\hgxopt{mq}{qfold}{-l}] Usa los contenidos del fichero dado como
72 el nuevo mensaje de consignación y descripción del parche para el
73 parche a plegar.
74 \item[\hgxopt{mq}{qfold}{-m}] Usa el texto dado como el mensaje de
75 consignación y descripción del parche para el parche plegado.
76 \end{itemize}
78 \subsection{\hgxcmd{mq}{qheader}---display the header/description of a patch}
80 The \hgxcmd{mq}{qheader} command prints the header, or description, of a
81 patch. By default, it prints the header of the topmost applied patch.
82 Given an argument, it prints the header of the named patch.
84 \subsection{\hgxcmd{mq}{qimport}---import a third-party patch into the queue}
86 The \hgxcmd{mq}{qimport} command adds an entry for an external patch to the
87 \sfilename{series} file, and copies the patch into the
88 \sdirname{.hg/patches} directory. It adds the entry immediately after
89 the topmost applied patch, but does not push the patch.
91 If the \sdirname{.hg/patches} directory is a repository,
92 \hgxcmd{mq}{qimport} automatically does an \hgcmd{add} of the imported
93 patch.
95 \subsection{\hgxcmd{mq}{qinit}---prepare a repository to work with MQ}
97 The \hgxcmd{mq}{qinit} command prepares a repository to work with MQ. It
98 creates a directory called \sdirname{.hg/patches}.
100 Options:
101 \begin{itemize}
102 \item[\hgxopt{mq}{qinit}{-c}] Create \sdirname{.hg/patches} as a repository
103 in its own right. Also creates a \sfilename{.hgignore} file that
104 will ignore the \sfilename{status} file.
105 \end{itemize}
107 When the \sdirname{.hg/patches} directory is a repository, the
108 \hgxcmd{mq}{qimport} and \hgxcmd{mq}{qnew} commands automatically \hgcmd{add}
109 new patches.
111 \subsection{\hgxcmd{mq}{qnew}---create a new patch}
113 The \hgxcmd{mq}{qnew} command creates a new patch. It takes one mandatory
114 argument, the name to use for the patch file. The newly created patch
115 is created empty by default. It is added to the \sfilename{series}
116 file after the current topmost applied patch, and is immediately
117 pushed on top of that patch.
119 If \hgxcmd{mq}{qnew} finds modified files in the working directory, it will
120 refuse to create a new patch unless the \hgxopt{mq}{qnew}{-f} option is
121 used (see below). This behaviour allows you to \hgxcmd{mq}{qrefresh} your
122 topmost applied patch before you apply a new patch on top of it.
124 Options:
125 \begin{itemize}
126 \item[\hgxopt{mq}{qnew}{-f}] Create a new patch if the contents of the
127 working directory are modified. Any outstanding modifications are
128 added to the newly created patch, so after this command completes,
129 the working directory will no longer be modified.
130 \item[\hgxopt{mq}{qnew}{-m}] Use the given text as the commit message.
131 This text will be stored at the beginning of the patch file, before
132 the patch data.
133 \end{itemize}
135 \subsection{\hgxcmd{mq}{qnext}---print the name of the next patch}
137 The \hgxcmd{mq}{qnext} command prints the name name of the next patch in
138 the \sfilename{series} file after the topmost applied patch. This
139 patch will become the topmost applied patch if you run \hgxcmd{mq}{qpush}.
141 \subsection{\hgxcmd{mq}{qpop}---pop patches off the stack}
143 The \hgxcmd{mq}{qpop} command removes applied patches from the top of the
144 stack of applied patches. By default, it removes only one patch.
146 This command removes the changesets that represent the popped patches
147 from the repository, and updates the working directory to undo the
148 effects of the patches.
150 This command takes an optional argument, which it uses as the name or
151 index of the patch to pop to. If given a name, it will pop patches
152 until the named patch is the topmost applied patch. If given a
153 number, \hgxcmd{mq}{qpop} treats the number as an index into the entries in
154 the series file, counting from zero (empty lines and lines containing
155 only comments do not count). It pops patches until the patch
156 identified by the given index is the topmost applied patch.
158 The \hgxcmd{mq}{qpop} command does not read or write patches or the
159 \sfilename{series} file. It is thus safe to \hgxcmd{mq}{qpop} a patch that
160 you have removed from the \sfilename{series} file, or a patch that you
161 have renamed or deleted entirely. In the latter two cases, use the
162 name of the patch as it was when you applied it.
164 By default, the \hgxcmd{mq}{qpop} command will not pop any patches if the
165 working directory has been modified. You can override this behaviour
166 using the \hgxopt{mq}{qpop}{-f} option, which reverts all modifications in
167 the working directory.
169 Options:
170 \begin{itemize}
171 \item[\hgxopt{mq}{qpop}{-a}] Pop all applied patches. This returns the
172 repository to its state before you applied any patches.
173 \item[\hgxopt{mq}{qpop}{-f}] Forcibly revert any modifications to the
174 working directory when popping.
175 \item[\hgxopt{mq}{qpop}{-n}] Pop a patch from the named queue.
176 \end{itemize}
178 The \hgxcmd{mq}{qpop} command removes one line from the end of the
179 \sfilename{status} file for each patch that it pops.
181 \subsection{\hgxcmd{mq}{qprev}---print the name of the previous patch}
183 The \hgxcmd{mq}{qprev} command prints the name of the patch in the
184 \sfilename{series} file that comes before the topmost applied patch.
185 This will become the topmost applied patch if you run \hgxcmd{mq}{qpop}.
187 \subsection{\hgxcmd{mq}{qpush}---push patches onto the stack}
188 \label{sec:mqref:cmd:qpush}
190 The \hgxcmd{mq}{qpush} command adds patches onto the applied stack. By
191 default, it adds only one patch.
193 This command creates a new changeset to represent each applied patch,
194 and updates the working directory to apply the effects of the patches.
196 The default data used when creating a changeset are as follows:
197 \begin{itemize}
198 \item The commit date and time zone are the current date and time
199 zone. Because these data are used to compute the identity of a
200 changeset, this means that if you \hgxcmd{mq}{qpop} a patch and
201 \hgxcmd{mq}{qpush} it again, the changeset that you push will have a
202 different identity than the changeset you popped.
203 \item The author is the same as the default used by the \hgcmd{commit}
204 command.
205 \item The commit message is any text from the patch file that comes
206 before the first diff header. If there is no such text, a default
207 commit message is used that identifies the name of the patch.
208 \end{itemize}
209 If a patch contains a Mercurial patch header (XXX add link), the
210 information in the patch header overrides these defaults.
212 Options:
213 \begin{itemize}
214 \item[\hgxopt{mq}{qpush}{-a}] Push all unapplied patches from the
215 \sfilename{series} file until there are none left to push.
216 \item[\hgxopt{mq}{qpush}{-l}] Add the name of the patch to the end
217 of the commit message.
218 \item[\hgxopt{mq}{qpush}{-m}] If a patch fails to apply cleanly, use the
219 entry for the patch in another saved queue to compute the parameters
220 for a three-way merge, and perform a three-way merge using the
221 normal Mercurial merge machinery. Use the resolution of the merge
222 as the new patch content.
223 \item[\hgxopt{mq}{qpush}{-n}] Use the named queue if merging while pushing.
224 \end{itemize}
226 The \hgxcmd{mq}{qpush} command reads, but does not modify, the
227 \sfilename{series} file. It appends one line to the \hgcmd{status}
228 file for each patch that it pushes.
230 \subsection{\hgxcmd{mq}{qrefresh}---update the topmost applied patch}
232 The \hgxcmd{mq}{qrefresh} command updates the topmost applied patch. It
233 modifies the patch, removes the old changeset that represented the
234 patch, and creates a new changeset to represent the modified patch.
236 The \hgxcmd{mq}{qrefresh} command looks for the following modifications:
237 \begin{itemize}
238 \item Changes to the commit message, i.e.~the text before the first
239 diff header in the patch file, are reflected in the new changeset
240 that represents the patch.
241 \item Modifications to tracked files in the working directory are
242 added to the patch.
243 \item Changes to the files tracked using \hgcmd{add}, \hgcmd{copy},
244 \hgcmd{remove}, or \hgcmd{rename}. Added files and copy and rename
245 destinations are added to the patch, while removed files and rename
246 sources are removed.
247 \end{itemize}
249 Even if \hgxcmd{mq}{qrefresh} detects no changes, it still recreates the
250 changeset that represents the patch. This causes the identity of the
251 changeset to differ from the previous changeset that identified the
252 patch.
254 Options:
255 \begin{itemize}
256 \item[\hgxopt{mq}{qrefresh}{-e}] Modify the commit and patch description,
257 using the preferred text editor.
258 \item[\hgxopt{mq}{qrefresh}{-m}] Modify the commit message and patch
259 description, using the given text.
260 \item[\hgxopt{mq}{qrefresh}{-l}] Modify the commit message and patch
261 description, using text from the given file.
262 \end{itemize}
264 \subsection{\hgxcmd{mq}{qrename}---rename a patch}
266 The \hgxcmd{mq}{qrename} command renames a patch, and changes the entry for
267 the patch in the \sfilename{series} file.
269 With a single argument, \hgxcmd{mq}{qrename} renames the topmost applied
270 patch. With two arguments, it renames its first argument to its
271 second.
273 \subsection{\hgxcmd{mq}{qrestore}---restore saved queue state}
275 XXX No idea what this does.
277 \subsection{\hgxcmd{mq}{qsave}---save current queue state}
279 XXX Likewise.
281 \subsection{\hgxcmd{mq}{qseries}---print the entire patch series}
283 The \hgxcmd{mq}{qseries} command prints the entire patch series from the
284 \sfilename{series} file. It prints only patch names, not empty lines
285 or comments. It prints in order from first to be applied to last.
287 \subsection{\hgxcmd{mq}{qtop}---print the name of the current patch}
289 The \hgxcmd{mq}{qtop} prints the name of the topmost currently applied
290 patch.
292 \subsection{\hgxcmd{mq}{qunapplied}---print patches not yet applied}
294 The \hgxcmd{mq}{qunapplied} command prints the names of patches from the
295 \sfilename{series} file that are not yet applied. It prints them in
296 order from the next patch that will be pushed to the last.
298 \subsection{\hgcmd{strip}---remove a revision and descendants}
300 The \hgcmd{strip} command removes a revision, and all of its
301 descendants, from the repository. It undoes the effects of the
302 removed revisions from the repository, and updates the working
303 directory to the first parent of the removed revision.
305 The \hgcmd{strip} command saves a backup of the removed changesets in
306 a bundle, so that they can be reapplied if removed in error.
308 Options:
309 \begin{itemize}
310 \item[\hgopt{strip}{-b}] Save unrelated changesets that are intermixed
311 with the stripped changesets in the backup bundle.
312 \item[\hgopt{strip}{-f}] If a branch has multiple heads, remove all
313 heads. XXX This should be renamed, and use \texttt{-f} to strip revs
314 when there are pending changes.
315 \item[\hgopt{strip}{-n}] Do not save a backup bundle.
316 \end{itemize}
318 \section{MQ file reference}
320 \subsection{The \sfilename{series} file}
322 The \sfilename{series} file contains a list of the names of all
323 patches that MQ can apply. It is represented as a list of names, with
324 one name saved per line. Leading and trailing white space in each
325 line are ignored.
327 Lines may contain comments. A comment begins with the ``\texttt{\#}''
328 character, and extends to the end of the line. Empty lines, and lines
329 that contain only comments, are ignored.
331 You will often need to edit the \sfilename{series} file by hand, hence
332 the support for comments and empty lines noted above. For example,
333 you can comment out a patch temporarily, and \hgxcmd{mq}{qpush} will skip
334 over that patch when applying patches. You can also change the order
335 in which patches are applied by reordering their entries in the
336 \sfilename{series} file.
338 Placing the \sfilename{series} file under revision control is also
339 supported; it is a good idea to place all of the patches that it
340 refers to under revision control, as well. If you create a patch
341 directory using the \hgxopt{mq}{qinit}{-c} option to \hgxcmd{mq}{qinit}, this
342 will be done for you automatically.
344 \subsection{The \sfilename{status} file}
346 The \sfilename{status} file contains the names and changeset hashes of
347 all patches that MQ currently has applied. Unlike the
348 \sfilename{series} file, this file is not intended for editing. You
349 should not place this file under revision control, or modify it in any
350 way. It is used by MQ strictly for internal book-keeping.
352 %%% Local Variables:
353 %%% mode: latex
354 %%% TeX-master: "00book"
355 %%% End: