• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Updates vereinfachen, Projekte vergleichen?

MrNase

Champagner Reinette
Registriert
11.01.05
Beiträge
2.656
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.
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
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
 

drlecter

Wöbers Rambur
Registriert
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.
 

atomfried

Leipziger Reinette
Registriert
02.04.05
Beiträge
1.804
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.
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
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
 

MrNase

Champagner Reinette
Registriert
11.01.05
Beiträge
2.656
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. :)
 

drlecter

Wöbers Rambur
Registriert
04.11.06
Beiträge
6.442
Schau dir mal diff an (wie oben erwähnt). Es gibt auch grafische Frontends hierfür.
 

Maluku

Finkenwerder Herbstprinz
Registriert
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.