Как вы получаете пейджер в SVN diff? - PullRequest
16 голосов
/ 08 сентября 2010

Мне бы хотелось, чтобы svn diff отображал цветные различия через пейджер (как это делает git). Мне удалось получить цветной дифференциал, установив diff-cmd в ~/.subversion/config:

diff-cmd = colordiff

Теперь я бы хотел передать вывод diff через пейджер, как мне это сделать? (Если не считать письма svn diff | less, конечно.)

Ответы [ 3 ]

14 голосов
/ 08 сентября 2010

В прошлом я использовал скрипт-обертку и установил diff-cmd для этого скрипта:

#!/bin/sh
colordiff "$@" | less -r

Но тогда вы получаете отдельный пейджер для каждого файла, я не уверен, что это то, что вы хотите. В настоящее время я просто пишу svn diff | less.

Еще одно простое решение - создать псевдоним: alias svndiff='svn diff | less'. Или, если вы хотите использовать svn diff, создайте функцию оболочки:

svn() {
    if [ x"$1" = xdiff ] || [ x"$1" = xdi ]; then
        /usr/bin/svn "$@" | less -r
    else
        /usr/bin/svn "$@"
    fi
}
6 голосов
/ 14 июня 2011

Я обычно бегаю svn diff | vim -.

0 голосов
/ 28 февраля 2017

Добавление

function sdi ()
{
    if tty -s; then
            exec svn diff --diff-cmd=colordiff "$@" | less -R
    else
            exec svn diff --diff-cmd=colordiff "$@"
    fi
}

к моему ~/.bashrc помогло мне.Взято с здесь

...