<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Svn on Ulis Notizen</title>
    <link>https://wolf-u.li/tag/svn/</link>
    <description>Recent content in Svn on Ulis Notizen</description>
    <generator>Hugo</generator>
    <language>de</language>
    <copyright>Copyright 2006-CURRENTYEAR Uli Wolf - All rights reserved</copyright>
    <lastBuildDate>Wed, 21 Jan 2009 18:18:55 +2100</lastBuildDate>
    <atom:link href="https://wolf-u.li/tag/svn/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Fehler: &#34;svn: Unrecognized URL scheme for &#39;http://some.subdomain.wolf-u.li&#39;&#34; mit Subversion</title>
      
      
      <link>https://wolf-u.li/fehler-svn-unrecognized-url-scheme-for-httpsomesubdomainwolf-uli-mit-subversion/</link>
      <pubDate>Mon, 19 May 2008 16:05:36 +1900</pubDate>
      <guid>https://wolf-u.li/fehler-svn-unrecognized-url-scheme-for-httpsomesubdomainwolf-uli-mit-subversion/</guid>
      <description>&lt;p&gt;Soeben wollte ich in der Kommandozeile ein SVN auf meinem Server auschecken und erhielt folgenden Fehler (URL wurde von mir maskiert):&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;svn: Unrecognized URL scheme &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;http://some.subdomain.wolf-u.li&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Dieser Fehler ist auf subversion selbst zurückzuführen, nicht auf eine Notation. Subversion wurde hierbei ohne &amp;ldquo;Neon&amp;rdquo; kompiliert, was daher keinen Zugriff auf ein WebDAV (http://) erlaubt.
