Approve command fails with a call-sccs message: "bad p-file format (co17)"
When there are an extraordinary number of deltas being approved
for a particular file, the Sablime® approve
command may fail with a messages similar to the following:
+ Approving the specified MRs for the generic [1.0].
*SYS_ERR* Message Number [999] From: call_sccs.c [Version 13.1.1.2].
SCCS/SBCS command [get] failed, see DBA Warning file and
[/usr/tmp/call_sccs10762] file on host.
Please Notify Your Sablime® System Administrator Immediately.
+ A Master Trace Record has been generated for the Database Administrator.
$ cat /usr/tmp/call_sccs10762 ERROR [/home/sablime/sdb/src/s.main.c]: bad p-file format (co17)
If the number of deltas is very large (it varies, but is somewhere over 100), then the underlying SCCS system truncates the line in the p-file, resulting in an improperly formatted p-file.
To avoid this problem in the future, approve MRs more frequently and limit
the amount of times one MR is used to update (edget/edput) a file.
All Sablime® releases
This is an SCCS limitation, not a Sablime® problem. Sablime® will attempt to build a work-around in upcoming releases.
Depending on the situation there are two workarounds
If you are approving more than one of the MRs touch the file in question using Sablime® v6.0 or later version, run mk_approve command that will produce a script for approving all the depedent MRs. One can run this script to resolve this problem.
However, If you are approving a group of MRs using Sablime® v5.2u3 or prior version and more then one of the MRs
touch the file in question. Then you need to isolate the MRs that
touch the file and break their dependence (if any) by running the
Sablime® depend command. Approve all the isolated MRs one at a time.
Once all the isolated MRs have been approved, put back the dependence
by running the Sablime® depend command.
NOTE:
Make a note of all the dependence that you break
If there is only one MR that touches the file in question. Save a copy
of the file and remove it by using the Sablime® source command. Once the
file has been removed, you can re-addisrc or re-addgsrc it again.
NOTE:
You will lose the MR history if you use this method
Copyright © 2003
Lucent Technologies