? FileCompare

Alles rund um Anwendungen für Amiga OS4

Moderator: OS4Welt-Team

Benutzeravatar
gazelle
Beiträge: 16
Registriert: 23. September 2012 09:49

Re: ? FileCompare

Beitrag von gazelle »

OLD_FILE=LEFT_FILE, -> alternative Namen, man kann also OLD_FILE oder LEFT_FILE als Parameternamen verwenden.

Code: Alles auswählen

filecompare OLD_FILE="Daten:Anw/Hollywood/HW Handbücher/Hollywood/HW8/Hollywood.meta" NEW_FILE="Daten:Anw/Hollywood/HW Handbücher/Hollywood/HW9/Hollywood-9.meta" DIFF_FILE="HW9Neu.diff"
oder

Code: Alles auswählen

filecompare LEFT_FILE="Daten:Anw/Hollywood/HW Handbücher/Hollywood/HW8/Hollywood.meta" RIGHT_FILE="Daten:Anw/Hollywood/HW Handbücher/Hollywood/HW9/Hollywood-9.meta" DIFF_FILE="HW9Neu.diff"
oder

Code: Alles auswählen

filecompare OLD_FILE="Daten:Anw/Hollywood/HW Handbücher/Hollywood/HW8/Hollywood.meta" RIGHT_FILE="Daten:Anw/Hollywood/HW Handbücher/Hollywood/HW9/Hollywood-9.meta" DIFF_FILE="HW9Neu.diff"
...
das sollte die Datei "HW9Neu.diff" mit den Änderungen erzeugen. Hochkommas bei Leerzeichen im Namen verwenden!

/edit: Ups, da habe ich doch glatt to komplette zweite Seite übersehen :)
Benutzeravatar
Cyborg
AmigaOS Entwickler
Beiträge: 3460
Registriert: 28. September 2009 11:10
Hat sich bedankt: 12 Mal
Danksagung erhalten: 20 Mal

Re: ? FileCompare

Beitrag von Cyborg »

gazelle hat geschrieben: 8. April 2021 14:42 das sollte die Datei "HW9Neu.diff" mit den Änderungen erzeugen. Hochkommas bei Leerzeichen im Namen verwenden!
Nein, FileCompare erzeugt keine Diff-Files. Der Parameter dient dazu, eine alte oder neue Datei mit einem vorher bereits erzeugtem Diff zu vergleichen bzw. das zu laden.
.. der SysOp hat immer recht :evil:

PGP Schlüssel verfügbar
Benutzeravatar
HelmutH
OS4Welt-Team
Beiträge: 2610
Registriert: 28. September 2009 10:56
Wohnort: Oberhausen
Hat sich bedankt: 35 Mal
Danksagung erhalten: 44 Mal

Re: ? FileCompare

Beitrag von HelmutH »

Danke euch allen für eure Unterstützung :thumbsup: . Werde mir gleich mal die Diff Tools im OS4Depot anschauen und melde mich mit dem Ergebnis.
Gruß Helmut
Amiga 500, Amiga 2000, AmigaOne XE, AmigaOne X5000
Benutzeravatar
HelmutH
OS4Welt-Team
Beiträge: 2610
Registriert: 28. September 2009 10:56
Wohnort: Oberhausen
Hat sich bedankt: 35 Mal
Danksagung erhalten: 44 Mal

Re: ? FileCompare

Beitrag von HelmutH »

@ZeroG
Benutze Shell Befehle recht wenig, weil ich mit dem geraffel der Syntax nie klar komme.
Mir stehen da meist zu viele Informationen drin, wo ich immer nicht weiß, muß das jetzt mit angegeben werden oder nicht.

@amifrog
.meta ist eine Ascii Datei die sich mit Notepad öffnen läst. Dieses Format enthält zusätzliche Steuerzeichen aus denen Andreas Falkenhahn direkt eine .HTML, .PDF, .GUIDE Datei erstellen kann.

@Cyborg
Ich habe den diff Befehl mal so ausprobiert
diff -au alte_datei neue_datei >unterschiede
Das Ergebnis ist für mich ein wenig irritierend, da bei dem diff Vergleich von oben dies heraus kam:
Und das ist im Handbuch die Zeile 45045. Muß da vielleicht noch ein anderer Parameter mit gegeben werden, damit er auch die Änderungen am Anfang des Handbuchs mitbekommt :?:

