TWiki version: TWikiRelease04x00x03
Server OS: Windows 2000 with cygwin
Web server: Apache 2.0.55
Perl version: 5.8.6-4
Client OS: Windows 2000
When a topic is edited and saved, the new version is stored (as xxx.txt) and a new revision number is given. However, diff shows
no differences. Inspecting the RCS repository file xxx.txt,v shows, that this file has not been updated accordingly.
When using the cairo release in the
same environment, everything works without any problems!
I checked the access rights of the files as well as the config file carefully.
Check that the RCS commands you have defined are actually correct. It is likely that you are simply running the wrong command for your local version of RCS. Find our what command is being run, and try running it from the command line. Report the command and the output here.
I am setting this to Low until we have sufficient information to reproduce your findings.
CC
I have carefully compared the rcs commands contained in LocalSite.cfg with the ones defined in TWiki.cfg of the working cairo installation. As far as I can see, they are identical (except that the breakLockCmd is missing in LocalSite.cfg). Also, the rcs commands are working when they are written at the command line.
Can you give me some hints what I can do in order to locate the problem. Is there a debug mode which produces a log file?
On line 86 of lib/TWiki/Sandbox.pm, set $this->{TRACE} to 1. This will enable debug to the apache error log. What will be traced is all the commands issued to the operating system, which includes all RCS operations.
If this doesn't yield any clues, you can try and track exactly
what is saved and make sure that the (new).txt file really does contain your edited text just before the ci command is issued. You can use
print STDERR "blah blah $text blah blah";
in the code to print output to the Apache error log.
CC
With debug enabled I have run a small test: Just added a new line to Main.WebHome. The operations are documented in the apache
access.log and in the corresponding
error.log with debug info.
Since I am not familiar with perl development that deeply, I am not able to see, were the problem could be located. Do you have any further suggestions after looking at the output?
I also want to mention that the change made
must be in the new .txt file because I can see the change after the save operation. The problem, that the ci operation is not correctly working, seems to be introduced with the dakar release. Apparently this problem exists only within the Windows/cygwin environment.
I am setting this to Urgent because we can not live with that problem when using the dakar release.
TWiki:Main.MichaelSchmidt
In your debug output, find the command that
should be doing the ci - probably
/usr/bin/ci '-x,v' '-q' '-l' '-m"none"' '-t-none' '-w"MichaelSchmidt"' 'D:/twiki/data/Main/WebHome.txt'
. Paste this command at the cygwin shell command line. You should be able to see what RCS is unhappy about.
CC
When I paste this command at the cygwin shell, no error is indicated and the change gets checked in. Now the diff command shows the differences as expected. So the command shows to be ok, but it is not successfully issued within the context of TWiki.
In the error log is indicated:
-> Status: 302 Found, referer: http://twiki.schmidt.de/bin/edit/Main/WebHome?t=1153170546
At which location of the source code is the
/usr/bin/ci ...
command given?
TWiki:Main.MichaelSchmidt
The fact that you were able to check in suggests the possibility of a number of problems.
- RCS is ignoring strict locking. You should have had to lock (using rcs -l) before being able to check in. Or possibly, you have that file locked, which is preventing the apache user from checking it in.
- File permissions; normally I would expect the apache user to be able to write the file, but not a normal user (like you)
The command is defined in TWiki.cfg, and executed from lib/Store/RcsWrap.pm via lib/TWiki/Sandbox.pm
CC
I didn't had the time to investigate the exact reason for the problem described any further.
So I made a new intallation using release 4.0.4-2 and it worked - no problems at all!
It seems that the problem arises when upgrading an old installation in the Windows/cygwin environment. But I am not sure about that.
Anyway, I am happy that the problem is solved for me and the ticket can be closed.
TWiki:Main.MichaelSchmidt
In case anyone else runs into this or something similar (eg attachments not being version-controlled), see Item2814 and Item2219. In short, if you have upgraded from Cairo to Dakar at any point in the past, you may have incorrect RCS commands in your
LocalSite.cfg which need to be removed.
--
BenWheeler - 10 Jul 2007