Я пытаюсь получить «svn log%». Для того, чтобы получить это в другой буфер, кажется, лучший способ это вызвать:
:new | set buftype=nowrite | r !svn log #
Где r
помещает вывод команды оболочки в буфер, созданный из new
и #
ссылается на имя файла предыдущего буфера. У меня проблема в том, что моя оболочка по умолчанию - DOS, а моя SVN - Cygwin. я получил
svn: E155010: The node '/e/code/branch\project\myproject\main.cpp' was not found.
Таким образом, кажется, что оболочка передает путь DOS, а svn интерпретирует его по базовому пути /e/code/branch
но затем добавляет остальную часть пути, используя \
- что само по себе сбивает с толку.
Я также попробовал:
silent exec "r !bash -c \"svn log `cygpath -u \'" . file . "\'`\""
Но я получаю попытку аутентифицировать пользователя. Что странно, потому что когда я запускаю ту же команду из меню «Пуск» или командной оболочки, мне не нужно входить в систему.
Как мне заставить SVN вести себя? У кого-нибудь есть хороший плагин для vim для svn?