Red Hat Bugzilla – Bug 447595
cvs-1.11.22-diff-rm.patch seems to break commit staging
Last modified: 2015-02-01 17:48:08 EST
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-220.127.116.11-fc8 (Fedora 8)
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,
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
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.
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.
should be fixed in latest build. Sorry for inconvenience. You can download and
try from: http://koji.fedoraproject.org/koji/taskinfo?taskID=633234
The problem is still present with the updated version from koji.
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.
Of course "..it SHOULDN'T crash when diffing locally removed files..."
Thanks. I won't be able to test this until Monday, unfortunately.
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.
Thank you for the testing, I'm going to push it as an update for F8.
cvs-1.11.22-13.fc8 has been submitted as an update for Fedora 8
cvs-1.11.22-14.fc9 has been submitted as an update for Fedora 9
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
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.
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.