1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Updates vereinfachen, Projekte vergleichen?

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von MrNase, 27.08.08.

  1. MrNase

    MrNase Champagner Reinette

    Dabei seit:
    11.01.05
    Beiträge:
    2.643
    Moin!

    Mal ne Frage an die fortgeschrittenen User: Wie macht ihr das mit regelmäßigen Updates der eingesetzten Software?

    Ich hab einen Haufen Dateien und teilweise Änderungen in den Dateien vorgenommen. Wenn eine neue Version rauskommt muss ich jede alte Datei auf Änderungen durchsuchen und die dann in die neue Version übernehmen.

    Wie vereinfacht ihr die Prozedur? Mir würde eine Software reichen die beide Versionen vergleicht, mir Änderungen anzeigt und mir erlaubt die Änderungen von der einen zur anderen Version zu retten.
    Der Filter müsste aber einstellbar sein, weil sich z.B. in den Dateien die ersten 10 Zeilen _immer_ ändern und ich daher jede Datei angezeigt bekäme und nicht nur die mit inhaltlichen Änderungen. :)

    Edit sagt:
    FileMerge ist mir bekannt, allerdings kann ich da keine bestimmten Merkmale ausschließen und stosse daher auf oben erwähntes Problem.
     
  2. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    Da kann ich Dir jetzt noch nicht ganz folgen was Du erreichen möchtest. Gehts da um Textkonfigurationsdateien (Unixoides) oder um Dokumente (Text oder Binäre Daten) oder um Applikationen? Noch bin ich etwas verwirrt was die eigentliche Frage- bzw. Aufgabenstellung ist nach deren Praktik Du fragst.
    Gruß Pepi
     
  3. drlecter

    drlecter Wöbers Rambur

    Dabei seit:
    04.11.06
    Beiträge:
    6.442
    Also wenn ich das richtig verstanden habe willst du Sourcecode verwalten. Ich denke mal das du ein System in PHP/Perl am laufen hast und selber auch Modifikationen vorgenommen hast. Nur sind diese, sobald eine neue Version raus ist, natürlich weg.
    Du könntest natürlich es mal mit diff und patch versuchen. Du kannst es auch vielleicht mithilfe von Perl versuchen. Schau dich evtl. mal bei freshmeat und sourceforge um. Es könnte sowas schon im Bereich Sourcecode Verwaltung geben.
     
  4. atomfried

    atomfried Leipziger Reinette

    Dabei seit:
    02.04.05
    Beiträge:
    1.781
    ich sage mal nur "diff". einfach mal googlen.
    wenn mehrere leute an den selben arbeiten dann verwende ich dafür immer CVS. hier mal am besten nach "turtoise" googlen.
     
  5. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    Von CVS als Versionskontrolle kann ich heutzutage doch eher nur abraten. Einige OSS Projekte verwenden es noch konsequent (wie beispielsweise Drupal) aber Anfangen würde ich damit sicher nicht mehr.
    Wenn immer Zugang zum Repository besteht dann ist Subversion ein nicht ganz simples aber sehr brauchbares Tool. Ganz besonders in Verwendung mit einem eigenen SVN Server (der natürlich gerne auf einem Mac laufen kann). Sinnvoll arbeiten kann man damit aber dann nur wenn man eben auch Verbindung zu diesem Server aufbauen kann.

    Alternativ zu SVN sind heutzutage Mercurial und Git interessante Kandidaten wenns um Verteilte Repositories geht wo man auch mal offline ein wenig was coden können möchte ohne für diesen Zeitraum auf Checkins verzichten zu müssen.

    Wenns wirklich um Text-Code welcher Art auch immer geht dann ist diff/patch durchaus ein gangbarer Weg. Vielleicht ist Dein Patch ja sogar für das ursprüngliche Projekt interessant?
    Gruß Pepi
     
  6. MrNase

    MrNase Champagner Reinette

    Dabei seit:
    11.01.05
    Beiträge:
    2.643
    Uih, ich war gestern verwirrt. Sorry. :(

    Es handelt sich tatsächlich um Code, verpackt in gaaaaanz viele PHP-Dateien (knapp über 700). Die Dateinamen sind von Version zu Version gleich, lediglich der Inhalt ändert sich:

    a) IMMER minimal (nur die ersten und letzten Zeilen - da steht z.B. die aktuelle Version drin
    b) MANCHMAL nur teilweise, Code wird ersetzt oder ergänzt.


    Dateien die sich nur in Punkt a) unterscheiden kann ich gefahrlos überschreiben.

    Dateien die sich in Punkt b) unterscheiden muss ich manuell bearbeiten und MEINE Änderungen von der alten in die neue Version portieren.

    Ich hab es mit FileMerge (Developer Tools) versucht, da kann ich allerdings keine Dateien ausblenden auf die Punkt a) zutrifft. Deswegen müsste ich da trotzdem noch alle Dateien durchgehen und nach größeren Änderungen suchen.

    Die von mir gesuchte Lösung müsste garnicht einmal automatisch ablaufen, ein wenig automatisierung wäre allerdings nicht schlecht. :)
     
  7. drlecter

    drlecter Wöbers Rambur

    Dabei seit:
    04.11.06
    Beiträge:
    6.442
    Schau dir mal diff an (wie oben erwähnt). Es gibt auch grafische Frontends hierfür.
     
  8. Maluku

    Maluku Finkenwerder Herbstprinz

    Dabei seit:
    10.05.08
    Beiträge:
    464
    Am besten bist du dran, wenn du dir diesen PHP-Code, den du bestimmt irgendwo her hast, schon Subversion(SVN) oder CVS benutzt: (Wie viele open-source sachen eh schon)
    Dann holst du dir einen SVN-Client, installierst den und lädts das "Repository" von deinem PHP-Code Distributor runter. (Das nennt sich dann Checkout) Danach passt du nocheinmal alles manuell an und benutzt es. Wenn sich dann etwas ändert am Orginalcode machst du nochmal den "update"-befehl und zumindest SVN würde automatisch die geänderten Dateien aktualisieren und deine Änderungen wieder mit einfügen. (Das nennt man "automerge"). Kann er irgendetwas nicht automatisch machen (kommt selten vor) weißt er dich darauf hin und du kannst es selbst machen.

    Bietet der Distributor kein SVN an, installierst du die Orginalversion in einen Ordner und machst noch einen für die angepasste Version. Dann installierst den SVN-Standalone-server und machst ein Checkout auf beide Ordner. Danach fügst du alle Elemente der Orginalversion hinzu (add), lädst die hoch(commit) und machst ein update im zweiten, angepassten Ordner und fügst die Änderungen da ein.
    Jedesmal wenn eine neue Version rauskommt, überschreibst du die Dateien im Orginalordner, fügst alle eventuellen hinzugekommenen Dateien hinzu (wieder mit add) und machst ein commit (TortoiseSVN für Windows zeigt dir im Commit-Dialog sowieso alle Dateien an, die noch nicht hinzugefügt wurden, dann machst du da einfach "Select All", brauchst kein "Add", macht er dann automatisch). Dann machst du im angepassten Ordner wieder ein Update und wie oben werden alle Dateien automatisch geändert.

    Vielleicht wär es mal sinnvoll, wenn du sagst um welchen PHP Code es sich handelt.
     

Diese Seite empfehlen