index 3adf02a4a58fd64ff0b104156e6a224c5b25f633..bf0fb5ab025f9bc4198e887acac9e44fae5e8371 100644 (file)
--- a/README
+++ b/README
BlackBox diffutils
--------------------
-Clone of diff, patch and diff3 utilites from *nix for BlackBox and its binary document format.
+Clone of diff and diff3 utilites from *nix for BlackBox and its binary Compound Document format.
-Building
+
+Commands
--------------------
-Just compile module DevDiff.
+To use tools within Blackbox just compile DiffBase and DiffUtils.
+
+DiffUtils.Compare (guard TextCmds.FocusGuard)
+
+ Compare texts from two windows.
+ You can directly replace DevSearch.Compare with DiffUtils.Compare in Dev/Rsrc/Menus.odc.
+
+
+^Q DiffUtils.CompareThis <old> <new> [">" <outfile>]
+
+ Compare two files and produce patch in unified diff format.
+
+
+^Q DiffUtils.MergeThis <my> <old> <your> [">" <outfile>]
+
+ Read three files and do three-way merge like diff3.
-Usage
+
+Dedicated tool
+--------------------
+
+You can read, create diffs and merge documents from command line using odctool.
+To build it, open DiffMain and execute commanders at the end of document.
+Call `odctool help` to learn how to use it.
+
+
+Integration with git
--------------------
-See sources. Documentation not writed yet.
-Command DevDiff.CompareThis compare two files and produce patch in unified diff format.
-Command DevDiff.PatchThis read patch in unified diff format and apply changes from it.
-Command DevDiff.MergeThis read three files and do thee-way merge.
+1. Compile odctool.
+
+2. Create script odctool-gitdiff:
+
+ #! /bin/sh
+ odctool diff -x -X -E -C -p "$1" "$2" "$5"
+
+3. Add to .git/config:
+
+ [merge "odctool"]
+ name = BlackBox Compound Document merge driver
+ driver = odctool merge -o %A -p HEAD %A -p PARENT %O -p BRANCH %B
+ [diff "odctool"]
+ name = BlackBox Compound Document diff driver
+ command = 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 without converting odc to text.
+
+
+Integration with ranger
+-----------------------
+
+1. To preview documents add to $HOME/.config/ranger/scope.sh:
+
+ handle_extension() {
+ case "${FILE_EXTENSION_LOWER}" in
+
+ ...
+
+ # BlackBox Compound Document
+ odc)
+ odctool -C -X cat "${FILE_PATH}" && exit 5
+ exit 1;;
+ esac
+ }
+
+2. To open/read documents add to $HOME/.config/ranger/rifle.conf:
+
+ ext odc, has odctool, terminal, file = odctool -C -X cat "$1" | less --tabs=2 -S
+
Current state
--------------------
-This is NOT final version of module DevDiff. It is NOT well tested, but it works. You are warned!
-Todo list see at the and of sources.
+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.