stfischr schrieb:
user unknown schrieb:
stfischr schrieb:
Also willst du im Prinzip sagen, das jeglicher Quelltext nur aus Patches besteht, da er ja niemals in einem Rutsch programmiert wurde?
Nein. Du fidest bei mir auch keinen Hinweis auf "in einem Rutsch" aus dem Du das ableiten kannst.
Naja, die Tatsache, das du jede Korrektur als Patch bezeichnet, auch wenn sie niemals extra ausgeliefert wird, lässt keinen anderen Schluss zu.
Doch, habe ich doch gerade erklärt. Wenn ich eine neue Funktionalität in mein Programm einbaue - sagen wir, der Videoplayer kann jetzt auch Filme rückwärts abspielen. Wieso sollte ich das als Patch bezeichnen?
Mit Ausliefern hat es gleich gar nichts zu tun. Wieso sollte ich einen Patch extra ausliefern?
Angenommen ich sitze am Rechner und streite mich mit uneinsichtigen Mitmenschen um Kaisers Bart - nur mal angenommen - und dann macht mein Mailprogramm "Bing" und ich sehe nach, und ein Patch liegt im Posteingang samt Fehlerbeschreibung, netten Wünschen und so weiter.
Dann schaue ich mir den Fehlerbericht samt Patch an, stelle fest, dass Susi Sorgsam aus dem Senegal Recht hat, und übernehme den Patch - vielleicht durch Anwenden des Programms "Patch", vielleicht mit cut'n'paste, vielleicht in dem ich es nachtippe.
Ins Changelog übernehme ich eine kl. Notiz, und den Versionszähler zähle ich eins hoch und packe wieder alles hübsch als bz2 und lade es hoch mit einer Notiz, was geändert wurde.
Natürlich nenne ich dies einen Patch - wie sonst? Mir wurde ein Patch geschickt und ich habe ihn übernommen. Jetzt enthält meine Software den Patch.
Angenommen ich habe einen Sortieralgorithmus der prima funktioniert ...
dann
... es flickt den Fehler und kann somit als Flicken bezeichnet werden.
Jupp, es ist aber nichtmehr als Patch erkennbar, wenn du das Programm so auslieferst. Niemand wird beim lesen des Quelltextes sagen "Oh die ( + 1) sieht ja aus wie nachträglich reingepatcht". Und man muss als Anwender auch nix besonderes machen, man muss speziell gesagt nix patchen.
http://de.wikipedia.org/wiki/Patch_%28Software%29 gibt mir da auch recht, das ein Patch immer eine extra Datei ist, die nur kleine Änderungen am Programm/Quelltext vornimmt und alleine garnicht lauffähig ist.
Das ist ein Strohmannargument, das unterstellt ich hätte gegenteiliges behauptet, was aber falsch ist. Nie habe ich behauptet ein Patch sei alleine lauffähig - mir ist völlig unklar wie Du auf so eine Idee kommen kannst.
Die Größe ist allerdings nicht vorgegeben; es kann auch große Patches geben.
Es spielt auch keine Rolle ob jmd. beim Lesen des Quellcodes erkennen kann, dass eine Korrektur nachträglich vorgenommen wurde.
Hier gibt es einen kleinen Einblick in die Verwendung des Begriffs bei Heise: http://www.heise.de/open/artikel/Kernel-Log-Was-3-5-bringt-1-Netzwerk-1624233.html?artikelseite=2
Als kleine, separate Datei existiert der Patch nur, und auch das nicht zwingend, als übermittelte Einheit. Derjenige, der den Patch schreibt (oder bestreitet Ihr, dass man einen Patch schreiben kann) schreibt diesen ja nicht als diff-Fitzelchen, sondern flickt das Programm als eine Quellcodedatei, und verschickt, nachdem er mit diff die Veränderung isoliert hat, aus Effizienzgründen nur den geänderten Part.
Die vielfältige Verwendung des Begriffs 'patch' im Zusammenhang mit Software kann in den Linuxkernelquellen gut studiert werden; zur Eröffnung werfe ich ein:
/usr/src/linux/Documentation/00-INDEX: - procedure to get a source patch included into the kernel tree.
in die Diskussion.
Eure Behauptung ist in etwa so als würde man sagen, dass ein Medikament nur das ist, was in der Packung beim Apotheker liegt - sobald ich es aber auf den Löffel gebe oder im Mund habe sei es kein Medikament mehr, oder wenn es in meinem Magen, in der Blutbahn ist.
Auch wenn der Patch nicht mehr isoliert erkennbar ist, so ist er dennoch in die Software eingegangen, und ich kann nach 10 Jahren noch auf die 2 Zeilen zeigen die mir einst Susi aus dem Senegal sandte, und sagen:
"Hier ist übrigens der Patch von Susi, von dem damals so viel die Rede war!"
"Wo?"
"Na hier, Zeile 58 und 59."
Man sieht natürlich keine Nahtstellen, weil Software keine Nähte hat.