проблема при использовании плагина VCSCommand Vim с Mercurial - PullRequest
2 голосов
/ 22 сентября 2010

Я только что установил VCSCommand и получаю сообщение об ошибке «Нет подходящего плагина» всякий раз, когда я пытаюсь запустить команду. У меня есть файл, загруженный в Vim, который находится в каталоге с ртутным хранилищем.

Я нашел некоторые объяснения того, что ошибка «Нет подходящего плагина» может отображаться, если вы не находитесь в «рабочем каталоге», и я понял, что файл, который вы редактируете, должен находиться в «рабочем каталоге» файлов, извлеченных из хранилища. Проблема может заключаться в том, что (как новый пользователь Hg) я не обращаюсь к Mercurial должным образом. Файл, который я редактирую, находится в каталоге, где я создал Hg-репозиторий, чтобы отслеживать мои локальные изменения. Команды, которые я дал, были 'hg init', затем 'hg add', и с тех пор я с удовольствием использую 'hg commit', 'hg log' и 'hg diff'. Разве этот каталог не является «рабочим каталогом» репо? Предполагая, что это проблема, как мне «извлечь» файлы из репозитория hg в рабочий каталог?

Или, возможно, вышеописанное не является проблемой с ошибкой «Нет подходящего плагина». У меня есть файл vcshg.vim в правильном каталоге плагинов, так что плагин там.

Спасибо, любая помощь приветствуется.

ОБНОВЛЕНИЕ: на случай, если мое использование Mercurial было проблемой, я попытался создать «клон» моего основного репозитория Mercurial и редактировать файлы в клоне. Тем не менее получить тот же «Нет подходящего плагина». сообщение.

ТАКЖЕ: я оставил исходное сообщение о том, что я работаю в Windows, и я думаю, что отследил все до неправильного цитирования escape-кодов в строках. Будет предоставлено дальнейшее обновление, как только я получу полное разрешение.

Ответы [ 2 ]

3 голосов
/ 24 сентября 2010

У меня получилось, что VCSCommand работает нормально.Я думаю, что проблема не имела никакого отношения к Mercurial, скорее это было связано с проблемами в VCSCommand с цитированием системных команд в Windows.По крайней мере, это было главной проблемой.

Чтобы заставить работать VCSCommand, я сначала убедился, что для переменной b: VCSCommandVCSType установлено значение 'HG'.По какой-то причине он не был установлен, и именно поэтому я получаю ошибку «Нет подходящего плагина».

Во-вторых, мне пришлось изменить строку в vcshg.vim. Функция s: Executable () состоит изиз функции «return.....» в одну строку. Оболочка shellescape () вокруг системного вызова неправильно цитировалась, после того как я удалил ее, она работает нормально. (Та же проблема может существовать в файлах vcsXX.vim для систем, отличных от Mercurial, Я не проверял это.)

Я думаю, что эта проблема цитирования существует только в Windows, и, возможно, возникла, потому что основной разработчик не имеет компьютера Windows для тестирования ... ...

0 голосов
/ 23 сентября 2010

Сначала ответьте на вопрос «рабочего каталога»: ваш репозиторий - это ваш рабочий каталог .В отличие от cvs / svn, вам не нужно извлекать файлы для редактирования.Вы просто редактируете.

(FYI hg называет свою команду update checkout и co, чтобы помочь пользователям SVN, но hg update - это совсем другое животное.)

Беззная вашу полную среду (платформу, установку vim и т. д.), я могу только догадываться, что ошибка «Нет подходящего плагина» связана с тем, что ваши файлы VCSCommand находятся не в нужном месте.Я попробовал его последнюю версию 1.99.42 с моим древним vim 7.2 на cygwin с помощью cp VCSCommand/plugin/* ~/.vim/plugin/, vim файла в репозитории hg, тогда :VCSStatus покажет мне правильный результат.

Если у вас есть другиеVCS, которые поддерживает VCSCommand (cvs, svn, svk, git, bzr), попробуйте в одном из своих репозиториев и посмотрите, не появляется ли такая же ошибка.Если да, то это определенно проблема с установкой VCSCommand.

...