DEADSOFTWARE

implemented colorized output
[bbdiff.git] / README
diff --git a/README b/README
index 81432a6d14167c00e71816ca7bfd7d6dc2ddd693..a7ec05ec822cc20d7fc6edb89766f9029714f1a8 100644 (file)
--- a/README
+++ b/README
@@ -1,67 +1,95 @@
 BlackBox diffutils
 --------------------
 
-Clone of diff, patch and diff3 utilites from *nix for BlackBox and its binary Compound Document format.
+Clone of diff and diff3 utilites from *nix for BlackBox and its binary Compound Document format.
 
 
 Commands
 --------------------
 
-To use tools within Blackbox just compile DevDiff.
+To use tools within Blackbox just compile DiffBase and DiffUtils.
 
-DevDiff.Compare (guard TextCmds.FocusGuard)
+DiffUtils.Compare (guard TextCmds.FocusGuard)
 
        Compare texts from two windows.
-       Can directly replace DevSearch.Compare in Dev/Rsrc/Menus.odc.
+       You can directly replace DevSearch.Compare with DiffUtils.Compare in Dev/Rsrc/Menus.odc.
 
 
-^Q DevDiff.CompareThis <oldfile> <newfile> [">" <outfile>]
+^Q DiffUtils.CompareThis <old> <new> [">" <outfile>]
 
        Compare two files and produce patch in unified diff format.
 
 
-^Q DevDiff.ApplyPatch <patchfile>
+^Q DiffUtils.MergeThis <my> <old> <your> [">" <outfile>]
 
-       Read unified diff format and apply changes from it.
-
-
-^Q DevDiff.MergeThis <my> <old> <your> [">" <outfile>]
-
-       Read three files and do three-way merge like.
+       Read three files and do three-way merge like diff3.
 
 
 Dedicated tool
 --------------------
 
 You can read, create diffs and merge documents from command line using odctool.
-To build open OdctoolMain and execute commanders at the end of document.
-Call `odctoll.exe help` to learn how to use it.
+To build it, open DiffMain and execute commanders at the end of document.
+Call `odctool help` to learn how to use it.
 
-Warning: It tested only with wine and NOT tested on windows or native linux.
 
-
-Integration with GIT
+Integration with Git
 --------------------
 
-It is possible to integrate three-way merge with git.
+1. Compile odctool.
+
+2. Create script odctool-gitdiff:
 
-1. Open .git/config and add this lines:
+       #! /bin/sh
+       odctool diff -C -p "$1" "$2" "$5"
+
+3. Add to .git/config:
 
        [merge "odctool"]
                name = BlackBox Compound Document merge driver
-               driver = /full/path/to/odctool merge -P %P %A %O %B %A
+               driver = /path/to/odctool merge -p %P -o %A %A %O %B
+       [diff "odctool"]
+               name = BlackBox Compound Document diff driver
+               command = /path/to/odctool-gitdiff
+
+4. Add to .git/info/attributes:
+
+       *.odc merge=odctool diff=odctool
+
+
+5. Optionally you can ignore some BlackBox related files if add to .git/info/exclude:
+
+       *.ocf
+       *.osf
+       odc[0-9][0-9][0-9][0-9][0-9]
+
+Now you can see diffs using `git diff' and resolve conflicts from BlackBox.
+
+
+Integration with ranger
+-----------------------
+
+1. To preview documents add to $HOME/.config/ranger/scope.sh:
+
+       handle_extension() {
+               case "${FILE_EXTENSION_LOWER}" in
+
+                       ...
 
-2. Open/create .git/info/attributes and add this line:
+                       # BlackBox Compound Document
+                       odc)
+                               odctool -C cat "${FILE_PATH}" && exit 5
+                               exit 1;;
+               esac
+       }
 
-       *.odc merge=odctool
+2. To open/read documents add to $HOME/.config/ranger/rifle.conf:
 
-Now when conflict occurs, it marked like diff3 directly in odc file.
-Checked not only text, but also views and formatting.
+       ext odc, has odctool, terminal, file = odctool -C cat "$1" | less --tabs=2 -S
 
 
 Current state
 --------------------
 
-This is NOT final version of module DevDiff and Odctool. It is NOT well tested, you are warned!
-Also, program and user interfaces can be changed later.
-Todo list see at the and of sources and build tools.
+This is NOT final version of subsustem Diff and odctool. It is NOT well tested, you are warned!
+Also, program and user interfaces are not stable yet, so it can be changed in future.