<html>#2943: Formaline rejects valid symlinks in GRHayLib
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Zach Etienne</td></tr>
<tr><td style='text-align:right'> Status:</td><td>new</td></tr>
<tr><td style='text-align:right'>Milestone:</td><td></td></tr>
<tr><td style='text-align:right'> Version:</td><td></td></tr>
<tr><td style='text-align:right'> Type:</td><td>bug</td></tr>
<tr><td style='text-align:right'> Priority:</td><td>major</td></tr>
<tr><td style='text-align:right'>Component:</td><td></td></tr>
</table>
<p>Formaline emits warnings while creating/updating the configuration git repository when a thorn contains symbolic links, for example in <code>GRHayL/GRHayLib/src</code>:</p>
<div class="codehilite language-text"><pre><span></span><code>Formaline: Creating configuration git repository...
Formaline: Updating files in git repository...
WARNING: Refusing to add "arrangements/GRHayL/GRHayLib/src/Neutrinos" as it is not a regular file at Cactus/configs/etbhahaha/scratch/Formaline/bin/update-git-repo.pl line 202, <STDIN> line 6246.
...
fatal: bad revision 'HEAD'
Formaline: Committing source tree to git repository...
</code></pre></div>
<p>The full set of warnings occurs for the symlinked <code>GRHayLib/src</code> entries such as <code>Neutrinos</code>, <code>Induction</code>, <code>Flux_Source</code>, <code>Reconstruction</code>, <code>Atmosphere</code>, <code>EOS</code>, <code>include</code>, <code>GRHayL_Core</code>, and <code>Con2Prim</code>.</p>
<p><strong>Root Cause</strong></p>
<p><code>Formaline/src/util/update-git-repo.pl</code> currently accepts only regular files before adding paths to the Formaline git repository:</p>
<div class="codehilite language-perl"><pre><span></span><code><span class="k">if</span> <span class="p">(</span><span class="o">!</span> <span class="o">-</span><span class="n">e</span> <span class="nv">$file</span><span class="p">)</span> <span class="p">{</span>
<span class="nb">push</span> <span class="nv">@to_remove</span><span class="p">,</span> <span class="nv">$file</span><span class="p">;</span>
<span class="k">next</span><span class="p">;</span>
<span class="p">}</span> <span class="k">elsif</span> <span class="p">(</span><span class="o">!</span> <span class="o">-</span><span class="n">f</span> <span class="nv">$file</span><span class="p">)</span> <span class="p">{</span>
<span class="nb">warn</span> <span class="s">"WARNING: Refusing to add \"$file\" as it is not a regular file"</span><span class="p">;</span>
<span class="k">next</
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2943/formaline-rejects-valid-symlinks-in'>https://bitbucket.org/einsteintoolkit/tickets/issues/2943/formaline-rejects-valid-symlinks-in</a></p>
</html>