Code: Alles auswählen

+§Type defaults to the type of the currently active palette selected using
+@{"SelectPalette()" LINK SelectPalette}. @see{SelectPalette, SelectPalette}
+
+@item ID:
+Set this tag to the identifier of the object whose pen you want to modify.
+The default is the identifier of the currently active palette selected using
+@{"SelectPalette()" LINK SelectPalette}. @see{SelectPalette, SelectPalette}
+
+@item Frame:
+If the target type is an animation, sprite, or anim layer,
+you need to set this tag to specify the frame whose pen you want to modify.
+Frames are counted from 1. Defaults to 1 when used with anims and sprites and
+to the current frame when used with anim layers.
+@end table
+
+@{b}INPUTS@{ub}
+pen     - pen you want to modify (starting from 0)
+color   - new color for the pen, must be specified as an @{"RGB color" LINK RGBInfo}
+t       - optional: table for specifying further options (see above) 
+
+@{b}EXAMPLE@{ub}
+@@DISPLAY {Palette = #PALETTE_MONOCHROME}
+SetFillStyle(#FILLCOLOR)
+SetPaletteMode(#PALETTEMODE_PEN)
+SetDrawPen(1)
+Box(#CENTER, #CENTER, 320, 240)
+WaitLeftMouse
+SetPen(0, #WHITE)
+SetPen(1, #BLACK)
+
+The code above creates a monochrome palette display with a black background
+and white rectangle in the center. After a mouse-click the colors of the
+background and the white rectangle will be reversed by setting pen 0 to white
+and pen 1 to black.
+
+@nextexample
+SetPen(4, #RED, {Type = #BRUSH, ID = 2})
+
+The code changes pen 4 in brush 2 to red.
+
+@ENDNODE
Da sollten aber noch andere Sachen gefunden werden, so wie hier beim FileCompare Aufruf:

Code: Alles auswählen

Zeile 7 @$VER: Hollywood.guide 9.0 (19.03.2021)

Zeile 169  @{"21.10 Palette functions          " LINK LibGfxPalette}    All about Hollywood palettes
Zeile 168 jetzt 170  @{"21.11 Miscellaneous functions    " LINK LibGfxMisc}    Collision detection and other functions

Zeile 209 @{b}Hollywood is (C) Copyright © 2002-2021 Andreas Falkenhahn. All rights reserved@{ub}

Zeile 242 Copyright 2002-2021 by Andreas Falkenhahn

Zeile 246 @title Hollywood 9.0

Zeile 268 create applications and games very easily. Designed with the paradigm
Zeile 269 to make software creation as easy as possible in mind, Hollywood is

Zeile 271 extensive function library (encompassing over 900 commands) that [hat sich nur die Zahl geändert]
Zeile 272 simplifies the creation of applications and games to a
Das ist das was ich von oben, von Hand da aus dem Handbuch heraus geholt habe.

@gazelle
Ich habe deine Kombinationen mal mit dem FileCompare Befehl ausprobiert, dabei kommt aber immer die Meldung das er die Ausgabe Datei nicht öffnen kann. Also die Datei in die er das Ergebnis schreiben soll. Egal ob ich die "HW9Neu.irgendwas" oder ohne .xyz gennant habe.

So nu muß ich aber mal wieder Mobil weiter arbeiten. :Püscht nicht verraten: :wink:
Gruß Helmut
Amiga 500, Amiga 2000, AmigaOne XE, AmigaOne X5000
Benutzeravatar
Cyborg
AmigaOS Entwickler
Beiträge: 3460
Registriert: 28. September 2009 11:10
Hat sich bedankt: 12 Mal
Danksagung erhalten: 20 Mal

Re: ? FileCompare

Beitrag von Cyborg »

Das Diff-File ist doch nicht komplett? Das müßte so in der Art aussehen (Beispiel von Wikipedia):

Code: Alles auswählen

--- telefonliste2007.txt    2007-12-28 13:12:34.000000000 +0100
+++ telefonliste2008.txt    2008-07-28 14:16:26.000000000 +0100
@@ -1,4 +1,5 @@
 Mayer, Susanne, Lager, -212
 Schmid, Carola, Geschäftsleitung, -435
-Schmidt, Eberhard, Vertrieb, -479
 Schmitt, Marie, Labor, -804
+Waldmann, Ernst, Labor, -805
+Zundel, Walter, Vertrieb, -476
Also oben erstmal die zwei verglichenen Dateien, damit man weiß, was mit + und was mit - gekennzeichnet ist. Dann muß jeder Block mit Änderungen mit "@@ -x,y +a,b @@" anfangen, um die Position in den Dateien zu kennen und der Kontext vor und nach den Änderungen fehlt auch.

Laß mal das ">unterschiede" weg und schau, was diff direkt in der Shell ausgibt.
.. der SysOp hat immer recht :evil:

PGP Schlüssel verfügbar
Benutzeravatar
HelmutH
OS4Welt-Team
Beiträge: 2610
Registriert: 28. September 2009 10:56
Wohnort: Oberhausen
Hat sich bedankt: 35 Mal
Danksagung erhalten: 44 Mal

Re: ? FileCompare

Beitrag von HelmutH »

Habe den Diff Befehl jetzt so ausgeführt:

diff -au Daten:Anw/Hollywood/HW_Handbücher/Hollywood/HW8/Hollywood.meta Daten:Anw/Hollywood/HW_Handbücher/Hollywood/HW9/Hollywood-9.meta

Dabei sind knapp 39000 Zeilen mehr raus gekommen, aber der Anfang bringt nicht das Ergebnis wie es bei dir aussieht Cyborg (siehe Code).

Weckel gerade daran den Diff --help mal ins deutsche zu übersetzen, damit ich vielleicht da ein bischen schlauer draus werde wie ich das mit dem diff Befehl da hin bekomme.
Könnte es sein das die Datei zu größ ist :?: Beide Dateien haben über 2.000.000 Bytes.

Code: Alles auswählen

+
+@{b}FUNCTION@{ub}
+This command searches for a pen in the palette specified by §id whose color is the closest
+match to the color specified in the §color argument and returns that pen. The §color argument
+must be an @{"RGB color" LINK RGBInfo}.
+
+@{b}INPUTS@{ub}
+id         - identifier of palette
+color      - @{"RGB color" LINK RGBInfo} to find closest matching pen for
+
+@{b}RESULTS@{ub}
+pen        - pen that is the closest match for the specified color
+
+@{b}EXAMPLE@{ub}
+SetDrawPen(GetBestPen(1, #RED))
+
+The code above sets the pen that most closely resembles red as the drawing pen.
+
+@ENDNODE
+
+@NODE GetPalettePen "Hollywood Guide"
+
+@{b}NAME@{ub}
+GetPalettePen -- get pen color from palette (V9.0)
+
+@{b}SYNOPSIS@{ub}
+color = GetPalettePen(id, pen)
+
+@{b}FUNCTION@{ub}
+This function gets the color of the pen specified by §pen from the palette specified by §id.
+The color will be returned as an @{"RGB color" LINK RGBInfo}.
+
+@{b}INPUTS@{ub}
+id      - identifier of palette to use
+pen     - pen you want to get (starting from 0)
+
+@{b}RESULTS@{ub}
+color   - color of the pen, specified as an @{"RGB color" LINK RGBInfo}
+
+@{b}EXAMPLE@{ub}
+color = GetPalettePen(1, 0)
+
+The code gets the color of the first pen in palette 1.
+
+@ENDNODE
Gruß Helmut
Amiga 500, Amiga 2000, AmigaOne XE, AmigaOne X5000
Benutzeravatar
Cyborg
AmigaOS Entwickler
Beiträge: 3460
Registriert: 28. September 2009 11:10
Hat sich bedankt: 12 Mal
Danksagung erhalten: 20 Mal

Re: ? FileCompare

Beitrag von Cyborg »

Also, bei 39000 Zeilen ist es relativ klar, daß der Anfang abgeschnitten ist, weil vermutlich der Zeilenpuffer der Shell nicht ausreicht. Warum das Diff bei Dir aber auch scheinbar abgeschnitten ist, wenn Du die Ausgabe direkt in eine Datei umleitest, verstehe ich echt nicht. Die Dateigröße sollte wirklich unerheblich sein, weil Diff ja im Grunde Buchstabe für Buchstabe vergleicht.

Ich habe die Diffutils eben selbst nochmal ausprobiert und die winzige User-Startup einer Testinstallation kopiert, verfremdet und gedifft:

Code: Alles auswählen

7.RAM Disk:> diff -au test1 test2
--- test1	2021-04-14 14:05:29 
+++ test2	2021-04-14 14:06:18 
@@ -3,10 +3,11 @@
   C:Assign >NIL:     MUI:    SYS:MUI
   C:Assign >NIL: ADD LIBS:   MUI:Libs
   C:Assign >NIL: ADD LOCALE: MUI:Locale
+
   C:Assign >NIL: ADD HELP:   MUI:Docs
 EndIf
-;END MUI
+;EN MUI
 
 assign tbimages: SYS:Prefs/Presets/tbimages
-
+   Das ist neu und gehört nicht hier rein.
 path add Zeugs:SDK/Local/C
Die Diffutils funktionieren also grundsätzlich einwandfrei. Probiere es doch auf blöd mal mit zwei kleineren Dateien.. irgendworan muß es ja liegen..
.. der SysOp hat immer recht :evil:

PGP Schlüssel verfügbar
Benutzeravatar
HelmutH
OS4Welt-Team
Beiträge: 2610
Registriert: 28. September 2009 10:56
Wohnort: Oberhausen
Hat sich bedankt: 35 Mal
Danksagung erhalten: 44 Mal

Re: ? FileCompare

Beitrag von HelmutH »

Diff funktioniert. Nur verpackt es scheinbar nicht zu große Dateien.
Ich probiere gleich nochmal was anderes mit den beiden Hollywood Dateien.

Code: Alles auswählen

8.SYS:> diff -au SYS:S/Startup-Sequence SYS:S/User-Startup
--- SYS:S/Startup-Sequence	2021-01-06 13:12:38 
+++ SYS:S/User-Startup	2021-04-10 23:11:42 
@@ -1,57 +1,65 @@
-; $VER: Startup-Sequence 53.12 (26.6.2017)
-
-CD C:
-
-SetPatch QUIET WAITFORVALIDATE
-
-FailAt 21
-
-Version >NIL:
-SetEnv Workbench $Workbench
-SetEnv Kickstart $Kickstart
-UnSet Workbench
-UnSet Kickstart
-
-MakeDir RAM:T RAM:Clipboards
-
-Assign >NIL: T: RAM:T
-Assign >NIL: CLIPS: RAM:Clipboards
-Assign >NIL: KEYMAPS: DEVS:KeyMaps
-Assign >NIL: PRINTERS: DEVS:Printers
-Assign >NIL: REXX: S:ARexx
-Assign >NIL: HELP: LOCALE:Help DEFER
-Assign >NIL: AMISSL: DEVS:AmiSSL DEFER
-Assign >NIL: GHOSTSCRIPT: SYS:Utilities/GhostScript DEFER
-Assign >NIL: PYTHON: SYS:System/Python
-
-LoadMonDrvs
-AddDataTypes REFRESH QUIET
-IPrefs
-
-USBCtrl START
-Mount QUIET DEVS:DOSDrivers/~(#?.info)
-
-Path RAM: C: S:Shell S:ARexx PYTHON:Scripts SYS:Utilities SYS:Utilities/Commodities SYS:System SYS:Prefs
-
-ConClip
-SYS:System/RexxMast >NIL:
-
-If EXISTS S:User-Startup
-  Execute S:User-Startup
-EndIf
-If EXISTS S:Network-Startup
-  Run >NIL: <NIL: *>NIL: Execute S:Network-Startup
-EndIf
-
-Makelink RAM:Disk.info ENVARC:Sys/def_RAM.info SOFT
-
-Assign >nil: exists APPDIR:
-if NOT WARN
-  Path ADD APPDIR:
+;BEGIN MUI
+if exists "SYS:MUI"
+   assign MUI: "SYS:MUI"
+   if exists MUI:Libs
+      assign add LIBS: MUI:Libs
+   endif
+   if exists MUI:Locale
+      assign add LOCALE: MUI:Locale
+   endif
+   version >nil: exec.library 39
+   if not warn
+      if exists MUI:Docs
+         if exists HELP:dummy ; do not remove
+         endif                ; this entry!
+         assign add HELP: MUI:Docs
+      endif
+   endif
 endif
+;END MUI
 
-LoadWB
-
-Run >NIL: *>NIL: SoundPlayer QUIET
+assign tbimages: SYS:Prefs/Presets/tbimages
 
-EndCLI >NIL:
+;BEGIN MUI ASL
+if exists "SYS:MUI"
+   run <>nil: MUI:PatchASL
+endif
+;END MUI ASL
+;BEGIN Hollywood
+Assign Hollywood: Daten:Anw/Hollywood/Hollywood
+Path Hollywood:System ADD
+;END Hollywood
+;BEGIN Polybios
+Assign Polybios: "Daten:Anw/Hollywood/HW PlugIns/20191230 Polybios1_2/Polybios"
+;END Polybios
+;BEGIN GLGalore
+Assign GLGalore: "Daten:Anw/Hollywood/HW PlugIns/GL Galore/1_1/GLGalore"
+;END GLGalore
+;BEGIN Malibu
+Assign Malibu: "Daten:Anw/Hollywood/HW PlugIns/Malibu/1_4/Malibu"
+;END Malibu
+;BEGIN MUIRoyale
+Assign MUIRoyale: "Daten:Anw/Hollywood/HW PlugIns/MUI Royale/1_7/MUIRoyale"
+;END MUIRoyale
+;BEGIN MultiEdit
+Assign MultiEdit: "SYS:Utilities/MultiEdit"
+;END MultiEdit
+;BEGIN MultiViewer
+Assign MultiViewer: "SYS:Utilities/MultiViewer"
+;END MultiViewer
+;BEGIN RapaGUI
+Assign RapaGUI: "Daten:Anw/Hollywood/HW PlugIns/RapaGUI/1_2/Platforms/AmigaOS4/RapaGUI"
+;END RapaGUI
+;BEGIN Qt-4.7
+assign Qt: "Daten:Qt Umgebung/Qt-4.7"
+assign sobjs: Qt:lib ADD
+;END Qt-4.7
+;BEGIN ArtEffect
+ASSIGN ArtEffect: Daten:Anw/ArtEffect4
+;END ArtEffect
+;BEGIN Designer
+Assign Designer: "Daten:Anw/Hollywood Designer/Designer"
+;END Designer
+;BEGIN RebelSDL
+Assign RebelSDL: "Daten:Anw/Hollywood/HW PlugIns/RebelSDl/RebelSDL"
+;END RebelSDL
8.SYS:> 
Nachtrag:
Ich habe die Hollywood Dateien mal verkleinert. Es wird dann einiges beim diff Aufruf ausgeworfen.
Die Ausgabe ist soviel das ich im Shellfenster nicht bis ganz nach oben blättern kann. War aber grad zu
blöd das Ganze in eine Datei umzulenken. Liegt vielleicht daran das es heut ein anstrengender Tag war und ich platt bin. Mach morgen weiter.
Gruß Helmut
Amiga 500, Amiga 2000, AmigaOne XE, AmigaOne X5000
Benutzeravatar
Cyborg
AmigaOS Entwickler
Beiträge: 3460
Registriert: 28. September 2009 11:10
Hat sich bedankt: 12 Mal
Danksagung erhalten: 20 Mal

Re: ? FileCompare

Beitrag von Cyborg »

Wenn Du magst, pack doch mal zwei der Hollywood-Dateien in ein Archiv und schick es mir via PM. Ich probier das gerne auch mal aus, weil ich es fast nicht glauben kann, daß diff (bzw. zumindest unser Port) wegen der Dateigröße zusammenbricht .. das wäre gerade bei so einem zentralen Tool für Entwickler ein Supergau.
.. der SysOp hat immer recht :evil:

PGP Schlüssel verfügbar
Benutzeravatar
HelmutH
OS4Welt-Team
Beiträge: 2610
Registriert: 28. September 2009 10:56
Wohnort: Oberhausen
Hat sich bedankt: 35 Mal
Danksagung erhalten: 44 Mal

Re: ? FileCompare

Beitrag von HelmutH »

Scheix Technik. Kann dir keine PM schicken, bekomme mehrfach einen TimeOut.
Versuche es später nochmal. Irgendwer klemmt scheinbar die Leitung grad zu.
Gruß Helmut
Amiga 500, Amiga 2000, AmigaOne XE, AmigaOne X5000
Antworten