Websoftware für SVN + Projekte

Ich überlege meine Projekte die ich habe vielleicht etwas öffentlicher zu machen und suche daher irgendwie eine Software die mir das etwas einfacher gestalltet.
Kennt ihr da irgendwelche Software die einen da unterstützt um zum einen das Repository darzustellen und auch eine kleine Webseite zu dem Projekt zu erstellen?
Ähnlich wie es GitHub & Co haben.

Es gibt zB. GitLab.

Ansonsten vielleicht Redmine, doer alles selber zusammensetzten aus Apache + SVN und dann noch ein Wiki oder so.

Würde dir entweder GitHub empfehlen oder wenn du umbedingt das auf einen eigenen Server machst, GitLab. Vergiss SVN :stuck_out_tongue_winking_eye:

GitHub hat halt den Vorteil du kannst mithilfe von GitHub Pages gleich ne schöne (statische) Seite dazu gestalten.

Ich glaube http://bettercodes.org/ kann auch SVN Repos, wenn es nicht bei SVN bleiben muss, würde ich auch Github empfehlen.

Bei Github kann man Dienste wie Travis CI für Continuous Integration, uvm. sehr gut einbinden und entsprechend viel automatisieren.

Und man kann sich das alles in anderen Github Projekten anschauen, quasi als Dokumentation.

Ne zu GIT werde ich nicht gehen, für mich überwiegen die Nachteile den Vorteilen zu SVN. Aber dazu will ich hier keine Diskusion losbrechen :wink:

Ich hab ja alles schon, es steht intern eine komplette CI/CD Umgebung nur hab ich mir überlegt das etwas offener zu gestalten.

GitLab sieht echt gut aus, aber warum kann das nur GIT und kein SVN:aufreg:

Git hat keine Nachteile :stuck_out_tongue:

Google Code hat doch SVN.

Rose es geht mir um eine Software die ich auf meinen Server packen kann.
Ich hab ja SVN und alles was ich brauche, ich suche nur eine Software die es mir ermöglicht dass es nach außen schöner präsentiert werden kann

Wie wärs mit ChilliProject oder trac?

[QUOTE=EagleEye]Rose es geht mir um eine Software die ich auf meinen Server packen kann.
Ich hab ja SVN und alles was ich brauche, ich suche nur eine Software die es mir ermöglicht dass es nach außen schöner präsentiert werden kann[/QUOTE]

Achso, du möchtest also alles selbst hosten und verwalten. Dann ist die Frage, was genau fehlt dir? Du hast SVN, CI/CD, und was noch?

Es gibt ja noch so einiges was man da machen könnte, z.B. einen Sonar Server für QA Reports, Issue Tracker, Wiki, Forum, etc.

Jemand hat es bereits schon genannt, Redmine wäre sicher ein Blick wert. Für den Fokus auf Code Review gibt es http://www.reviewboard.org/ was SVN unterstützt.

Was ich suche ist die Präsentation des gesamten, das was man technisch braucht hab ich alles da (Jenkins, Sonar, kleiner Bugtracker, SVN/GIT)

Dann mit halt trac oder chili project

ich hatte glaube ich damals WebSVN probiert um die Quellcodes vom Spiel schöner darstellen zu können. Allerdings musste irgendwie Zugriff aufs Dateisystem frei gegeben werden, das war mir dann wiederum zu öh - nö.

das SVN-Log erzeuge ich alles 5 (?) Minuten per Cron:


