🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: hanse.internet
Article #33

BinPatch 1.7 (hocheffizientes Patching Tool, frei f�r nicht-kommerzielles)

#33
From: Kay Hayen
Date: Thu, 19 Jun 1997 00:00
218 lines
10151 bytes

Hallo Leute.

Ich m�chte meine Shareware BinPatch (aktuelle Version 1.7) vorstellen.

Die Lizenz stellt die nicht-kommerzielle Nutzung der uneingeschr�nkten
Version frei, nur f�r die kommerzielle Nutzung soll BinPatch
registriert werden. Die unreg. Version ist dabei vollst�ndig
funktional, genaueres regelt hier die Lizenz. Unten finden sie auch
die lange Liste der Highlights von BinPatch.

Seit Version 1.03 liegt BinPatch auch jeweils in speziellen Versionen
f�r OS/2 und Windows NT vor. Seit jeher werden Linux und
DOS/Windows3.1und Windows 95 unterst�tzt.

Aktuell ist wie gesagt Version 1.7, die noch kleiner Patchdateien als 
fr�here Versionen erzeugt. Ein prinzipieller Fehler im Format, der
unter seltenen Umst�nden dazu f�hrt, da� ein Patch abgewiesen wird,
hat ein neues Format erzwungen, das inkompatibel zur 1.0x ist, aber
daf�r auch deutlich mehr M�glichkeiten bietet.


>Was ist BinPatch ?

Mit "BinPatch" bezeichne ich mein Programm-Paket zum Erzeugen und
Anwenden von Patches auf beliebige bin�re Dateien. Ein Programm namens
"GenPatch" kann benutzt werden, um aus zwei Versionen einer Datei
(oder von zwei kompletten Verzeichnis-Strukturen) eine sogenannte
Patchdatei zu erzeugen. Diese Patchdatei kann dann einem anderen
Programm namens DoPatch zur Vorlage dienen, um die eine vorhandene
Version einer Datei oder eines ganzen Programmverzeichnisses in eine
andere zu �berf�hren.

Der Sinn dieser Aktion erschlie�t sich dann, wenn Sie vergleichen, wie
klein eine Patchdatei (erst recht nach der Kompression) im Vergleich 
zur vollst�ndigen neuen Version (auch komprimiert) wird. Besonders bei
Programmen, Texten und Datenbanken ist das Verh�ltnis sehr gut.

Hintergrund dabei: Im allgemeinen �ndern sich bei Programmen von
Version 
zu Version jeweils nur wenige Teile und auch die nur immer ein wenig. 
Vieles was durch den Compiler vorgegeben ist, �ndert sich sogar gar 
nicht oder nur minimal. Gerade bei Windows-Programmen ist dieser
Anteil 
recht hoch. Daraus kann BinPatch f�r Sie seinen Vorteil ziehen.
(Beachten 
sie dabei aber, da� BinPatch  nicht auf gepackten oder verschl�sselten

Daten arbeiten kann.)

Besonders bei Software-Updates hat sich BinPatch inzwischen vielfach
bew�hrt, denn dort kann bei der Daten�bertragung eine Menge gespart 
werden. Ob via Mail oder WWW. Letztlich kostet beides sowohl den 
Entwickler als auch seine Kunden eine Menge Zeit (und Geld).

>Was leistet BinPatch konkret ?

Der Vorteil, den BinPatch gegen�ber der vollst�ndigen �bertragung 
einer neuen Version bietet, wird anhand von Beispielen schnell 
deutlich.

Beispiel: United-Edition (ein PBEM, das ich derzeit entwickle.)

Ein vollst�ndiges Release hat als gepacktes Archiv stolze 570k und wer
das per Mail an einen Adressaten irgendwo im Internet �bertr�gt, mu�
wegen der derzeitigen Internet-Standards sogar damit rechnen, da� 760k
�bertragen und bezahlt werden m�ssen. Bei der Beschr�nkung auf jeweils
ver�nderte Dateien kommen dennoch immer mind. 310k bzw. 413k raus, die
das Hauptprogramm dabei belegt.

Beispiel A: Minor-Bugfix. Ich hatte einige Texte im Programm nicht
lokalisiert, wollte aber dem nur Englisch-sprachigen Freund nicht
zumuten, mit den Deutschen auskommen zu m�ssen. Was tat ich ? Ja, ich
tipperte

