Title | If you "p4 fix" when there's no closed state, the replicator can't replicate |
Status | closed |
Priority | essential |
Assigned user | Gareth Rees |
Organization | Perforce |
Description | When you do "p4 fix -c CHANGE JOB" then Perforce sets the status of the job to "closed". If "closed" is not a legal status in Perforce then the replicator can't get at the job any more, so it fails to poll. |
Analysis | When you do "p4 fix -s closed -c CHANGE JOBNAME" Perforce checks that "closed" is a valid status. But if you do "p4 fix -c CHANGE JOBNAME" then Perforce doesn't check to see that "closed" is a valid status, it just sets the status to "closed" regardless. So if "closed" is not a legal status then the job is illegal, and "p4 -G job -o" will fail with an error message like: Perforce error: Error detected at line 23. Value for field 'State' must be one of _new/assigned/resolved/verified/deferred. We can work around this by making sure that "closed" is always a legal status. Perforce could fix this in one of three ways: (1) check that "closed" is a legal status when someone does "p4 fix"; (2) reject jobspecs that don't have "closed" as a legal status; (3) make "p4 -G job -o" work if the job's status is "closed" but "closed" is not a valid status. |
How found | manual_test |
Evidence | Found during testing of 1.0.0. |
Observed in | 1.0.0 |
Test procedure | <http://www.ravenbrook.com/project/p4dti/master/test/test_p4dti.py >, section 10.3 |
Created by | Gareth Rees |
Created on | 2001-02-22 13:50:12 |
Last modified by | Gareth Rees |
Last modified on | 2001-12-10 19:25:37 |
History | 2001-02-21 GDR Created. |
Change | Effect | Date | User | Description |
---|---|---|---|---|
8912 | closed | 2001-02-22 14:03:52 | Gareth Rees | Made sure that 'closed' is a legal job status in Perforce, so that you can't make an illegal job by doing "p4 fix". |