我仍在研究在线 SVN 工具,diff
这次又卡在了计算上。
我制作了一个测试文件test.txt
,在 diff 上给出了这个结果:
Index: C:/data/aaxc/test.txt
===================================================================
--- C:/data/aaxc/test.txt (revision 8)
+++ C:/data/aaxc/test.txt (working copy)
@@ -1,3 +1,5 @@
-Fully new line
+Fully new line 1
{2nd modified line}
Specia$ čhar līne
+
+Nice one!
\ No newline at end of file
之后,我正在创建一个数组:
$data = explode( "\n", $svn_result );
$result = array();
for ( $k=2; $k<sizeof($data); $k++ ) {
# checks for filename
if ( substr( $data[$k], 0, 3 ) == '---' ) $result['left'] = substr( $data[$k], 4 );
else if ( substr( $data[$k], 0, 3 ) == '+++' ) $result['right'] = substr( $data[$k], 4 );
# check for changes
else if ( substr( $data[$k], 0, 1 ) == '-' ) $result['-'][] = substr( $data[$k], 1 );
else if ( substr( $data[$k], 0, 1 ) == '+' ) $result['+'][] = substr( $data[$k], 1 );
}
和输出:
Array
(
[left] => C:/data/aaxc/test.txt (revision 8)
[right] => C:/data/aaxc/test.txt (working copy)
[-] => Array
(
[0] => Fully new line
)
[+] => Array
(
[0] => Fully new line 1
[1] =>
[2] => Nice one!
)
)
到目前为止一切顺利,但我现在如何确保女巫路线已更改以及更改为什么?因为目前,当我尝试突出显示更改时,我无法确定它会正确突出显示它。
也许有一个脚本已经这样做了?
目前它在小的变化上运行良好,但在大的变化上肯定会失败。