GENPATCH UNITED41 UNITED42 UPDATE

und es entstand ein ungepackt 5.7k gro�es "UPDATE.UTP", das sich noch
auf 2.7k packen lie� und als Mail nur 3.6k ausmacht.

Mensch sehe den Unterschied von 413k und 3.6k! Der Begleittext war
fast gr��er als der Patch selbst...

In Prozent waren es nur noch 0.9%, verschwindend wenig im Vergleich zu
vorher, nicht wahr ?

Mein Freund mu�te zur Anwendung der Patches nur "DOPATCH UPDATE.UTP
UCLIENT" tippern, schon hatte er seine bereits vorhandene Version
aktualisiert.

Beispiel B: Major-Bugfix. Ich hatte jemandem nach l�ngerer Zeit 
(2 Monate) ein Update zugeschickt, das viele Detail-Abweichungen
und Erg�nzungen enthielt. Aber auch da lie� sich dank BinPatch die
Datei auf 35k bringen, nur 10% des normalen Umfangs.

Beispiel C: Ein Bugfix am GenPatch. Durch ein Versehen, konnte ein
fr�hes Demo-Release pl�tzlich keine Verzeichnisse mehr bearbeiten. Es
war nur ein "not" an der falschen Stelle, die Beseitigung mit BinPatch
ben�tigte nur wenige Bytes!

Beispiel D: In den ersten Releases f�r DOS war GenPatch.EXE nur als
Patch von DoPatch.EXE vertreten. Dadurch hatte das Release gepackt nur
47k statt sonst 74k. Diese Anwendung ist ziemlich untypisch, zeigt
aber ein zus�tzliches Potential von BinPatch.

Sinnvoll wurde der Patch dadurch, da� beide Programme mit dem gleichen
Compiler �bersetzt wurden und viel Code gemeinsam hatten.

Die ideale Anwendung f�r BinPatch ist der Betatest von Software �ber 
das Internet. Hier kann BinPatch so richtig zeigen, was in ihm steckt.

Auch um Bugfixes und kleinere Updates ins WWW zu stellen, ist BinPatch

sehr gut geeignet. Wer schonmal ein 1.4M Archiv von einem langsamen 
Server geladen hat, wei� wohl, wie froh er gewesen w�re, ein Update 
mit vielleicht nur 100K downloaden zu m�ssen, nicht wahr ? (Besonders 
weil nach Murphy bei 1.3M die �bertragung stillsteht... )

(Anmerkung: Die Beispiele von oben beziehen sich auf veraltete 
Versionen und die aktuelle Version nochmals wesentlich kleinere 
Dateien liefern.)

Wozu ist BinPatch sonst noch einsetzbar ?

BinPatch ist auch in der Lage "inkrementelle Backups" zu machen. Wer 
bei einer Planets-Partie das Host-Verzeichnis �ber mehere Runden (es 
k�nnen ja Hunderte werden) sichern will, der speichert nur wenig 
differierende oder identische Dateien vielfach. Mit GenPatch k�nnen 
aber kleine Patches erzeugt werden, die den gleichen
Informationsgehalt haben. Das kann Ihnen durchaus eine
Gigabyte-Festplatte sparen...

Durch eine spezielle Option kann GenPatch angewiesen werden, auch
Redundanzen in der neueren Version einer Datei auszunutzen. Das klappt
nur selten, kann aber u.U. den Einsatz von BinPatch als Vorpacker
rechtfertigen. Dann wird BinPatch keine Vorlage gegeben und es erzeugt

eine Datei, die nach dem Packen kleiner ist als die Datei direkt und
nur gepackt. Was damit zu erzielen ist, h�ngt stark von der Datei ab. 
Einen Versuch ist es jedenfalls wert.

Bei einem Programmpaket, das mit dem gleichen Compiler �bersetzt wird,
kann BinPatch daf�r sorgen, da� der Overhead des Compilers und
verwendeter Bilbliotheken nur einmal auftaucht anstatt f�r jedes
Programm einmal.

