# Perforce Public Depot Jobs # # Job: The job name. 'new' generates a sequenced job number. # Status: Job status; [open/closed/suspended]. Required # Project: The project this job is for [none/cdsp4/jam/p4hl] Optional. # Severity: [A/B/C] (A is highest) Required. # ReportedBy The user who created the job. Can be changed. # ReportedDate: The date the job was created. Automatic. # ModifiedBy: The user who last modified this job. Automatic. # ModifiedDate: The date this job was last modified. Automatic. # OwnedBy: The owner, responsible for doing the job. Optional. # Description: Description of the job. Required. # DevNotes: Developer's comments. Optional. Job: job000012 Status: closed Project: jam Severity: B ReportedBy: david_abrahams ReportedDate: 2002/02/25 17:13:54 ModifiedBy: shawn_hladky ModifiedDate: 2008/04/13 13:00:54 Description: TEMPORARY is broken in stock Jam From: http://maillist.perforce.com/pipermail/jamming/2002-January/001530.html : | BTW, TEMPORARY is broken in stock Jam - it doesn't work right if the target | has multiple parents. My patch is: | make.c: | *************** | *** 175,180 **** | --- 201,217 ---- | printf( "warning: %s depends on itself\n", t->name ); | return; | | + /* Deal with TEMPORARY targets with multiple parents. When a | missing | + * TEMPORARY target is determined to be stable, it inherits the | + * timestamp of the parent being checked, and is given a binding | of | + * T_BIND_PARENTS. To avoid outdating parents with earlier | modification | + * times, we set the target's time to the minimum time of all | parents. | + */ | + case T_FATE_STABLE: | + if ( t->binding == T_BIND_PARENTS && t->time > ptime && | t->flags & T_FLAG_TEMP ) | + t->time = ptime; | + return; | + | default: | return;