From 0ca83c247bc68e4844d5d35e356abbc5cbcd813d Mon Sep 17 00:00:00 2001 From: DeaDDooMER Date: Sun, 16 Dec 2018 22:59:34 +0300 Subject: [PATCH] Added dedicated utility - odctool --- Dev/Mod/Diff.odc | Bin 32772 -> 34580 bytes Odctool/Mod/Linux.odc | Bin 0 -> 2290 bytes Odctool/Mod/Main.odc | Bin 0 -> 10664 bytes Odctool/Mod/Sys.odc | Bin 0 -> 2207 bytes Odctool/Mod/Win32.odc | Bin 0 -> 2470 bytes README | 65 +++++++++++++++++++++++++++++++++++------- 6 files changed, 54 insertions(+), 11 deletions(-) create mode 100644 Odctool/Mod/Linux.odc create mode 100644 Odctool/Mod/Main.odc create mode 100644 Odctool/Mod/Sys.odc create mode 100644 Odctool/Mod/Win32.odc diff --git a/Dev/Mod/Diff.odc b/Dev/Mod/Diff.odc index 507ce85a831cb537409d3537d116547488314750..ecba41ca8079e6d0796619842710b8c599a5e10a 100644 GIT binary patch delta 1632 zcmbVL&rj2E6z@7A6tbX33=%fJ8HseuQdxC~B3lL+oweR=$ect)nB$9>sreUI@wdsK4Wxb$?FwCl%X?jK+fhEr^Y2~s zIq#$I&i!s4LKHuMp>N>t#$3(~f4(2336z+3A0-#O`tZfYQ0;~cqU|2quA_7tC1zs< zuuJX$^6U(P-XXNz<$O-c2pTUpZYL)0OpO1d*6wrgq44(|ll#lE-F06*oRAUQ|>Kq>;GxSw` zq^T;)q8@;Aqy`3IFe*?TG&9U(naMIX$-t^a?_$N8Jy_$_dO2sI+8@R4JGRLvLc2 zB370fA%-5HJA&*8VMYT-lbPlmg6G4T_CUJGdq#q+=v)eW0X3TgZXg?dq>fK9Cr%h? zP>v8=C;14OU*D`0VGr1rOb-e{nwcEPp0@p3&xAU3KgJ4~b*{4oA8`WP2~%%z^1RNr z-F46_#VNY*Ajp_f2BwrHb7gwfp$BSVTdUbV+16y#@)(v!SRLY&yTox2AHOB`{G37k qb?2MTrFVvdF#e4=<(`@R7i(r1ZCGm}01M$9&fowGZ2#OE8~6jYADD0e delta 135 zcmbQz$JElmG@+iUv3_D>EZ6xu1_n+B28QEx6JNM671mAGW3&^gu3=!{2MQJgX$W}D zI=O*y4&(XBvP`m!0-LRwe3+Ot7$^5L$xU9)@|$NGOx;U2rpXJ~BsPb$on_`#uvG}~ c_w);K4N?g4-)zNoj&bvBp1PdPf9fPS0QKf31ONa4 diff --git a/Odctool/Mod/Linux.odc b/Odctool/Mod/Linux.odc new file mode 100644 index 0000000000000000000000000000000000000000..945981f381b1ba613ee2321616a8d0be3c3e7fa6 GIT binary patch literal 2290 zcma)8&5zqe6rb>Izycu-h|@b%s#7d0t&l*;F2dMmH)=MHZ0}Y}w4gLGTd%SdX-@N&F_WZD5_*^{ki|OJt z&3Wa-d{%e-w3;%_bXo5eIiF;CT2{_Mmfn}nBx(IWV_uXgfnp;(XgGRa#kY7(h!3EPJMD^!G+#l)&w@%+t9Is2^l^r#8gr6?C_2ckJ~{!!*2b7$>G-oKBXb3BL#1 zaIk}nz0T2JmWSD zgFEDh@sQbYV#7Smbuym?JN+R#pr18!km{MOQbnC9d;mAwJrI^DrAww!*m{tWrbGC5 zcKew647PL!@Iy2iCykeZgHvY^46QZL**H78)+Q8<1?mJ>Nq}r}h!fb_ra35VLvkL| z+>S2uLs(J@T%$kqtP`;sDy2e`kp>keeMG{@+cd7sDK3pyEOHK3`*}%>f@D7$s%%Nn zIs$?J1$QUq=m^$&X%JuE3m9InlpDuElvp`@g1NWhR!5|+(Qc{X(Sj?7)6q$tjq@YP zOOE)Tth_~8;!WG^IWh4KVq$ZBgNJ2&%rjFYGbRTt!5ug@3l`CUAp-mXh$ zqn;#fM}o9LIf|()#paO**f~!5^#06>591`*a}L~rrH-~53{SW;xqf6-k*dktW=<%HinlmLSxF}*D;+w4J+X{&N-4BZ**0mb z>35VPZ&j)wWig*qiNdSeyBm9XVLv8&3HAogN0;cE9r}EwUY0Tbu%0AV9OEz=;whU>$@>c@8 bBIyrrR}8K{X5aqxx_I9U@39|mJY?)2fHY%F literal 0 HcmV?d00001 diff --git a/Odctool/Mod/Main.odc b/Odctool/Mod/Main.odc new file mode 100644 index 0000000000000000000000000000000000000000..b23c3b8f470f72c5acdc3a5aa21657f50cb4c7c7 GIT binary patch literal 10664 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 literal 0 HcmV?d00001 diff --git a/Odctool/Mod/Sys.odc b/Odctool/Mod/Sys.odc new file mode 100644 index 0000000000000000000000000000000000000000..4a9c244bb031a18f57417e8a7fa991b32fa8d793 GIT binary patch literal 2207 zcmbVO%}*0S6rbW}m8wzWcj6dKXe%~|7Xy-5wktM3x6W=cNIXEh!D{IyyHkOifvX3P z+$7;-JbCwz@lTMRIGE^r^Y)8nG3q4SdGkJg?_+k~t5z`_25WP#;xv1!c2{~OQ?`Ob z#rB#kCOXL1oUUAIcWu`z&A06}QbsCv{$WbTwGk9HrGf5nor34qX+>_uT+BHwyF*Yh z{1{h}UMa@$UFaQqRT=h=D^$kbfR8ND%jgT&=ALD*O9~OvjG~U%A+J9`HtH7v1_@ppu1Y_rcJ_kFkM;X{DCf}?qrQ2TaN!vS^$*^y6!`~TNvLgHb zK@seu+IE1K+3e>~25W>imS%+dWONm^Zo)GVSt1KpnkDkTsoJQ^y939}bz~|Gm8=e@ zflJ7{hm_(qkWv<7ArAv2>10S1kW#h}L*8wm*bpAo%~pZ>HD^>BvpP3gP3brtbHkg+ z<+9bex*;q+W4m3ugA8k-uIIAZvb&;Q?joP$b)#CdbiplymxU-VaN{Z0o|VM}=vCUT z4S4QGQgO<(L|L=A&^1F;xL&KEdM-O(7O=P4?l=!^Ns=$})t)E$n&ZCZOCDcxSDL(7 z$Ytxo(DX_}=se$wSrs@0sX4u_ywCH6agISw>tcl0^cN$%><0kYxoisbyTw<32A{Si z-~)6wga#);UDCW987Dw#J=cX^5vEKbABh%E+O*NEm`EP-n$oAMHM}d+)PEJwpzN$&rp99!dA zFNyRgg|C0qr0{jwT_k8Y05STNKrYG*`vemo1%dGI+dd5p1jaSEPtW7ei|p(^dlLT- kk*xIvG6{ca?!!?PeS5}Ze0Z0=|9M6|*NoR}r?}17ZzQB6mjD0& literal 0 HcmV?d00001 diff --git a/Odctool/Mod/Win32.odc b/Odctool/Mod/Win32.odc new file mode 100644 index 0000000000000000000000000000000000000000..c62f898472afb8f814f4d0ebeb7203b1d05897ae GIT binary patch literal 2470 zcma)8&yU+g6rKeH7_dMEB!q-C5|wI~U}YCh$u7d!?lx*Rj%@FSZM2or#M*k5*k$5` z-5c6ok>J=HNIg}Yxbw$w=R$Mp0SVrFGj^P816WFC=Kc8IH*cQj*>U}h!E^b{&4#l{ zoaR$2%tyt-ji*CaQLW0IEX@Z=8jGoQl*HdkW1Lmie};J`Vg!YOEHE5CufgwQji!$( zAr7)pJeE)u{EC#OQ>!9TA-r)sA;-llgv!`AuQP@b5*X>Zd=|y$xugi&T(Vw@OWEQj z<%9#0eOID9A`Ha>Kq^EK>kMeKJeYcw#WU^ zFwe4aFG)Y!Y3jPxI_UaA#KYq-@(ybJPAt-RT;rg(A0{;(UQBsoukeCZQ`dCO@jGFp zYuaRR-W}u*_#WS`?|e?G=(y{F#!W;Ffy4#qx_+w@c>#}n9(ax)xZD6Bt28meUK@zh zVS}ULz83%zN#>2JvmFHXG52pFDa#h8RPSKvbzF4NwIe%#ag>M#FTtgz8~Bdr9tIva zMir&WTWONlc*pCZo%GjW+h;XCj?)_7#7d^e3gXIBK`@zDY_7&Oz(TSnd)SvTvd~Kk z`6qnaY;qC}5eQVnCQoo$#{j+CEvS)%?~;bQKFGAQQmsK!aMAWU7-`;5POeiRZ5at< zlsp*={Uzub-`&HcDo{=G>SMA`6cxb36%x_3R>v{Us5I31k|aTi5}c!(N>@7@4#u}c z92>Hdts}c_C>`YgC`(3^g1HF*;7 zm>mOzrjAuqy-h9I39##lY&^!c3hl+og=&Y`U8>6E{7Sogk*dI4)0NHgJ=HB_OI8c) zC)DqPSwVYJftzK;PoQ)_YeiRtRls zn1$nYoKSPbN&Qy|axLFtKf#9&DhlQQ@0+sOA|5_(J(s`Tr+xP3bM|HRQ))fe??{*O gzxXbpuN3z9&Xn;RPuO>Vy+OYZ{0Hpkn~xd$2d^HIYybcN literal 0 HcmV?d00001 diff --git a/README b/README index e1a4e4f..81432a6 100644 --- a/README +++ b/README @@ -1,24 +1,67 @@ BlackBox diffutils -------------------- -Clone of diff, patch and diff3 utilites from *nix for BlackBox and its binary document format. +Clone of diff, patch and diff3 utilites from *nix for BlackBox and its binary Compound Document format. -Building + +Commands +-------------------- + +To use tools within Blackbox just compile DevDiff. + +DevDiff.Compare (guard TextCmds.FocusGuard) + + Compare texts from two windows. + Can directly replace DevSearch.Compare in Dev/Rsrc/Menus.odc. + + +^Q DevDiff.CompareThis [">" ] + + Compare two files and produce patch in unified diff format. + + +^Q DevDiff.ApplyPatch + + Read unified diff format and apply changes from it. + + +^Q DevDiff.MergeThis [">" ] + + Read three files and do three-way merge like. + + +Dedicated tool -------------------- -Just compile module DevDiff. +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. + +Warning: It tested only with wine and NOT tested on windows or native linux. + -Usage +Integration with GIT -------------------- -See sources. Documentation not writed yet. -Coomand DevDiff.Compare compare texts from two windows (link DevSearchCompare). -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. +It is possible to integrate three-way merge with git. + +1. Open .git/config and add this lines: + + [merge "odctool"] + name = BlackBox Compound Document merge driver + driver = /full/path/to/odctool merge -P %P %A %O %B %A + +2. Open/create .git/info/attributes and add this line: + + *.odc merge=odctool + +Now when conflict occurs, it marked like diff3 directly in odc file. +Checked not only text, but also views and formatting. + 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 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. -- 2.29.2