1 | 52,57d51 |
2 | < else if ( strcmp ($_REQUEST["action"], "edit_category") == 0 ) |
3 | < { |
4 | < $query = "UPDATE parts SET id_category=". smart_escape($_REQUEST["p_category"]) ." WHERE id=". smart_escape($_REQUEST["pid"]) ." LIMIT 1;"; |
5 | < debug_print ($query); |
6 | < mysql_query ($query); |
7 | < } |
Tut das nich das von Linux? 'patch' ? http://linux.die.net/man/1/patch http://de.wikipedia.org/wiki/Diff#Ausgabe
Es geht um die Patches hier: http://www.mikrocontroller.net/articles/Part-db_Lagerverwaltung Wenn es eine Eingabe für patch wäre, müßte eigentlich irgendwo im Patch ein Filename stehen. So kann man leider nur rätseln, was gemeint ist. Es ist schon ziemlich ärgerlich, wenn dermaßen schlampig dokumentiert wird, wie in diesem Projekt... Aber leider ist es keine Ausnahme.
Hallo Uhu, das steht doch dort: die Datei "editpartinfo.php" kopiert aus http://www.mikrocontroller.net/articles/Part-db_Lagerverwaltung ... Dieser Patch ermöglicht die Änderung der Kategorie eines Bauteils (editpartinfo.php, Version 0.1d): 52,57d51 < else if ( strcmp ($_REQUEST["action"], "edit_category") == 0 ) < { < $query = "UPDATE parts SET id_category=". smart_escape($_REQUEST["p_category"]) ." WHERE id=". smart_escape($_REQUEST["pid"]) ." LIMIT 1;"; < debug_print ($query); < mysql_query ($query); ...
Moeglicherweise habe ich Deine Frage missverstanden. Das Programm DIFF erzeugt diesen Ausdruck (Zeilen mit '>'). Und dieser Ausdruck (Zeilen mit '>') bezieht sich auf das Programm/Datei "editpartinfo.php". Man koennte mit einem Editor per Hand diese Zeilen einfuegen (aber ohne den '>'/'<' !!!!). Wie das komfortabler geht, weiss ich nicht. Bei wenigen Dateien arbeite ich mit Editoren.
patch gibt man als Parameter nur die Patchdatei an. Deshalb muß in dieser Datei spezifiziert sein, auf welche Datei er anzuwenden ist. Soweit ich das sehe, ist patch nicht der passende Kandidat.
Uhu Uhuhu wrote: > patch gibt man als Parameter nur die Patchdatei an. Deshalb muß in > dieser Datei spezifiziert sein, auf welche Datei er anzuwenden ist. Nein.
1 | SYNOPSIS |
2 | patch [options] [originalfile [patchfile]] |
Der Patch läßt sich nicht anweden - patch steigt mit Fehlern aus.
uhu@lx5:~/tmp$ patch editpartinfo.php patch patching file editpartinfo.php Reversed (or previously applied) patch detected! Assume -R? [n] Apply anyway? [n] y Hunk #1 FAILED at 52. Hunk #2 FAILED at 295. 2 out of 2 hunks FAILED -- saving rejects to file editpartinfo.php.rej Wenn ich bei Assume -R y angebe, gehts auch schief. Ein kleiner Gag am Rande: Wenn man den Text des Patches von http://www.mikrocontroller.net/articles/Part-db_Lagerverwaltung kopiert, dann muß man erst mal Leerzeichen hinter dem < von Leerzeilen einfügen, damit patch den Text akzeptiert. Ich hoffe, daß ich den Code der Version 0.1d von http://www.cl-projects.de/projects/part-db/ gesaugt habe - die aktuelle Versionsnummer steht nämlich auch nicht drin. (Es war das, was angeblich 0.1d ist.)
> Hunk #1 FAILED at 52. > Hunk #2 FAILED at 295. Da passt der Patch offensichtlich nicht zur Originaldatei. Wenn man dieses liest "Dieser Patch (showparts.php, Version 0.1d) liefert einen Button in der Teileliste, um Unterkategorien ausblenden zu können: (Dieser Patch wurde mittlerweile in den internen Code eingefügt.)" überkommt einen sowieso ein wenig das Gefühl, dass da wohl Änderungen am Code vorgenommen werden, ohne die Versionsnummer hochzuzählen. Der Text bezieht sich zwar auf showparts.php, aber warum sollte es bei editpartinfo.php anders sein? Da bleibt wohl nur, zu versuchen, den Code halbwegs zu verstehen und die Patches manuell einzufügen ;-)
yalu wrote: > Da passt der Patch offensichtlich nicht zur Originaldatei. Offensichtlich. > Da bleibt wohl nur, zu versuchen, den Code halbwegs zu verstehen und die > Patches manuell einzufügen ;-) Das scheint mir auch. Nur schade, daß solche elenden Baustellen hier abgeladen werden.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.