<?php                                                                                                               

        // x8Bit.de - 2004 - AGPL                      

        // Datenbank vorbereiten                                                                                    
        $db = mysql_connect("127.0.0.1", "", "") or die(mysql_error());                                       
        $db_check = mysql_select_db("mantis") or die(mysql_error());                                          
                                                                                                                    
        // das ist das ChangeLog-File                                                                               
        global $_CONFIG;                                                                                            
        $path = $_CONFIG["downloadpath"];                                                                           
        $file = fopen("$path/changelog.txt", "r");                                                                  
                                                                                                                    
        function PreReplace($help)
        {
                $line = $help;
                $line = str_replace("?\\195?\\164", "ä", $line);
                $line = str_replace("?\\195?\\182", "ö", $line);
                $line = str_replace("?\\195?\\188", "ü", $line);
                $line = str_replace("?\\195?\\159", "ß", $line);
                $line = str_replace("?\\195?\\132", "Ä", $line);
                $line = str_replace("?\\195?\\150", "Ö", $line);
                $line = str_replace("?\\195?\\156", "Ü", $line);

                $line = str_replace(">", ">", $line);
                $line = str_replace("<", "<", $line);

                return $line;
        }

        function PostReplace($help)
        {
                $line = $help;
                $line = str_replace("Ü", "Ü", $line);
                $line = str_replace("ü", "ü", $line);
                $line = str_replace("Ö", "Ö", $line);
                $line = str_replace("ö", "ö", $line);
                $line = str_replace("Ä", "Ä", $line);
                $line = str_replace("ä", "ä", $line);
                $line = str_replace("ß", "ß", $line);

                return $line;
        }

        function MantisReplace($line)
        {
                $id = intval(str_replace("#", "", $line));
                $result = db_select("SELECT * FROM mantis.mantis_bug_table WHERE id=".$id);
                $line = $result[0]['summary'];
                $line = "Mantis-BugFix (ID#$id)<br/><a href=\"?site=development&action=api&modus=bugs&link=".urldecode("view.php?id=$id")."\">$line</a><br/><br/>";
                return $line;
        }

        $total = 0;
        $id = "";

        while($line = fgets($file, 1024))
        {
                //echo "LINE: ".strlen($line)."chars -> '$line'</br>"; continue;
                if (strpos($line, ".html") > 0) continue;
                if (strncmp($line, "-----", 5) == 0)
                {
                        $total++;
                        if ($total > 25) break; // nicht zuviele anzeigen
                        continue;
                }
                if (strncmp($line, "r", 1) == 0)
                {
                        $part = explode("|", $line);
                        if (count($part) > 2)
                        {
                                $id = trim($part[0]);
                                echo "<a name=\"$id\"/><br/>";
                                /* bad */ echo "</ul>";
                                echo "<hr/>";
                                $commit = str_replace("r", "Commit #", $part[0]);
                                echo "<b>$commit</b> von $part[1] (<i>$part[2]</i>)";
                                continue;
                        } else
                        {
                                // ein Zeile fängt mit einem "r" an (z.B. "resolved")
                        }
                }
                if (!strncmp($line, "Geänder", 7))
                {
//                      echo " <a href=\"#$id\" onclick=\"anzeigen('$id')\">Details</a>";
                        echo " <span style=\"cursor:help;\" onclick=\"anzeigen('$id')\">Details</span>";
                        echo "<ul id=\"$id\" style=\"display: none;\">";
                        continue;
                }
                if (strlen($line) == 1) // wirklich eine Leerzeile !!
                {
                        echo "</ul><ul>";
                        continue;
                }
                if (!strncmp($line, "   ", 3)) // Zeile mit einer Datei die geändert wurde
                {
                        $link = substr($line, 5);
                        $char = substr($line, 3, 1);
                        $line = "<a href=\"http://www.fantasya-pbem.de/source$link\" target=\"_blank\">$link</a>";
                        if (!strcmp($char, "M")) $line = "~ ".$line;
                        if (!strcmp($char, "A")) $line = "+ ".$line;
                        if (!strcmp($char, "D")) $line = "- ".$line;
                        echo "<li>".$line."</li>";
                        continue;
                }

                // Zeichencodierung
                $line = PreReplace($line);
                // Mantis Eintrag filtern und anpassen
                if ((strncmp($line, "#", 1) == 0)) $line = MantisReplace($line);
                // RAW-Umlaute noch anpassen ... kommen aus der DB
                $line = PostReplace($line);
                // und ausgeben
                if (strlen($line) > 1) echo "<li>".$line."</li>";
        }
        fclose($file);

?>

</ul>
<br/><br/>

Ok, du hast also alles außer was für die Präsentation. Dann frage ich mich, wie willst du präsentieren? Hast du ein Beispiel?

Für die Präsentation würde ja eine Domain + HTML Seite schon ausreichen. Die Startseite verlinkt dann auf deine ganzen Dienste. Aber das möchtest du wahrscheinlich eher nicht.

Chilli hatte ich mir gestern mal kurz angesehen und das sah echt gut aus.
@deetee ich hab aktuell für diese Sachen nur ein WebSVN Plugin im Apachen, für den Zugriff übereinen SVN Client ist das super, aber für eine Projekt Seite ist das nix.
Und ich will die halt alle etwas bündeln und nicht mal hier und mal da ne Konfiguration ändern müssen. Daher der Plan eine Software haben die das kann.

super hab mir gerade Chili aufgesetzt und auf den ersten Blick ists genau das was ich wollte :slight_smile: