00391: bug in simuledit when diff3 unavailable

Summary: bug in simuledit when diff3 unavailable
Created: 2005-03-16 02:17
Status: Closed - fixed in 2.1.beta34
Category: Bug
From: Pm
Priority: 555
Version: 2.0.beta26

Description: on systems where diff3 is unavailable, conflicts can result in lost page contents. PmWiki should at least default to the behavior that exists when simultaneous edits didn't exist.


What about simply doing what is described in Simuledit Without Popen? and just integrating it into the core distribution. Because this problem is faced by every windows user! Klonk September 16, 2005, at 03:58 AM

I have also ran into this problem. My suggestion is to

  • catch the error, provide a meaningful error message
  • gather a list of free-to-use diff3 packages for different platforms (to be copied right into the directory of pmwiki.php so it will work)

BTW, I've changed the following in my simuledit.php:

  $merge_handle = popen("$SysMergeCmd $tempnew $tempold $temppag",'r');      #old
  $merge_handle = popen("$SysMergeCmd $tempnew $tempold $temppag 2>&1",'r'); #new

but this only shows the error message on the standard input (-> in the edit box). I have no idea how to safely distinguish between the diff3 output and the system error message. (Calling twice, once with redirection and once without??? :)) BTW, popen does not return FALSE on execution errors.

So this change up here is only good to get at least a message instead of ''.

borg? 2005.09.28

any chance to see this as core candidate for 2.1?

Blues December 09, 2005, at 03:58 AM

Closed - now fixed in 2.1.beta34, with an updated Cookbook:SimultaneousEdits recipe for those who don't have a diff3 program.