Cornerstone 3 添加外部diff工具

来源:互联网 发布:vscode js代码高亮 编辑:程序博客网 时间:2024/06/05 21:15

因Mac上的svn工具Cornerstone的diff工具十分不好用,并且比对不精确,所以想在Cornerstone内调用第三方diff工具。个人使用DiffFork进行比对。

DiffFork还提供shell方式打开软件可以软链到/usr/local/bin/difffork

但是我通过shell方式打开后是生成了2个比对窗口,2个文件没能在一起比对,所以使用了applescript方式。

但是BeyondCompare可以通过shell方式正确打开,但是Mac下的BeyondCompare对中文不友好所以就用DiffFork了。

shell调用方式:

  1. #!/bin/bash 
  2.  
  3. original_path="$1" 
  4. modified_path="$3" 
  5.  
  6. /usr/local/bin/bcompare "$original_path" "$modified_path" 

DiffFork提供的applescript调用示例:

  1. (* 
  2. diff v: Diff 
  3.  diff item : the old item. 
  4.  against item : the new item. 
  5. *) 
  6.  
  7. set theOld to (choose file with prompt "Select Old:"
  8. set theNew to (choose file with prompt "Select New:"
  9.  
  10. tell application "DiffFork" 
  11.  activate 
  12.  diff theOld against theNew 
  13. end tell 

因为Cornerstone的外部工具只支持*.sh的所以修改了DiffFork提供的applescript以shell方式打开。

  1. #!/bin/bash 
  2.  
  3. osascript -e 'tell application "DiffFork"' -e "activate" -e "diff \"$1\" against \"$3\"" -e 'end tell' 

下面是BeyondCompare的调用方式:

  1. #!/bin/bash 
  2.  
  3. original_path="$1" 
  4. modified_path="$3" 
  5.  
  6. /usr/local/bin/bcompare "$original_path" "$modified_path"