http://www.componentsoftware.com/csdiff/
$ENV{PATH} = "/usr/bin/"; # Path used to find "diff"
to
$ENV{PATH} = "d:/program files/csdiff/"; # Path used to find "diff"
Having done this diff does not work, and editing stops working, giving the diagnostic
Could not get editing lock at d:\PROGRA~1\APACHE~1\apache\cgi-bin\perl\wiki.pl line 3224.
DataDir is
$DataDir = "//development/jb2tp/wikidb/"; # Main wiki directory $UseConfig = 1; # 1 = use config file, 0 = do not look for config
and works fine for displaying pages.
I'm using ApacheHTTPServer 1.3.22 and ActivePerl 5.6.1 build 631.
I have since tried
d://program files//csdiff// d:\program files\csdiff d:\\program files\\csdiff and then (copying the directory) d:\\csdiff\Finally I observed with Task Manager that diff was getting loaded, but not apparently completing.
I went to the command line and ran CSDiff with the same parameters as called from wiki.pl, viz
$diff_out = `d:\\csdiff\\diff /q $oldName $newName`;
Notice the /q parameter. First time up CSDiff fired up a window. So added the /q parameter. STILL CSDiff loads the window, what is happening?
Document Analysis Command-line Syntax: CSDiff.exe [/Houtfile | /Toutfile] [/b|/w] [/i] [/s] [/n] [/t=nnn] [/q] BaseFileName CmpFileName Parameters: /Houtfile – Generate an HTML output to file outfile.htm /Toutfile – Generate a text output to file outfile.txt /b -- Ignores trailing blanks (spaces and tabs) and treats other strings of blanks as equivalent. /w -- Ignores all blanks. As an example, a = b will compare equal to a=b. /i -- Ignores the case of letters. As an example, A will compare equal to a. /s – Do not perform line fragments analysis. /n – Output line numbers /t=size – Set the tab-stop size. /q – Do not invoke any windows. (Useful for remote activation and Web server activation.) Examples: CSDiff.exe /Tdiff C:\temp\base.txt C:\temp\NewFile.txt CSDiff.exe /Hhdiff /w /t=4 C:\temp\base.txt C:\temp\NewFile.txt
If this is the case should not CSDiff default its output to STDOUT if the /q parameter is used, rather than requiring an output file to be used?
You are right that in your case the logical output would be to STDOUT. However, CSDiff is used mainly in the windows environment and therefore the default output screen is a CSDiff window.
Is there any way (in Windows) to have the output go to STDOUT ?
STDOUT & pipes are not a common concept on windows. However, you can utilize it by specific parameters of the FileOpen? Windows API.