Anleitung zum einspielen von Patch Files

Kein System ist vollkommen, findet Ihr Fehler im System, könnt ihr diese hier gerne Posten. Wir werden auch kurzfistige Lösungen und Fixes hier schreiben.

Moderatoren: Magnus, mmaass, ablass

Anleitung zum einspielen von Patch Files

Beitragvon ablass » Di 19. Jun 2012, 11:40

Ab sofort werden wir Patches hier im Forum in Form von .patch Files bereitstellen, die im Unified Diff Format aufgebaut sind.
Eine kurze Einführung hierzu findet man z.B. bei Wikipedia.
Unter Unix/Linux gibt es das Kommandozeilentool patch um den File einzuspielen, für Windows gibt es verschiedene Tools wie z.B. dieses hier.
Hat man einen Shell Zugang zu dem Unix/Linux Server auf dem der Shop gehostet ist, gestaltet sich die Sache recht simpel:
Man spielt sich das patch file per FTP irgendwo in ein temporäres Verzeichnis auf den Server und wechselt dann in das Verzeichnis des Randshops.
Nun kann man mittels folgendem Kommando den Patch einspielen:
patch -p1 < PFADZURPATCHDATEI

Hat man keinen Root Zugang gibt es 2 Möglichkeiten:
Man lädt sich den Shop lokal herunter, patcht ihn lokal mittels patch Kommando und spielt die gepatchten Dateien wieder auf den Server.
Oder man führt den Patch manuell durch. Dazu schaut man in das .patch File rein, welche Dateien gepatcht werden müssen. Diese lädt man sich vom Server runter und öffnet sie lokal in einem UTF8 fähigen (!) Editor. Im Patch File steht zu jedem File ein oder mehrere Zeilen mit - oder + am Zeilenanfang. Zeilen mit - am Anfang sind im zu patchenden File zu löschen, Zeilen mit + sind hinzuzufügen. Diese Änderungen führt man nun manuell im Editor durch und lädt anschliessend die Datei(en) wieder zum Server hoch.
ablass
 
Beiträge: 126
Registriert: Mi 22. Jul 2009, 07:56

Re: Anleitung zum einspielen von Patch Files

Beitragvon Magnus » Di 19. Jun 2012, 17:28

finde ich für Entwickler zwar ganz nett, für eure typische Klientel aber absolut unbrauchbar.
Da hat jeder zweite oft schon Mühe , in einem Texteditor den Zeichensatz auf UTF8 umzustellen. Wie sollen die auf dem Server so mal schnell einen Patch einspielen?
Ganz abgesehen, davon, dass man das nicht ohne Testen auf dem Live-System machen sollte.

Ich fände es besser die Dateien anzubieten, incl. der Beschreibung wo die hingehören. Oder im Backend eine saubere Update-Funktion, so richtig mit Import von eurem Server.

viele Grüße

Magnus
Magnus
 
Beiträge: 1602
Registriert: Mi 21. Feb 2007, 21:10

Re: Anleitung zum einspielen von Patch Files

Beitragvon mmaass » Mi 20. Jun 2012, 09:38

Die Dateien werden wir auch in Zukunft noch anbieten.
Der Patch ist für die, die auch Änderungen an Ihrem Code gemacht haben.

Der Sinn der Sache ist, dass wir intern mit den Patches schon arbeiten, damit wir in Zukunft für unsere Updatefunktion im Admin dies benutzen können.
Denn damit sollte es später möglich sein, die Updates auch auf Versionen so hin zu bekommen, dass eigene Änderungen nicht überschrieben werden.
So der Plan, dass hat natürlich noch einiges an Entwicklungsszeit vor sich. :)
www.randshop.com
Entwicklung - Anpassung - Support
Benutzeravatar
mmaass
Admin
 
Beiträge: 5185
Registriert: Di 24. Aug 2004, 17:44
Wohnort: Berlin

Re: Anleitung zum einspielen von Patch Files

Beitragvon Magnus » Mi 20. Jun 2012, 16:46

Der Patch ist für die, die auch Änderungen an Ihrem Code gemacht haben.


Das kann eigentlich kaum zuverlässig funktionieren. Möglicherweise kommt es durch eine Korrektur(Patch) erst zu Fehlverhalten in Verbindung mit der selbst durchgeführten Anpassung/Erweiterung. Dann ist die Fehlersuche wieder recht kniffelig :-( werden mehrere Patches gleichzeitig in verschiedene Dateien des liveSystems eingespielt wirds richtig lustig.

Funktionieren kann das eigentlich nur dann sauber, wenn Core und Erweiterung getrennt gespeichert werden.
Also z.B. wird bei includes zuerst nachgesehen, ob eine gleichnamige Datei im Erweiterungsordner vorhanden ist, wenn ja, wird die eingebunden, wenn nicht dann das Original. (Nur mal so auf die Schnelle angedacht, ist natürlich ausbaufähig)
So könnte ich meine Anpassungen durchführen und die bleiben bei Updates auch erhalten (müssen eventuell an die neue Version angepasst werden), weil der Erweiterungen-Ordner natürlich nicht geupdatet wird.
Die Patches würden dann natürlich auch nur "Core"-Dateien aktualisieren.

Feiner ging das mit objektorientierter Programmierung, da konnte per extends die OriginalKlasse verwendet und erweitert werden ...

Aber ich schätze, ihr werdet euch da schon noch Gedanken machen ;-)

viele Grüße

Magnus

viele Grüße

Magnus
Magnus
 
Beiträge: 1602
Registriert: Mi 21. Feb 2007, 21:10

Re: Anleitung zum einspielen von Patch Files

Beitragvon mmaass » Do 21. Jun 2012, 09:16

Jo, dass ist noch nicht ausgesponnen. :)
Die Sache mit der Trennung ist auch im Kopf. Ist halt recht komplex, dass vernünftig hin zu bekommen. Mal schauen, ist nur eine Frage der Zeit, dass wird. :)
www.randshop.com
Entwicklung - Anpassung - Support
Benutzeravatar
mmaass
Admin
 
Beiträge: 5185
Registriert: Di 24. Aug 2004, 17:44
Wohnort: Berlin


Zurück zu Bugmeldungen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste