<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>El hilo del laberinto (Publicaciones sobre Mercurial)</title><link>https://blog.jcea.es/</link><description></description><atom:link href="https://blog.jcea.es/categories/mercurial.xml" rel="self" type="application/rss+xml"></atom:link><language>es</language><lastBuildDate>Mon, 01 Jun 2026 23:08:21 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Activación/Desactivación de extensiones Mercurial de forma puntual</title><link>https://blog.jcea.es/posts/20180309-mercurial.html</link><dc:creator>Jesús Cea Avión</dc:creator><description>&lt;div&gt;&lt;p&gt;A veces necesitamos una extensión &lt;a class="reference external" href="https://www.mercurial-scm.org/"&gt;Mercurial&lt;/a&gt; de forma puntual y no
queremos tenerla activada por defecto en nuestra configuración.
Por ejemplo, porque se trata de una extensión de uso delicado o
experimental.&lt;/p&gt;
&lt;p&gt;Podemos invocar &lt;a class="reference external" href="https://www.mercurial-scm.org/"&gt;Mercurial&lt;/a&gt; desde la línea de comandos de la
siguiente manera:&lt;/p&gt;
&lt;pre class="code console"&gt;&lt;a name="rest_code_f3021f37c2d7411f9c8977e76e4dbdbf-1"&gt;&lt;/a&gt;&lt;span class="gp"&gt;$&lt;/span&gt; hg --config extensions.histedit&lt;span class="o"&gt;=&lt;/span&gt; histedit
&lt;/pre&gt;&lt;p&gt;Aquí estamos activando la extensión &lt;span class="kbd"&gt;histedit&lt;/span&gt; para modificar
&lt;a class="reference external" href="https://en.wikipedia.org/wiki/Changeset"&gt;changesets&lt;/a&gt; en &lt;a class="reference external" href="https://www.mercurial-scm.org/wiki/Phases"&gt;fase&lt;/a&gt; &lt;strong&gt;secreta&lt;/strong&gt; o &lt;strong&gt;borrador&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Te puede interesar &lt;a class="reference external" href="https://www.mercurial-scm.org/wiki/UsingExtensions"&gt;conocer extensiones Mercurial comunes o cómo
activar o desactivar una extensión de forma permanente&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Si lo que quieres es desactivar puntualmente una extensión
activada en la configuración por defecto, puedes indicarlo con un
&lt;span class="kbd"&gt;!&lt;/span&gt; (signo de admiración). Por ejemplo:&lt;/p&gt;
&lt;pre class="code console"&gt;&lt;a name="rest_code_d78bbde5ab43442080cd6a1381e0ce84-1"&gt;&lt;/a&gt;&lt;span class="gp"&gt;$&lt;/span&gt; hg --config extensions.mq&lt;span class="o"&gt;=&lt;/span&gt;! COMANDO
&lt;/pre&gt;&lt;p&gt;Durante esta invocación de &lt;a class="reference external" href="https://www.mercurial-scm.org/"&gt;Mercurial&lt;/a&gt;, la extensión &lt;a class="reference external" href="https://www.mercurial-scm.org/wiki/MqExtension"&gt;Mercurial
Queues&lt;/a&gt; estará
desactivada. Por ejemplo:&lt;/p&gt;
&lt;pre class="code console"&gt;&lt;a name="rest_code_b0969d01b41a4f68a9bc87c8c67b68a4-1"&gt;&lt;/a&gt;&lt;span class="gp"&gt;$&lt;/span&gt; hg qseries --config extensions.mq&lt;span class="o"&gt;=&lt;/span&gt;!
&lt;a name="rest_code_b0969d01b41a4f68a9bc87c8c67b68a4-2"&gt;&lt;/a&gt;&lt;span class="go"&gt;hg: unknown command 'qseries'&lt;/span&gt;
&lt;a name="rest_code_b0969d01b41a4f68a9bc87c8c67b68a4-3"&gt;&lt;/a&gt;&lt;span class="go"&gt;'qseries' is provided by the following extension:&lt;/span&gt;
&lt;a name="rest_code_b0969d01b41a4f68a9bc87c8c67b68a4-4"&gt;&lt;/a&gt;
&lt;a name="rest_code_b0969d01b41a4f68a9bc87c8c67b68a4-5"&gt;&lt;/a&gt;&lt;span class="go"&gt;    mq            manage a stack of patches&lt;/span&gt;
&lt;a name="rest_code_b0969d01b41a4f68a9bc87c8c67b68a4-6"&gt;&lt;/a&gt;
&lt;a name="rest_code_b0969d01b41a4f68a9bc87c8c67b68a4-7"&gt;&lt;/a&gt;&lt;span class="gp gp-VirtualEnv"&gt;(use 'hg help extensions' for information on enabling extensions)&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;Podemos usar el mismo principio para modificar cualquier opción
configurada en los ficheros &lt;a class="reference external" href="https://es.wikipedia.org/wiki/.ini"&gt;INI&lt;/a&gt; de &lt;a class="reference external" href="https://www.mercurial-scm.org/"&gt;Mercurial&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;</description><category>Mercurial</category><guid>https://blog.jcea.es/posts/20180309-mercurial.html</guid><pubDate>Fri, 09 Mar 2018 00:45:00 GMT</pubDate></item><item><title>Añadir un fichero a un repositorio Mercurial respetando su fecha de modificación</title><link>https://blog.jcea.es/posts/20160707-mercurial.html</link><dc:creator>Jesús Cea Avión</dc:creator><description>&lt;div&gt;&lt;p&gt;&lt;a class="reference external" href="https://www.mercurial-scm.org/"&gt;Mercurial&lt;/a&gt; es un excelente &lt;a class="reference external" href="https://es.wikipedia.org/wiki/Control_de_versiones"&gt;sistema de control de versiones&lt;/a&gt; comparable
a &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Git"&gt;Git&lt;/a&gt;, pero, en mi opinión, mejor &lt;a class="reference external" href="https://www.jcea.es/artic/mercurial_madrid/"&gt;por una gran variedad de
razones&lt;/a&gt;. En
febrero de 2013 di una charla en &lt;a class="reference external" href="https://www.python-madrid.es/"&gt;Python Madrid&lt;/a&gt; sobre este tema. Fue muy
polémica. Ese es un tema para otro día :-).&lt;/p&gt;
&lt;p&gt;Cuando se introduce una nueva versión de un fichero en el &lt;a class="reference external" href="https://es.wikipedia.org/wiki/Control_de_versiones"&gt;sistema
de control de versiones&lt;/a&gt;, la fecha que se almacena es la fecha
del &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Commit_(version_control)"&gt;commit&lt;/a&gt;. Esto
no es problema porque, en general, hacemos el &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Commit_(version_control)"&gt;commit&lt;/a&gt; segundos o
minutos después de hacer las modificaciones en el fichero.&lt;/p&gt;
&lt;p&gt;El problema surge cuando queremos añadir un fichero antiguo a un
&lt;a class="reference external" href="https://es.wikipedia.org/wiki/Control_de_versiones"&gt;sistema de control de versiones&lt;/a&gt; respetando la fecha de última
modificación del fichero, no la hora del &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Commit_(version_control)"&gt;commit&lt;/a&gt;. Esto puede ser
importante para respetar la historia del proyecto, preservar la
integridad legal del mismo, etc.&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://www.mercurial-scm.org/"&gt;Mercurial&lt;/a&gt; es versátil. A la hora de hacer un &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Commit_(version_control)"&gt;commit&lt;/a&gt; podemos
especificar la fecha y hora que queremos reflejar mediante el
parámetro &lt;span class="kbd"&gt;-d&lt;/span&gt; o &lt;span class="kbd"&gt;--date&lt;/span&gt;. Por ejemplo:&lt;/p&gt;
&lt;pre class="code console"&gt;&lt;a name="rest_code_8714df8746514bf49e0fc4380b111db3-1"&gt;&lt;/a&gt;&lt;span class="gp"&gt;$&lt;/span&gt; hg commit -d &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;date -u -r FICHERO +&lt;span class="s1"&gt;'%s'&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt; 0"&lt;/span&gt; -m &lt;span class="s2"&gt;"TEXTO"&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;El comando anterior hará un &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Commit_(version_control)"&gt;commit&lt;/a&gt; reflejando la fecha y hora del
fichero especificado.&lt;/p&gt;
&lt;div class="section" id="bibliografia"&gt;
&lt;h2&gt;Bibliografía&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="http://linux.goeszen.com/mercurial-timestamp-on-commit-how-to-record-datecode-as-commit-date.html"&gt;Mercurial timestamp on commit, how to record datecode as commit
date&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://web.archive.org/web/20160404231224/http://blog.littleimpact.de/index.php/2009/03/03/usage-of-hg-commit-date-mercurial/"&gt;Usage of hg commit –date (mercurial)&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;</description><category>Mercurial</category><guid>https://blog.jcea.es/posts/20160707-mercurial.html</guid><pubDate>Thu, 07 Jul 2016 17:11:00 GMT</pubDate></item></channel></rss>