Bug 447595

Summary: cvs-1.11.22-diff-rm.patch seems to break commit staging
Product: [Fedora] Fedora Reporter: Ralph Siemsen <ralphs>
Component: cvsAssignee: Jiri Moskovcak <jmoskovc>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 8CC: dfediuck
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 1.11.22-13.fc8 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-06-20 19:06:15 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ralph Siemsen 2008-05-20 18:16:19 UTC
Description of problem:
The cvs-1.11.22-diff-rm.patch seems to be inadvertently affecting 'cvs commit'
in addition to its intended effects during 'cvs diff'.

Normally during a commit, the files being checked-in accumulate on the server in
a temporary directory.  With the aforementioned patch, some of the files are
cleared from this directory before the loginfo/commitinfo scripts are run.  This
causes any post-commit scripts that expect to access the files to fail.

The commit itself succeeds, but email notification has problems - it is unable
to show details for some of the files.  The same setup worked in Fedora 6 and
earlier, but broken when upgraded to Fedora 8.

Removing the only the cvs-1.11.22-diff-rm.patch from the Fedora 8 version
restores the original behaviour, so it seems to be a side-effect of this patch.

Version-Release number of selected component (if applicable):
cvs-1.11.22.12-fc8 (Fedora 8)

How reproducible:
Happens on most commits.  Does not seem to matter if the commit happens on a
branch or the mainline.  Some files work fine and others seem to vanish before
the commit notification script runs.

Steps to Reproduce:
We see this in conjunction with the CVSspam notification tool,
http://www.badgers-in-foil.co.uk/projects/cvsspam/
but you should be able to see it with a simpler variant such as the standard
commit_prep/log_accum scripts included in the distribution.

1. Configure email notification upon checkin for a repository
2. Commit a group of files
3. Check the generated email against what files were committed

Note:
In step 2, users see the message "cvs diff: cannot find <filename>" on their
terminals for some (not all) of the files being committed.  The same files are
incomplete (no diff or diffstat) in the generated email notification.  Note that
the files are successfully checked into CVS.

Additional info:
We have confirmed that the files really are missing from the temporary
directory.  With earlier versions of CVS, these files were present.  It seems
that the patch for #242049 and #277501 is causing the files to be removed prior
to execution of the loginfo/commitinfo scripts.

Comment 1 Jiri Moskovcak 2008-05-28 14:57:18 UTC
Hi,
should be fixed in latest build. Sorry for inconvenience. You can download and
try from: http://koji.fedoraproject.org/koji/taskinfo?taskID=633234

Comment 2 Ralph Siemsen 2008-05-29 18:42:00 UTC
The problem is still present with the updated version from koji.

Comment 3 Jiri Moskovcak 2008-05-30 11:02:47 UTC
Ops, I built it from wrong src.rpm. This should be the right one, I rewrote the
diff-rm patch, so it should crash when diffing localy removed file
(rhbz#242049), but the problem with rhbz#277501 remains - it needs bigger change
in code (removing the diff.patch will make it totally quiet) so for now just a
fix to correct commit.
http://koji.fedoraproject.org/koji/taskinfo?taskID=636140

Comment 4 Jiri Moskovcak 2008-05-30 11:38:24 UTC
Of course "..it SHOULDN'T crash when diffing locally removed files..."

Comment 5 Ralph Siemsen 2008-05-30 13:28:07 UTC
Thanks.  I won't be able to test this until Monday, unfortunately.

Comment 6 Ralph Siemsen 2008-06-05 12:51:39 UTC
Sorry for the delay in reporting back.  There have only been a few minor commits
since upgrading CVS server.  I have been waiting for more activity, but
apparently our developers are sleeping :)

So far, the updated CVS seems to be working correctly.


Comment 7 Jiri Moskovcak 2008-06-05 13:08:14 UTC
Thank you for the testing, I'm going to push it as an update for F8.

Comment 8 Fedora Update System 2008-06-06 09:15:09 UTC
cvs-1.11.22-13.fc8 has been submitted as an update for Fedora 8

Comment 9 Fedora Update System 2008-06-06 09:52:30 UTC
cvs-1.11.22-14.fc9 has been submitted as an update for Fedora 9

Comment 10 Fedora Update System 2008-06-06 22:10:52 UTC
cvs-1.11.22-14.fc9 has been pushed to the Fedora 9 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update cvs'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F9/FEDORA-2008-5072

Comment 11 Fedora Update System 2008-06-20 19:06:13 UTC
cvs-1.11.22-13.fc8 has been pushed to the Fedora 8 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 12 Fedora Update System 2008-06-20 19:14:36 UTC
cvs-1.11.22-14.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.