info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

/tmp Problems...


From: help
Subject: /tmp Problems...
Date: Tue, 4 Oct 2005 18:33:39 -0400 (EDT)
User-agent: SquirrelMail/1.4.4

Interesting dilemna...

I just moved a cvs repository
from a RedHat 7.2, cvs version 1.11.1p1
to a RedHat ES3, cvs version 1.11.2

the repository sat in /home/cvsroot
i literally tarred this directory up and untarred it on the new server in
the same place /home/cvsroot.

Everything seems to be working fine, cvs checkouts, adds, updates, and
commits...

or so I thought.

our commitinfo has one line:
DEFAULT $CVSROOT/CVSROOT/checkin.php

obviously this runs the file /home/cvsroot/CVSROOT/checkin.php
that php script simply parses the new file being uploaded, which is
probably also a php file, and makes sure the php interpreter returns no
errors. it also moves the file to another location where users can then
open a web browser pointing to that location and further test it.
Its solid and on the old cvs server it worked, and still works because i
havent disabled that server yet.

However, on the new server commitinfo fails. Using lsof and doing over a
hundred commits today on both old and new servers, I've come to this
conclusion:
the old server creates a directory in /tmp/cvs-servPID where it stores the
files that its about to commit. when the php script checkin.php gets
called it knows to look inside that /tmp directory, the script runs on the
file(s) about to get updated and all is well. if checkin.php returns (0)
the file gets committed, if not, the file does not get committed.
on the new server that /tmp directory NEVER gets created, no temporary
files get created. so the commitinfo script calling checkin.php fails
because checkin.php looks for the "file" and never finds it.

CVS on the old server is installed via RPM, the same on the new server.

after about two or three hours trying to get this fixed I switched to
sources and re-compiled about 3 or 4 different versions of CVS on the new
server, using the ./configure --with-tmp=/tmp switch...
I re-did the permissions on /tmp, I even tried changing the settings in
/etc/xinetd.d/cvspserver and added a -T /tmp switch...

NOTHING has worked... commitinfo does not work using the :pserver: method
and it doesnt work just using CVSROOT=/home/cvsroot

The last thing I tried on the new server was re-installing cvs, i then
created a new directory called /home/cvs
i initialized that as a cvs root directory, then imported some brand new
files, edited commitinfo added the checkin.php script to it, copied the
checkin.php script from the old server to this new location... and then
tried a cvscommit again... Nothing... no /tmp... no parsing, nada...

just to make sure i made sense, checkin.php does run, but the second
parameter that cvs passes to it, the actual file being committed, is never
actually found...

I'm spent... it still doesnt work....?? Any ideas?? any further questions
just let me know... i can answer anything...
HHEELLPP!!!!







reply via email to

[Prev in Thread] Current Thread [Next in Thread]