Configure o Mercurial para o diretório do extdiff Compare com o vim no Windows

0

Estou executando o Mercurial a partir da linha de comando no Windows XP. Eu tenho o plugin extdiff. Eu queria

hg vimdiff

para usar o comando DirDiff do Vim. Eu tentei colocar

cmd.vimdiff = gvim
opts.vimdiff = -f '+next' '+execute "DirDiff" argv(0) argv(1)'

No meu Mercurial.ini. Se eu fizer o hg vimdiff então gvim abre com um nome de arquivo '+ next'. Eu acho que o problema é fazer com citações e nomes de caminhos específicos para o Windows. Eu tentei um número de permutações de barras invertidas e aspas simples e duplas (não totalmente aleatoriamente), mas sem sorte.

Já resolvi o meu problema fazendo um script separado para invocar o gvim, por exemplo.

[extdiff]
cmd.vimdiff = c:\python25\python.exe
opts.vimdiff = c:\test\gvimdiff.py

e gvimdiff.py sendo

import sys
import os

os.system('gvim -c "DirDiff %s %s"' % (sys.argv[1],sys.argv[2]))

Mas se alguém souber o encantamento secreto para fazê-lo funcionar diretamente a partir da linha de comando me avise e talvez eu tente atualizar a documentação.

sparklewhiskers
fonte
A resposta aceita está vinculada a uma conta de blogueiro que é particular e a resposta não está mais visível. Você se importaria de postar a solução?
Ken Smith

Respostas:

2

O problema é causado por uma espécie de bug do vim ao chamar uma função com f-args e os args são strings terminando com '\'. A solução é remover o '\' à direita de cada arg.

Eu tenho uma solução mais compacta aqui:

Usando vimdiff com mercurial


fonte