Поскольку похоже, что TFS tf.exe его не поддерживает, поэтому ниже я приведу альтернативное решение, которое работает в оболочке cygwin
.Сначала вы должны создать символическую ссылку tf
, где находится ваше tf.exe
.А в .bashrc
добавьте следующую функцию:
tf_diff () {
[ $# -ne 2 ] && return
local TLINES=$(tput lines)
local ARTIFACT=$1
local CHANGESET=$2
local $PREVIOUS=$(tf history . /recursive | sed -n "/$CHANGESET/{n;p;}" | cut -d' ' -f1)
local TMPFILE=$(mktemp --suffix=.diff)
rm -f $TMPFILE
tf diff $ARTIFACT /version:$PREVIOUS~$CHANGESET > $TMPFILE;
if [ $(wc -l < $TMPFILE) -gt $TLINES ]; then
vim $TMPFILE
else
cat $TMPFILE
fi
rm -f $TMPFILE
}
Вы можете выбрать сохранение предыдущих историй в файл, так что только тогда вы будете удаленно запрашивать историю TFS, если набор изменений отсутствует в файле.
Я приму этот ответ, как только буду уверен, что TFS tf.exe действительно не сможет этого сделать.