Unter Gentoo ist die Lösung folgende:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;dev-util/subversion webdav-neon&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; /etc/portage/package.use
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;net-misc/neon ~x86&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; /etc/portage/package.keywords
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;emerge -av subversion
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;(Neon ist leider noch nicht stable, bei mir läufts trotzdem ;) )&lt;/p&gt;</description>
      
         <content:encoded><![CDATA[<p>Soeben wollte ich in der Kommandozeile ein SVN auf meinem Server auschecken und erhielt folgenden Fehler (URL wurde von mir maskiert):</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">svn: Unrecognized URL scheme <span class="k">for</span> <span class="s1">&#39;http://some.subdomain.wolf-u.li&#39;</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>Dieser Fehler ist auf subversion selbst zurückzuführen, nicht auf eine Notation. Subversion wurde hierbei ohne &ldquo;Neon&rdquo; kompiliert, was daher keinen Zugriff auf ein WebDAV (http://) erlaubt.
Unter Gentoo ist die Lösung folgende:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;dev-util/subversion webdav-neon&#34;</span> &gt;&gt; /etc/portage/package.use
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;net-misc/neon ~x86&#34;</span> &gt;&gt; /etc/portage/package.keywords
</span></span><span class="line"><span class="cl">emerge -av subversion
</span></span></code></pre></td></tr></table>
</div>
</div><p>(Neon ist leider noch nicht stable, bei mir läufts trotzdem ;) )</p>
]]></content:encoded>
    </item>
    <item>
      <title>&#34;(20014)Internal error: Version mismatch in &#39;svn_delta&#39;: found 1.5.0-rc4, expected 1.5.0-rc5&#34; lösen</title>
      
      
      <link>https://wolf-u.li/20014internal-error-version-mismatch-in-svn_delta-found-150-rc4-expected-150-rc5-loesen/</link>
      <pubDate>Sat, 10 May 2008 10:52:38 +1000</pubDate>
      <guid>https://wolf-u.li/20014internal-error-version-mismatch-in-svn_delta-found-150-rc4-expected-150-rc5-loesen/</guid>
      <description>&lt;p&gt;Nach einem Update von Subversion unter Gentoo von 1.5.0-rc4 auf 1.5.0-rc5 erhielt ich von Apache beim Abrufen des SVN über HTTP einen Fehler und fand in den Logs die folgenden Einträge&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;error&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;20014&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;Internal error: Version mismatch in &lt;span class=&#34;s1&#34;&gt;&amp;#39;svn_delta&amp;#39;&lt;/span&gt;: found 1.5.0-rc4, expected 1.5.0-rc5
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;error&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; Could not fetch resource information. &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;500, &lt;span class=&#34;c1&#34;&gt;#0]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;error&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; Could not open the requested SVN filesystem &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;500, &lt;span class=&#34;c1&#34;&gt;#200019]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Die Lösung war sehr einfach: Einmal Apache durchstarten.&lt;/p&gt;</description>
      
         <content:encoded><![CDATA[<p>Nach einem Update von Subversion unter Gentoo von 1.5.0-rc4 auf 1.5.0-rc5 erhielt ich von Apache beim Abrufen des SVN über HTTP einen Fehler und fand in den Logs die folgenden Einträge</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="o">[</span>error<span class="o">]</span> <span class="o">(</span>20014<span class="o">)</span>Internal error: Version mismatch in <span class="s1">&#39;svn_delta&#39;</span>: found 1.5.0-rc4, expected 1.5.0-rc5
</span></span><span class="line"><span class="cl"><span class="o">[</span>error<span class="o">]</span> Could not fetch resource information. <span class="o">[</span>500, <span class="c1">#0]</span>
</span></span><span class="line"><span class="cl"><span class="o">[</span>error<span class="o">]</span> Could not open the requested SVN filesystem <span class="o">[</span>500, <span class="c1">#200019]</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>Die Lösung war sehr einfach: Einmal Apache durchstarten.</p>
]]></content:encoded>
    </item>
    <item>
      <title>svn:externals zum Einbinden externer Bibliotheken nutzen</title>
      
      
      <link>https://wolf-u.li/svnexternals-zum-einbinden-externer-bibliotheken-nutzen/</link>
      <pubDate>Fri, 02 May 2008 22:36:50 +0200</pubDate>
      <guid>https://wolf-u.li/svnexternals-zum-einbinden-externer-bibliotheken-nutzen/</guid>
      <description>&lt;p&gt;Seit einiger Zeit arbeite ich bereits mit SVN in meinen Programmierprojekten, da es eine große Hilfe beim Rückgängigmachen von fehlerhaften Implementierungen ist und die Zusammenarbeit zwischen mehreren Leuten stark vereinfacht. Derzeit verwende ich in meinen PHP-Projekten gerne das Template-System &lt;link rel=dns-prefetch href=//www.smarty.net /&gt; &lt;a href=&#34;http://www.smarty.net/&#34;
    title=&#34;Smarty&#34; 
     target=&#34;_blank&#34; rel=&#34;nofollow noopener noreferrer&#34; &gt;
  Smarty&amp;nbsp;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; class=&#34;icon&#34; aria-hidden=&#34;true&#34; focusable=&#34;false&#34; viewBox=&#34;0 -128 512 640&#34;&gt;
    &lt;path d=&#34;M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z&#34;/&gt;
  &lt;/svg&gt;&lt;/a&gt;, da es recht schnell und unkompliziert arbeitet. Bis vor wenigen Minuten habe ich bei Aktualisierungen dieser Templateengine immer in meiner lokalen Arbeitskopie Smarty gelöscht und anschließend das heruntergeladene Archiv der neuen Version wieder entpackt und in das SVN eingecheckt. Eine prinzipiell unnötige Arbeit, da Smarty bereits in einem SVN im Web bereitgestellt wird.&lt;/p&gt;</description>
      
         <content:encoded><![CDATA[<p>Seit einiger Zeit arbeite ich bereits mit SVN in meinen Programmierprojekten, da es eine große Hilfe beim Rückgängigmachen von fehlerhaften Implementierungen ist und die Zusammenarbeit zwischen mehreren Leuten stark vereinfacht. Derzeit verwende ich in meinen PHP-Projekten gerne das Template-System <link rel=dns-prefetch href=//www.smarty.net /> <a href="http://www.smarty.net/"
    title="Smarty" 
     target="_blank" rel="nofollow noopener noreferrer" >
  Smarty&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a>, da es recht schnell und unkompliziert arbeitet. Bis vor wenigen Minuten habe ich bei Aktualisierungen dieser Templateengine immer in meiner lokalen Arbeitskopie Smarty gelöscht und anschließend das heruntergeladene Archiv der neuen Version wieder entpackt und in das SVN eingecheckt. Eine prinzipiell unnötige Arbeit, da Smarty bereits in einem SVN im Web bereitgestellt wird.</p>
<p>Der Vorgang ist nun folgender:
Bei einem Checkout in eine lokale Arbeitskopie, wird von extern Smarty (In diesem Fall dem <link rel=dns-prefetch href=//smarty-php.googlecode.com /> <a href="http://smarty-php.googlecode.com/svn/"
    title="SVN von Smarty auf googlecode" 
     target="_blank" rel="nofollow noopener noreferrer" >
  SVN von Smarty auf googlecode&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a>) ausgecheckt. Was genau ausgecheckt wird, wird durch die Eigenschaft svn:externals festgelegt. Ich möchte ind en folgenden Beispielen im Verzeichnis libs einen Ordner namens Smarty haben, in dem die derzeit aktuelle Stable-Version von Smarty abgelegt wird.
Ich demonstriere den Vorgang zunächst anhand des Windows-Tools <link rel=dns-prefetch href=//tortoisesvn.tigris.org /> <a href="http://tortoisesvn.tigris.org/"
    title="TortoiseSVN" 
     target="_blank" rel="nofollow noopener noreferrer" >
  TortoiseSVN&nbsp;<svg xmlns="http://www.w3.org/2000/svg" class="icon" aria-hidden="true" focusable="false" viewBox="0 -128 512 640">
    <path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/>
  </svg></a>:</p>
<p><img src="/upload/2008/05/1306-tortoisesvn-1.webp" alt="TortoiseSVN" loading="lazy" title="1306-tortoisesvn-1"></p>
<p>Zunächst macht man einen Rechtsklick im Ordner &ldquo;libs&rdquo; und wählt im Menü &ldquo;TortoiseSVN&rdquo; den Punkt &ldquo;Eigenschaften&rdquo; aus.</p>
<p><img src="/upload/2008/05/1306-tortoisesvn-2.webp" alt="TortoiseSVN" loading="lazy" title="1306-tortoisesvn-2"></p>
<p>Im sich nun öffnenden Fenster klickt man auf &ldquo;Hinzufügen&rdquo;. Dort wählt man im Dropdown &ldquo;<code>svn:externals</code>&rdquo; aus und im Eingabefeld wird nun der gewünschte Ordner &ldquo;<code>Smarty</code>&rdquo; sowie die URL der gewünschten Version (derzeit 2.6.19) von Smarty angegeben, was in meinem Falle nun:</p>
<p><code>Smarty http://smarty-php.googlecode.com/svn/tags/Smarty_2_6_19/libs/</code></p>
<p>lautet.</p>
<p><img src="/upload/2008/05/1306-tortoisesvn-3.webp" alt="TortoiseSVN" loading="lazy" title="1306-tortoisesvn-3"></p>
<p>Nach dem ersten Klick auf OK, sollte das in etwa wie auf dem Bild links aussehen. Nach einem weiteren OK sollte nun die Arbeitskopie aktualisiert werden, womit Smarty importiert wird. Anschließend muss man noch einmal übertragen (commit), um die Eigenschaft &ldquo;<code>svn:externals</code>&rdquo; im SVN zu speichern. Die Kopie von Smarty wird hierbei jedoch NICHT übertragen, diese wird bei jedem Client dann von extern geupdatet.</p>
<p>Alternativ gibt es die Kommandozeilenbefehle:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">svn propset svn:externals <span class="s2">&#34;Smarty http://smarty-php.googlecode.com/svn/tags/Smarty_2_6_22/libs/&#34;</span> libs
</span></span><span class="line"><span class="cl">svn up
</span></span><span class="line"><span class="cl">svn commit
</span></span></code></pre></td></tr></table>
</div>
</div><p>Der Vorteil ist nun, dass bei Updates von Smarty nur die Variable svn:externals für das Verzeichnis libs aktualisiert werden muss. Prinzipiell könnte man diese auch auf den trunk setzen, um immer die aktuellste Version zu haben, jedoch hat man damit auch durchaus gelegentlich eine nicht funktionierende Version in der Arbeitskopie, was für die Entwicklung hinderlich ist.</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
