MAC OS X 下配置 SVN 使用 DiffMerge

记录几个脚本便于以后查看

diff-wrap.py:

#!/usr/bin/env python

import sys

import os

# Configure your favorite three-way diff program here.

DIFF3 = "/Applications/DiffMerge.app/Contents/MacOS/DiffMerge"

# Subversion provides the paths we need as the last three parameters.

LABEL_LEFT = sys.argv[-5]

LABEL_RIGHT = sys.argv[-3]

FILE_LEFT = sys.argv[-2]

FILE_RIGHT = sys.argv[-1]

# Call the three-way diff command (change the following line to make

# sense for your three-way diff program).

cmd = [DIFF3, '--nosplash', '-t1', LABEL_LEFT, '-t2', LABEL_RIGHT, FILE_LEFT, FILE_RIGHT]

os.execv(cmd[0], cmd)

diff3-wrap.py:

#!/usr/bin/env python

import sys

import os

# Configure your favorite three-way diff program here.

DIFF3 = "/Applications/DiffMerge.app/Contents/MacOS/DiffMerge"

# Subversion provides the paths we need as the last three parameters.

LABEL_MINE = sys.argv[-8]

LABEL_OLDER = sys.argv[-6]

LABEL_YOURS = sys.argv[-4]

FILE_MINE  = sys.argv[-3]

FILE_OLDER = sys.argv[-2]

FILE_YOURS = sys.argv[-1]

# Call the three-way diff command (change the following line to make

# sense for your three-way diff program).

cmd = [DIFF3, '--nosplash', '-t1', LABEL_MINE, '-t2', LABEL_OLDER, '-t3', LABEL_YOURS, FILE_MINE, FILE_OLDER, FILE_YOURS]

os.execv(cmd[0], cmd)

merge-wrap.py:

#!/usr/bin/env python

import sys

import os

# Configure your favorite three-way diff program here.

DIFF3 = "/Applications/DiffMerge.app/Contents/MacOS/DiffMerge"

# Subversion provides the paths we need as the last three parameters.

FILE_BASE   = sys.argv[1]

FILE_THEIRS = sys.argv[2]

FILE_MINE   = sys.argv[3]

FILE_MERGED = sys.argv[4]

FILE_WCPATH = sys.argv[5]

# Call the three-way diff command (change the following line to make

# sense for your three-way diff program).

cmd = [DIFF3, '--nosplash', '-m', '-t1', 'Incoming Merge Changes', '-t2', 'Original (merged)', '-t3', 'Current Working Copy changes', '-r', FILE_MERGED, FILE_THEIRS, FILE_BASE, FILE_MINE]

os.execv(cmd[0], cmd)

.subversion/config(在[helpers]下):

diff-cmd = /full-path-to-script-dir/bash-scripts/diff-wrap.py

diff3-cmd = /full-path-to-script-dir/bash-scripts/diff3-wrap.py

diff3-has-program-arg=yes

merge-tool-cmd = /full-path-to-script-dir/bash-scripts/merge-wrap.py


posted @ 2013-03-12 15:13  Proteas  阅读(1057)  评论(0编辑  收藏  举报