Forum: PC-Programmierung Welches Programm führt diese Art von Patches aus?


von Uhu U. (uhu)


Lesenswert?

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
<       }

von Sven P. (Gast)


Lesenswert?


von Uhu U. (uhu)


Lesenswert?

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.

von Jürgen G. (jg32)


Lesenswert?

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);
...

von Jürgen G. (jg32)


Lesenswert?

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.

von Uhu U. (uhu)


Lesenswert?

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.

von Stefan E. (sternst)


Lesenswert?

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]]

von Uhu U. (uhu)


Lesenswert?

Der Patch läßt sich nicht anweden - patch steigt mit Fehlern aus.

von yalu (Gast)


Lesenswert?

Welche Fehler?

von Uhu U. (uhu)


Lesenswert?

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.)

von yalu (Gast)


Lesenswert?

> 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 ;-)

von Uhu U. (uhu)


Lesenswert?

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
Noch kein Account? Hier anmelden.