⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 svn-viewdiff

📁 subversion-1.4.3-1.tar.gz 配置svn的源码
💻
字号:
#!/bin/sh# -*- coding:utf-8;mode:shell-script;mode:font-lock -*-### GNU diff wrapper for FileMerge.## (FileMerge is a graphical diff tool in the Mac OS X Developer# Tools.)## Use this as a --diff-cmd argument to svn diff in order to view your# diffs using FileMerge.### Copyright (c) 2002 Wilfredo Sanchez Vega <wsanchez@wsanchez.net>.# All rights reserved.# # Permission to use, copy, modify, and distribute this software for any# purpose with or without fee is hereby granted, provided that the above# copyright notice and this permission notice appear in all copies.# # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL# WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED# WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE# AUTHORS BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL# DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR# PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR# PERFORMANCE OF THIS SOFTWARE.##set -eset -u### Handle command line##usage (){  program=$(basename "$0");  if [ $# != 0 ]; then echo "$@"; echo ""; fi;  echo "${program}: usage:";  echo "    ${program} [options] file1 file2";  echo "";  echo "options:";  echo "  --help                     Print this help";  echo "  -c                         Ignored";  echo "  -C --context X             Ignored";  echo "  -u                         Ignored";  echo "  -U --unified X             Ignored";  echo "  -L --label X               Ignored"; #echo "  -p --show-c-function       Ignored"; #echo "  -F --show-function-line X  Ignored";  echo "  -q --brief                 Ignored";  echo "  -y --side-by-side          Ignored";  echo "  -w --width X               Ignored"; #echo "  --left-column              Ignored"; #echo "  --suppress-common-lines    Ignored";  echo "  -l --paginate              Ignored";  echo "  -t --expand-tabs           Ignored";  echo "  -T --initial-tab           Ignored"; #echo "  -r --recursive             Ignored";  echo "  -d --minimal               Ignored";  echo "  -H --speed-large-files     Ignored";}# Process argumentswhile [ $# != 0 ]; do  case "$1" in    --help)      usage;      exit 0;      ;;    # These display options would not make sense for FileMerge    -c                     ) shift 1; ;; # Context diff    -C|--context           ) shift 2; ;; # Context diff    -u                     ) shift 1; ;; # Unified diff    -U|--unified           ) shift 2; ;; # Unified diff    -L|--label             ) shift 2; ;; #   Label   #-p|--show-c-function   ) shift 1; ;; #   C function names   #-F|--show-function-line) shift 2; ;; #   Show recent line w/ regex    -q|--brief             ) shift 1; ;; # Output only whether files differ    -y|--side-by-side      ) shift 1; ;; # Output in two columns    -w|--width             ) shift 2; ;; #   Max chars per line   #--left-column          ) shift 1; ;; #   Left only if common   #--suppress-common-lines) shift 1; ;; #   No output if common    -l|--paginate          ) shift 1; ;; # Pass through pr    -t|--expand-tabs       ) shift 1; ;; # Expand tabs    -T|--initial-tab       ) shift 1; ;; # Add initial tab   #-r|--recursive         ) shift 1; ;; # Recurse into directories    -d|--minimal           ) shift 1; ;; # Try hard to minimize changes    -H|--speed-large-files ) shift 1; ;; # Assume large files and small changes    # Implement these   #-s  --report-identical-files    --|*) break; ;;  esac;done;if [ $# != 2 ]; then    usage "Invalid arguments: $*";    exit 1;fi;file1="$1"; shift;file2="$1"; shift;### Do The Right Thing#### If opendiff isn't installed, you can't launch FileMerge.# If we're not in the OS X Terminal, we probably can't run FileMerge#if ! type opendiff >& /dev/null || [ "${TERM_PROGRAM:=}" != "Apple_Terminal" ]; then    diff "$@";    exit $?;fi;merge="${file2}";tmp="";if [ $(dirname "${file1}") == "/tmp" ]; then    if [ -z "${tmp}" ]; then tmp=$(mktemp -d /tmp/viewdiff.XXXX); fi;    ln "${file1}" "${tmp}/left";    file1="${tmp}/left";fi;if [ $(dirname "${file2}") == "/tmp" ]; then    if [ -z "${tmp}" ]; then tmp=$(mktemp -d /tmp/viewdiff.XXXX); fi;    ln "${file2}" "${tmp}/right";    file2="${tmp}/right";    merge="";fi;echo opendiff "${file1}" "${file2}";if [ -z "${merge}" ]; then    opendiff "${file1}" "${file2}";else    opendiff "${file1}" "${file2}" -merge "${merge}";fi;sleep 1# Give FileMerge some time before letting svn diff continue and possibly delete# any temp files, or before deleting our own temp files.if [ -n "${tmp}" ]; then (sleep 2; rm -rf "${tmp}") & fi;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -