<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>Netz - Rettung - Recht (Artikel mit Tag mantis)</title>
    <link>https://netz-rettung-recht.de/</link>
    <description>Netzleben, Rettungs- und Rechtswesen</description>
    <dc:language>de</dc:language>
    <generator>Serendipity 2.5.0 - http://www.s9y.org/</generator>
    <pubDate>Sun, 11 May 2014 23:17:44 GMT</pubDate>

    <image>
    <url>https://netz-rettung-recht.de/templates/2k11/img/s9y_banner_small.png</url>
    <title>RSS: Netz - Rettung - Recht - Netzleben, Rettungs- und Rechtswesen</title>
    <link>https://netz-rettung-recht.de/</link>
    <width>100</width>
    <height>21</height>
</image>

<item>
    <title>Mantis: Git-Integration - ein steiniger Weg</title>
    <link>https://netz-rettung-recht.de/archives/1590-Mantis-Git-Integration-ein-steiniger-Weg.html</link>
            <category>Bits'n'Bytes</category>
    
    <comments>https://netz-rettung-recht.de/archives/1590-Mantis-Git-Integration-ein-steiniger-Weg.html#comments</comments>
    <wfw:comment>https://netz-rettung-recht.de/wfwcomment.php?cid=1590</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>https://netz-rettung-recht.de/rss.php?version=2.0&amp;type=comments&amp;cid=1590</wfw:commentRss>
    

    <author>nospam@example.com (Thomas Hochstein)</author>
    <content:encoded>
    &lt;p&gt;Sehr praktisch ist es bei einem Bugtracker, wenn er mit dem verwendeten Versions-/Sourcecode-Verwaltungssystem (SCM-System, &lt;em&gt;source code management&lt;/em&gt;) interagieren kann, Änderungen im Code, die - laut Kommentar (Commit-Message) - einen bestimmten Fehler beheben, also direkt auch dazu führen, daß der entsprechende Fehlerbericht (Bugreport) als erledigt gekennzeichnet wird. Man kennt dieses Verhalten - bspw. - vom Debian-Bugtracker.&lt;/p&gt;

&lt;p&gt;Grundsätzlich ist das auch schon immer mit Mantis möglich; allerdings war die bisher vorhandene Unterstützung rudimentär und primär auf SVN abgestellt; sie wurde auch in der aktuellen Entwicklungsversion 1.3 entfernt. Seit Anfang 2009 gibt es nämlich von einem der Mantis-Entwickler, &lt;a href=&quot;http://leetcode.net/&quot; title=&quot;301 Moved Permanently&quot;&gt;John Reese&lt;/a&gt;, ein Plugin namens &lt;em&gt;Source Control Integration&lt;/em&gt;, das sich beim Bugtracker für Mantis selbst bereits seit Monaten im Echtbetrieb bewährt hat. Es liefert ein Framework für die Anbindung beliebiger Versionsverwaltungssysteme, und fertige Plugins für die Anbindung an &lt;em&gt;git&lt;/em&gt; via &lt;em&gt;GitHub&lt;/em&gt; oder &lt;em&gt;GitWeb&lt;/em&gt; und an &lt;em&gt;SVN&lt;/em&gt; via &lt;em&gt;SourceForge&lt;/em&gt; oder &lt;em&gt;WebSVN&lt;/em&gt; sind direkt dabei.&lt;/p&gt;