Wenn sie verschiedene Versionen eines Programmes oder einer Datei
rausgeben wollen, dann bietet BinPatch ihnen die M�glichkeit eine 
Reihe kleinererer optionaler Patches statt meherer kompletter 
Programme anzubieten.


>Wie effizient ist BinPatch ?

BinPatch ist wirklich *sehr* effizient. Es geht weit �ber den
Algorithmus anderer Patch-Programme hinaus und ist darauf optimiert
m�glichst gut packbare Patchdateien zu erzeugen. Das ist �brigens 
nicht das gleiche wie kleine Patchdateien, im Gegenteil w�re es gut 
m�glich kleinere Patches zu erstellen, die dann aber im Vergleich zu 
den gr��eren Patches aber deutlich schlechter packen und damit
schlechter w�ren. 

Ich habe sorgf�ltige Analysen gemacht, was typische Patches in ihrer 
Struktur auszeichnet und BinPatch darauf optimiert. (Und bisher ist
mir kein Patcher untergekommen, der vergleichbare Ergebnisse bringt,
naja mal abgesehen von BinPatch2.0, an dem ich gerade arbeite... :-)

Die Highlights von BinPatch im einzelnen:

- Trotz bester Ergebnisse frei f�r die nicht-kommerzielle Nutzung.
- Verzeichnismodus patcht eine ganze Verzeichnishierachie auf einmal.
- Praktisch kein Speicher f�r DoPatch notwendig, so scheidet eine
wichtige Fehlerquelle beim Enduser von vornherein aus. Dennoch sind
Dateien bis 2 Gigabyte patchbar.
- Automatischer Testmodus pr�ft erst, ob ein Patch komplett anwendbar
ist
- Ausf�hrliche Fehlermeldungen im Problemfall
- Doppelte Sicherheit durch Test auf Dateigr��e und CRC32 jeder Datei
- Patchdateien auf optimale Packrate optimiert (meist besser als
1:2.5)
- Beigeben des DoPatch zum Anwenden der Patches f�r DOS macht gepackt
weniger als 17k aus
- Redundanz Option erlaubt den Einsatz als Vorpacker
- Auch zum komprimierten inkrementellen Backup geeignet
- Das Patchverhalten von BinPatch ist durch Parameter steuerbar.
- Lange Dateinamen unter Windows 95
- Die Programme sind zweisprachig (Deutsch&Englisch) mit Erkennung
der Systemsprache.
- Erh�ltlich f�r alle bedeutenden PC-Plattformen
- Gr�ndliche Funktionstests aller Releases durch Testsuite
- Sehr ausf�hrliche HTML-Dokumentation
- Die Texte von BinPatch-Keys d�rfen auch Umlaute enthalten, die von 
den DoPatch aller unterst�tzten Plattformen korrekt angezeigt werden.
- Die Einzellizenz kostet 40DM. Das schlie�t dann alle sp�teren
Versionen ein. Update-Patches per EMail, um ihr BinPatch auf den
aktuellen Stand zu bringen, sind nat�rlich ebenfalls inbegriffen.

Zu beziehen ist BinPatch z.B. unter http://binpatch.home.ml.org oder
auf Anfrage bei mir via Mail, mailto:KayHayen@online.de

Ich w�nsche Ihnen *viel Freude mit BinPatch* und bedanke mich f�r Ihre
Aufmerksamkeit. :-)



        Gru�, Kay Hayen

PS: F�r Anregungen jeder Art, sei es Kritik, Vorschl�ge f�r Features, 
W�nsche nach unterst�tzen Plattformen und dergleichen bin ich mehr als

offen. :-)



>> Using shareware is good, registering it too.
>Visit http://binpatch.home.ml.org for a 
>patching tool free for non-commercial usage.
Technical Details
Message-ID: <33a9880f.7066434@news.online.de>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: GERMAN,ASCII
X-Google-Thread: f6d5e,b1609da41e2beb24,start
X-Google-Attributes: gidf6d5e,public
From: KayHayen@online.de (Kay Hayen)
Subject: BinPatch 1.7 (hocheffizientes Patching Tool, frei f�r nicht-kommerzielles)
Date: 1997/06/19
Message-ID: <33a9880f.7066434@news.online.de>
X-Deja-AN: 251165412
Organization: KayHayen Software
Newsgroups: hanse.internet