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

0

Estou executando o Mercurial na linha de comando do 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 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 uma série de permutações de barras invertidas e aspas simples e duplas (não totalmente aleatoriamente), mas sem sorte.

Já resolvi 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, avise-me e talvez eu tente atualizar a documentação.

    
por sparklewhiskers 14.09.2009 / 13:11

1 resposta

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 '\' final de cada argumento.

Eu tenho uma solução mais compacta aqui:

Usando o vimdiff com o mercurial

    
por 01.10.2009 / 22:20

Tags