[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-vc-dwim] vc-dwim 1.5: external diff died
From: |
Bruno Haible |
Subject: |
Re: [Bug-vc-dwim] vc-dwim 1.5: external diff died |
Date: |
Mon, 3 Oct 2011 14:11:54 +0200 |
User-agent: |
KMail/1.13.6 (Linux/2.6.37.6-0.5-desktop; KDE/4.6.0; x86_64; ; ) |
Hi Jim,
> Perhaps GIT_EXTERNAL_DIFF is still set in the environment?
I had unset it in the command line just before invoking vc-dwim.
You can see from the previous command (with "git diff") that this
'unset' command works as expected.
I had modified my copy of vc-dwim like this:
BEGIN
{
my $perllibdir = $ENV{'perllibdir'} || '/arch/x86-linux/gnu/share/vc-dwim';
unshift @INC, (split ':', $perllibdir);
# Override SHELL. This is required on DJGPP so that system() uses
# bash, not COMMAND.COM which doesn't quote arguments properly.
# Other systems aren't expected to use $SHELL when Automake
# runs, but it should be safe to drop the `if DJGPP' guard if
# it turns up other systems need the same thing. After all,
# if SHELL is used, ./configure's SHELL is always better than
# the user's SHELL (which may be something like tcsh).
$ENV{'SHELL'} = '/bin/sh' if exists $ENV{'DJGPP'};
undef $ENV{'GIT_EXTERNAL_DIFF'};
}
Apparently this last statement is causing the trouble.
Admittedly I am trying to modify code that I don't understand - until
the problem I reported yesterday gets fixed upstream.
When I remove that hack, now I get reasonable output from 'vc-dwim':
$ (unset GIT_EXTERNAL_DIFF ; vc-dwim)
vc-dwim: lib/relocatable.c is listed in the ChangeLog entry, but not in diffs.
Did you forget to add it?
But without the 'unset' command, vc-dwim does not recognize the diff format,
like you predicted:
$ vc-dwim
vc-dwim: ChangeLog contains no newly added lines
Bruno