home *** CD-ROM | disk | FTP | other *** search
/ Dream 47 / Amiga_Dream_47.iso / Amiga / Workbench / Patchs / gpatch.lha / GPatch / GPatch.dok < prev   
Encoding:
Text File  |  1997-11-23  |  6.1 KB  |  144 lines

  1.  
  2. GCompare / GPatch 2.0
  3. ---------------------
  4.  
  5. Autor: Ralf Gruner, An der Sense 5a, D-02779 Gro▀sch÷nau
  6.        ralf.gruner@t-online.de
  7.  
  8.  
  9. GCompare ist ein Programm zum Erzeugen von Patch-Dateien fⁿr den Vertrieb
  10. von Updates irgendwelcher Programme oder anderer Dateien.
  11.  
  12. GPatch dient dazu, diese Updates auszufⁿhren.
  13.  
  14. Natⁿrlich wei▀ ich, da▀ es bereits wenigstens einen brauchbaren
  15. Patch-Generator fⁿr den Amiga gibt. Aber als ich ein Patch-Programm fⁿr meine
  16. DCF77-Software brauchte, besa▀ ich SAS-C (und damit scompare) noch nicht, und
  17. das Freeware-Programm, das ich im Aminet gefunden hatte, hat als erstes einen
  18. Absturz meines Rechners verursacht und sich damit sofort disqualifiziert.
  19. Deshalb habe ich also einen neuen Patcher geschrieben.
  20.  
  21. Die wesentlichen Eigenschaften sind:
  22. »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
  23. -Die Patch-Datei kann Patches fⁿr eine beliebige Anzahl von Dateien enthalten.
  24.  Dadurch ist es m÷glich, Updates fⁿr mehrere Versionen eines Programms
  25.  zusammen zu vertreiben. Wenn sich die Verzeichnis-Struktur des Produktes
  26.  nicht geΣndert hat, findet der Patcher selbstΣndig die ben÷tigten Patches,
  27.  ohne da▀ sich Ihr Skript darum kⁿmmern mu▀.
  28.  Au▀erdem k÷nnen Sie die Patches fⁿr verschiedene Dateien in einer einzigen
  29.  Patch-Datei unterbringen.
  30.  
  31. -Das Format der Patch-Datei ist bezⁿglich der Dateigr÷▀e aufwendig optimiert.
  32.  GCompare testet mehrere verschiedene Kodierungsarten und wΣhlt diejenige aus,
  33.  die das kⁿrzeste Resultat liefert.
  34.  Obwohl ich nicht allzuviele Σhnliche Programme kenne, m÷chte ich behaupten,
  35.  da▀ GCompare in den meisten FΣllen die kⁿrzesten Patchdateien aller
  36.  verfⁿgbarer Patchprogramme erzeugt.
  37.  
  38. -Um zu verhindern, da▀ beim Anwender beschΣdigte Dateien ankommen, enthalten
  39.  die Programme eine sehr zuverlΣssige Fehlererkennung (32-Bit-CRC-Signaturen
  40.  fⁿr alle Dateien). Wenn keine Fehlermeldungen auftreten, dann k÷nnen Sie
  41.  sicher sein, da▀ die Ergebnisse des Patch-Vorgangs perfekt sind.
  42.  
  43.  
  44. Benutzung:
  45. »»»»»»»»»»
  46. GCompare und GPatch sind Shell-Befehle.
  47.  
  48. Syntax:
  49.  
  50.  GCompare <alte Datei> <neue Datei> <Patchdatei> [mode <n>] [quick]
  51.  
  52.  GPatch <alte Datei> <Patchdatei> <neue Datei>
  53.  
  54. Wenn GCompare eine bereits bestehende Patchdatei findet, dann hΣngt es die
  55. Patches an diese Datei an.
  56.  
  57. GPatch wΣhlt die passenden Patches anhand der DateilΣnge und der CRC-Signatur
  58. aus.
  59.  
  60. Wenn die Programme keine Fehlermeldungen ausgeben, dann waren die jeweiligen
  61. VorgΣnge erfolgreich. Schwerwiegende Fehler werden immer von einem
  62. Return-Code gr÷▀er als 10 begleitet.
  63.  
  64. Die Argumente "mode" und "quick" wΣhlen die Betriebsart aus:
  65. Ohne Angabe einer Betriebsart wΣhlt GCompare selbstΣndig das optimale
  66. Dateiformat aus.
  67. Mit dem Argument "mode" k÷nnen Sie das Dateiformat direkt angeben, und
  68. "quick" ist eine schnelle Betriebsart fⁿr sehr gro▀e Dateien.
  69. Die m÷glichen Werte fⁿr <n> nach "mode" sind 1 bis 4.
  70.  
  71. GCompare braucht genug Arbeitsspeicher, um die alte, die neue und die
  72. Patchdatei gleichzeitig im Speicher halten zu k÷nnen.
  73. Wenn GCompare nicht genug Speicher fⁿr seinen Listen-Suchalgorithmus findet
  74. (ca. 10 mal die Dateigr÷▀e der alten Datei), arbeitet es nur noch in der
  75. Betriebsart 3 (die nur lineare Suche ben÷tigt).
  76.  
  77.  
  78. Als Beispiel fⁿr die Anwendung der Patchprogramme habe ich Skripts fⁿr das
  79. Erzeugen und Anwenden einer Patch-Datei eines fiktiven Programms beigelegt.
  80. In dem Beispiel wird davon ausgegangen, da▀ verschiedene Σltere Versionen
  81. des Programms "MyProgram" in einem Archiv namens "Archive" liegen. Der Patch
  82. fⁿr das Programm und eine Anleitung "MyProgram.readme" wird in diesem
  83. Beispiel direkt auf der Programmdiskette "MyProgram" ausgefⁿhrt.
  84.  
  85.  
  86. Diskussion und Hinweise zur Benutzung:
  87. »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
  88. Inzwischen habe ich eine ganze Menge Mails mit Kommentaren zur Geschwindigkeit
  89. und der Gr÷▀e der resultierenden Patchdatei erhalten.
  90. Einige fanden die Patchdatei viel kleiner als die anderer Patcher,
  91. andere wiederum nicht, und allen ist das Compare-Programm nicht schnell genug.
  92.  
  93. Da es nicht m÷glich ist, ein Dateiformat fⁿr die Patchdatei zu entwickeln, das
  94. in allen FΣllen das kⁿrzeste Ergebnis liefert (die Gr÷▀e der Datei hΣngt vom
  95. Abstand der passenden Daten ab und der Art und Weise, diesen Abstand zu
  96. adressieren), hat GCompare vier verschiedene Algorithmen.
  97. Der Optimierer wΣhlt das beste Format aus, was aber etwa die 4-fache
  98. Rechenzeit braucht.
  99. Wenn Ihnen das zu lange dauert, dann k÷nnen Sie das Format mit dem Argument
  100. "mode" direkt angeben.
  101. In den meisten FΣllen liefert "mode 1" ein gutes Ergebnis. Wenn dabei fⁿr
  102. gro▀e Dateien GCompare zu lange rechnet, dann k÷nnen Sie "mode 3" benutzen.
  103. Das Argument "quick" schaltet die schnellste Suche ein, aber dann wird die
  104. Patchdatei deutlich gr÷▀er.
  105.  
  106. Wenn Sie die Ergebnisse von GCompare mit denen anderer Programme vergleichen
  107. wollen, sollten Sie das auch mit komprimierten Versionen der Patchdateien tun.
  108. GCompare besitzt keine eingebaute Kompression (im Gegensatz zu anderen
  109. Vergleichsprogrammen mit LauflΣngenkompression), weil ich denke, da▀ alle
  110. Vertriebsdateien vor ihrer Ver÷ffentlichung ohnehin komprimiert werden und
  111. Programme wie lha oder lzx es wahrscheinlich besser k÷nnen.
  112.  
  113.  
  114. Und zur Geschwindigkeit: Es gibt wirklich keinen Weg, GCompare wesentlich
  115. schneller zu machen. GCompare sucht passende Daten in der gesamten alten Datei
  116. (und nicht nur in einem Relativbereich wie andere Patchprogramme).
  117. Wenn Sie wirklich nicht so lange warten k÷nnen, dann sollten Sie den
  118. "quick"-Modus benutzen.
  119.  
  120.  
  121. Vertrieb:
  122. »»»»»»»»»
  123. GCompare und GPatch sind Freeware. Sie k÷nnen beliebig eingesetzt werden,
  124. einschlie▀lich der Anwendung fⁿr kommerzielle Programme.
  125.  
  126. Wenn Sie aber Wert auf zukⁿnftige Updates legen, dann senden Sie mir bitte
  127. eine eMail, damit ich wei▀, da▀ es ⁿberhaupt Benutzer der Programme gibt.
  128. Es gibt immer noch einiges zu verbessern, aber die Zeit dafⁿr nehme ich mir
  129. nur, wenn es auch jemand braucht.
  130. Die ─nderungsliste der Programme finden Sie in der englischen Anleitung.
  131.  
  132. Und (wer's lesen will):
  133.  
  134. Rechtliches
  135. »»»»»»»»»»»
  136. Bei der Entwicklung der Software wurde mit allergr÷▀ter Sorgfalt vorgegangen.
  137. Trotzdem sind Fehler nicht vollstΣndig ausgeschlossen. Der Autor ⁿbernimmt
  138. keine Haftung fⁿr SchΣden, die direkt oder indirekt auf die Benutzung
  139. seiner Programme zurⁿckzufⁿhren sind.
  140.  
  141.  
  142. Ralf Gruner
  143.  
  144.