&lt;p&gt;Leider ist &lt;a title=&quot;Mantis Bug Tracker und Mantis Graph 1.0&quot; href=&quot;https://netz-rettung-recht.de/archives/1589-Mantis-Bug-Tracker-und-Mantis-Graphs-1.0.html&quot;&gt;auch hier&lt;/a&gt; die Dokumentation der schwache Punkt. Eine solche fehlt nämlich bisher völlig; einen Einstieg liefert einzig ein &lt;a title=&quot;Leetcode: Integrating Git and SVN with the Mantis Bug Tracker&quot; href=&quot;http://leetcode.net/blog/2009/01/integrating-git-svn-with-mantisbt/&quot;&gt;Blogbeitrag&lt;/a&gt; vom 07.01.2009, der die Vorgehensweise beschreibt. Weitere Blogbeiträge (von &lt;a title=&quot;Leetcode: Integrating Source Control Tools with Mantis Bug Tracker&quot; href=&quot;http://leetcode.net/blog/2009/03/integrating-source-control-with-mantisbt/&quot;&gt;März&lt;/a&gt; und &lt;a title=&quot;Leetcode: Detailed Integration of Subversion in MantisBT&quot; href=&quot;http://leetcode.net/blog/2009/10/detailed-integration-of-subversion-in-mantisbt/&quot;&gt;Oktober&lt;/a&gt; 2009) umreißen die technischen Grundlagen und beschreiben den Einsatz für Subversion, helfen aber ansonsten auch nicht wirklich weiter.&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Ich habe mir die Vorgehensweise bisher folgendermaßen zusammengereimt:&lt;/p&gt;

