Spaces being eaten in colored diffs

VilleSkyttä scop at FreeBSD.org
Sun Oct 31 14:46:33 PST 2004


On Thu, 2004-10-28 at 23:23, Tim Buck wrote:
> On Oct 28, 2004, at 3:18 PM, Ville Skyttä wrote:
> 
> > On Thu, 2004-10-28 at 00:46, Tim Buck wrote:
> >> I'm seeing some strange behavior in CVSweb, both v3.0.1 and 3.0.2.
> >> Spaces are being "eaten" in the colored (human-readable) diff output
> >> under certain circumstances. The output is correct for the unified
> >> and context diffs.
> >
> > Do you have String::Ediff installed?  It has known whitespace related
> > limitations.
> 
> Yes, I do have that module installed. Should I remove it? Should I have
> an alternate module installed instead?

String::Ediff will be used by CVSweb if it's found; if not, the internal
colorization of CVSweb will be used in "human readable diffs" so you
don't need to install any additional modules.  String::Ediff provides
enhanced diffs in the sense that it pinpoints the actual changes instead
of marking whole rows changed, but as said, it has some issues with
whitespace.

If you don't like that behaviour, either remove the String::Ediff module
or change the line (around line number 112) in cvsweb.cgi from:

  use constant HAS_EDIFF    => eval { require String::Ediff;  };

...to:

  use constant HAS_EDIFF    => 0;

Hm, perhaps the choice to use String::Ediff or not (if it's available)
should be made configurable in the UI on per-user basis.  I've added
that to the TODO list.



More information about the freebsd-cvsweb mailing list