&lt;ul&gt; 
&lt;li&gt;Download der nötigen Plugins (&lt;a title=&quot;Git-Repository für das Meta-Plugin&quot; href=&quot;http://git.mantisforge.org/w/meta.git&quot;&gt;&lt;em&gt;Meta Programming&lt;/em&gt;&lt;/a&gt;, &lt;a title=&quot;Git-Repository für das Source-Control-Integration-Plugin&quot; href=&quot;http://git.mantisforge.org/w/source-integration.git&quot;&gt;&lt;em&gt;Source Control Integration&lt;/em&gt;&lt;/a&gt; und - in meinem Fall - &lt;em&gt;Gitweb Integration&lt;/em&gt;). Fertige Lösungen scheint es dafür nicht zu geben, die Plugins sind offenbar aus dem Git-Repository des Entwicklers auszuchecken (dabei finden sich die vorgenannten Plugins für die Anbindung an &lt;em&gt;git&lt;/em&gt; und &lt;em&gt;SVN&lt;/em&gt; im selben Repository wie &lt;em&gt;Source Control Integration&lt;/em&gt;). Danach gehören die entsprechenden Verzeichnisse ins Mantis-Plugin-Verzeichnis, das man in Mantis auch unter dem Punkt &lt;strong&gt;[Manage]&lt;/strong&gt; (&lt;em&gt;http://host.domain.example/mantis/manage_overview_page.php&lt;/em&gt;) angezeigt findet.&lt;br /&gt;&lt;u&gt;&lt;strong&gt;UPDATE &lt;/strong&gt;vom 30.10.2012:&lt;/u&gt; Das Git-Repository des Entwicklers ist offenbar nicht mehr aktuell bzw. liegt jetzt bei Github: &lt;em&gt;&lt;a href=&quot;https://github.com/mantisbt-plugins/source-integration&quot; title=&quot;Source-Control-Integration-Plugin bei GitHub&quot;&gt;Source Control Integration&lt;/a&gt;&lt;/em&gt;&lt;br /&gt;Das Plugin &lt;em&gt;Meta Programming&lt;/em&gt; sollte bei Mantis 1.2.x bereits mit dabei sein und muss daher nicht mehr installiert werden..&lt;br /&gt;&lt;/li&gt; 
&lt;/ul&gt;

&lt;ul&gt; 
&lt;li&gt;Anschließend sind die Plugins - in der richtigen Reihenfolge - unter &lt;strong&gt;[Manage Plugins]&lt;/strong&gt; (&lt;em&gt;http://host.domain.example/mantis/manage_plugin_page.php&lt;/em&gt;) zu installieren.&lt;/li&gt; 
&lt;/ul&gt;

&lt;ul&gt; 
&lt;li&gt;Danach kann das Plugin, wie im genannten Blogbeitrag beschrieben, konfiguriert, ein Repository definiert und dieses dann eingelesen werden.&lt;/li&gt; 
&lt;/ul&gt;

&lt;p&gt;Letzteres hat bei mir auf Anhieb zu einer eleganten Fehlermeldung geführt:&lt;/p&gt;

&lt;blockquote&gt; 
&lt;p&gt;APPLICATION ERROR #401&lt;/p&gt; 
&lt;p&gt;Database query failed. Error received from database was #1048: Column &amp;#8216;author&amp;#8217; cannot be null for the query: INSERT INTO mantis_plugin_Source_changeset_table ( repo_id, revision, parent, branch, user_id,timestamp, author, message, info, ported, author_email, committer, committer_email, committer_id) VALUES (&amp;#160;?,&amp;#160;?,&amp;#160;?,&amp;#160;?,&amp;#160;?,&amp;#160;?,&amp;#160;?,&amp;#160;?,&amp;#160;?,&amp;#160;?,&amp;#160;?,&amp;#160;?,&amp;#160;?,&amp;#160;? ).&lt;/p&gt; 
&lt;/blockquote&gt;

&lt;p&gt;Deren Ursache liegt darin, daß das Plugin die Ausgabe von GitWeb nicht richtig parsen kann. In meinem Fall war der Übeltäter die in GitWeb aktivierte Avatar-Funktion; einen &lt;a title=&quot;Leetcode-Mantis-Bug #85&quot; href=&quot;http://leetcode.net/mantis/view.php?id=85#c211&quot;&gt;Patch&lt;/a&gt; dafür findet man im Bugtracker des Entwicklers.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt;&lt;/u&gt; Auch mit der GitWeb-Version 1.7.1 gibt es Schwierigkeiten, namentlich, wenn und weil jetzt die Möglichkeit der Suche nach Commits des jeweiligen Autors aktiviert ist. Wer einen Patch dazu sucht, findet diesen an der bereits genannten Stelle.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;UPDATE &lt;/strong&gt;vom 30.10.2012:&lt;/u&gt; Der Bugtracker des Entwicklers ist auf eine statische Archiv-Version zurückgesetzt und enthält den Patch daher nicht mehr. Er findet sich dafür hier in den Kommentaren. - Die aktuelle Version im Github-Repository des Entwicklers scheint ihn aber im wesentlichen bereits eingebaut zu haben.&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Danach funktionierte der Import aber und lief wie am Schnürchen.&lt;/p&gt;

&lt;p&gt;Jetzt möchte man das nur noch automatisieren; die entsprechende Angabe im genannten Blogbeitrag &amp;#8230;&lt;/p&gt;

&lt;blockquote&gt; 
&lt;p&gt;For Gitweb, SourceForge, or WebSVN integration, find your repository’s 
ID, and setup a cronjob (or something equivalent) to run &amp;quot;curl 
http://yoururl.xyz/mantisbt/plugin.php?page=Source/repo_import_latest&amp;amp;id=&lt;strong&gt;XX&lt;/strong&gt;&amp;quot; &lt;br /&gt;&lt;/p&gt; 
&lt;/blockquote&gt;

&lt;p&gt;&amp;#8230; ist aber leider unzutreffend, denn die entsprechende Seite kann nur durch einen - eingeloggten - Admin aufgerufen werden. Korrekt ist vielmehr der Aufruf von &lt;em&gt;http://host.domain.example/mantis/plugin.php?page=Source/import&amp;amp;id=&lt;strong&gt;XX&lt;/strong&gt;&lt;/em&gt;; das ist die vorgesehene API dafür. Der entsprechende Aufruf kann per Cronjob, aber sicherlich auch als Post-Update-Hook in &lt;em&gt;git&lt;/em&gt; verwirklicht werden:
&lt;code&gt;curl &#039;http://host.domain.example/mantis/plugin.php?page=Source/import&amp;amp;id=XX&#039; &amp;gt; /dev/null&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;/code&gt; &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Über weitere Erfahrungsberichte zu diesem Thema würde ich mich übrigens freuen. &lt;img src=&quot;https://netz-rettung-recht.de/plugins/serendipity_event_emoticate/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; class=&quot;emoticon&quot; /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;img src=&quot;https://ssl-vg03.met.vgwort.de/na/372027f5ecf44224ba8b8a51a6cc2a42&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;&gt; 
    </content:encoded>

    <pubDate>Sat, 15 May 2010 08:46:00 +0000</pubDate>
    <guid isPermaLink="false">https://netz-rettung-recht.de/archives/1590-guid.html</guid>
    <category>anleitung</category>
<category>git</category>
<category>mantis</category>

</item>
<item>
    <title>Mantis Bug Tracker und Mantis Graphs 1.0</title>
    <link>https://netz-rettung-recht.de/archives/1589-Mantis-Bug-Tracker-und-Mantis-Graphs-1.0.html</link>
            <category>Bits'n'Bytes</category>
    
    <comments>https://netz-rettung-recht.de/archives/1589-Mantis-Bug-Tracker-und-Mantis-Graphs-1.0.html#comments</comments>
    <wfw:comment>https://netz-rettung-recht.de/wfwcomment.php?cid=1589</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://netz-rettung-recht.de/rss.php?version=2.0&amp;type=comments&amp;cid=1589</wfw:commentRss>
    

    <author>nospam@example.com (Thomas Hochstein)</author>
    <content:encoded>
    &lt;p&gt;&lt;a title=&quot;Mantis Bug Tracker&quot; href=&quot;http://www.mantisbt.org/&quot;&gt;Mantis&lt;/a&gt; (aktuell in der Version &lt;strong&gt;1.2.1&lt;/strong&gt;) ist ein ganz netter Bugtracker, also ein Ticketsystem (Fallbearbeitungssystem) für die Softwareentwicklung, dessen auffallendstes Manko allerdings die unterirdische Qualität der Dokumentation (weitgehend schlicht nicht vorhanden, ansonsten grob unvollständig oder weit veraltet) ist. &lt;em&gt;*seufz*&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&amp;quot;Mantis Graphs 1.0&amp;quot; ist ein Plugin für Mantis, das graphische Darstellungen ermöglicht, und ich habe heute längere Zeit damit verbracht, es in Betrieb zu setzen, nachdem es immer nur &amp;quot;unable to read/find font&amp;quot; von sich geben wollte. Einer der ersten Schritte war die Installation der msttcorefonts (&lt;em&gt;aptitude install ttf-mscorefonts-installer&lt;/em&gt;), aber das genügte nicht. Längeres Debugging mit eingestreuten Statements im Quellcode ergab schließlich, daß Mantis weder das passende Font-Verzeichnis erkennen noch - bei expliziter Angabe des Verzeichnisses in der Konfiguration mit &lt;em&gt;$g_system_font_folder&lt;/em&gt; - die Fontdatei laden wollte. Die Lösung dafür fand sich in der Dokumentation der PHP-Funktion &lt;em&gt;file_exists()&lt;/em&gt;: diese liefert auch dann &lt;em&gt;false&lt;/em&gt; zurück, wenn auf die entsprechende Datei aufgrund von &lt;a title=&quot;PHP: Security and Safe Mode&quot; href=&quot;http://de.php.net/manual/en/ini.sect.safe-mode.php&quot;&gt;&lt;em&gt;safe_mode&lt;/em&gt;&lt;/a&gt;-Restriktionen nicht zugegriffen werden kann &amp;#8230;&lt;/p&gt;

&lt;p&gt;Und natürlich ist das der Fall: das Font-Verzeichnis - bpw. &lt;em&gt;/usr/share/fonts/truetype/msttcorefonts/&lt;/em&gt; - gehört &lt;em&gt;root&lt;/em&gt;, und die Font-Dateien auch. Jedenfalls ist Owner dieser Dateien niemals der Webserver oder der Benutzer, unter dessen Kennung die PHP-Scripts dank &lt;em&gt;su_php&lt;/em&gt; o.ä. ausgeführt werden. &lt;em&gt;*brummel*&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Es bleibt demnach nur der Verzicht auf die Grafiken oder die Deaktivierung von &lt;em&gt;safe_mode&lt;/em&gt; (für Mantis).&lt;br /&gt;&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Fri, 14 May 2010 16:14:00 +0000</pubDate>
    <guid isPermaLink="false">https://netz-rettung-recht.de/archives/1589-guid.html</guid>
    <category>debian</category>
<category>lenny</category>
<category>mantis</category>
<category>php</category>

</item>

</channel>
</rss>
