SDP-696 #7

  • //
  • spec/
  • job/
  • SDP-696
  • View
  • Commits
  • Open Download .zip Download (5 KB)
# The form data below was edited by tom_tyler
# Perforce Workshop Jobs
#
#  Job:           The job name. 'new' generates a sequenced job number.
#
#  Status:        Job status; required field.  There is no enforced or
#                 promoted workflow for transition of jobs from one
#                 status to another, just a set of job status values
#                 for users to apply as they see fit.  Possible values:
#
#                 open - Issue is available to be worked on.
#
#                 inprogress - Active development is in progress.
#
#                 blocked - Issue cannot be implemented for some reason.
#
#                 fixed - Fixed, optional status to use before closed.
#                 
#                 closed - Issue has been dealt with definitively.
#
#                 punted - Decision made not to address the issue,
#                    possibly not ever.
#
#                 suspended - Decision made not to address the issue
#                    in the immediate future, but noting that it may
#                    have some merit and may be revisited later.
#
#                 duplicate - Duplicate of another issue that.
#
#                 obsolete - The need behind the request has become
#                    overcome by events.
#
#  Project:       The project this job is for. Required.
#
#  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.  Can be used to
#                 explain a status, e.g. for blocked, punted,
#                 obsolete or duplicate jobs.  May also provide
#                 additional information such as the earliest release
#                 in which a bug is known to exist.
#
# Component:      Projects may use this optional field to indicate
#                 which component of the project a givenjob is associated
#                 with.
#
#                 For the SDP, the list of components is defined in:
#                 //guest/perforce_software/sdp/tools/components.txt
#
#  Type:          Type of job [Bug/Feature/Problem].  Required.
#                 Feature and Bug are common terms.
#                 A Problem is suspected bug, or one without a clear
#                 understanding of exactly what is broken.
#
#  Release:       Release in which job is intended to be fixed.

Job:	SDP-696

Status:	open

Project:	perforce-software-sdp

Severity:	C

ReportedBy:	tom_tyler

ReportedDate:	2021/10/25 10:41:13

ModifiedBy:	tom_tyler

ModifiedDate:	2022/06/02 12:01:20

OwnedBy:	tom_tyler

Description:
	Enhance p4verify.sh to ignore regex patterns of files/revs.
	
	The goal is provide a way classify certain 'p4 verifiy' BAD/
	MISSING errors as being known and to be ignored, but in
	a way that does not have the risk and finality of using
	'p4 obliterate' to clean up.  Presently, 'p4verify.sh' output
	is interpreted as "All 100% perfectly clean" or "Yikes! There
	are errors that need looking into!"  This job is to add a new
	interpration along the lines of, "Nothing to worry about; no new
	errors have been found, just the usual suspects we've known
	about and previously decided to ignore."
	
	This would be done by providing a way to classify known
	errors as "known/decided to ignore," and that is best done
	with regex patterns.
	
	Regex patterns would be stored in this file:
	/p4/common/config/p4verify_${INSTANCE}.ignore.cfg
	
	Entries would be of the form:
	<DepotPath>[|<RevRange>]
	
	Where <DepotPath> could contain wildcards '*' and '...'.
	
	Quoting of paths with spaces is unnecessary.
	
	The pipe '|' character should be a good delimiter as it
	doesn't opften appear in filenames (where '@', '#', '*',
	and '%' can and do often enough).
	
	RevRange can be any format accepted by p4d, but limited to
	using revisions and changelist numbers; no use of lables
	would be allowed.
	
	Sample <DepotPath>[|<RevRange>] values:
	
	//fgs/main/src/...
	
	//fgs/main/src/hello.c
	
	//fgs/main/src/hello.c|#3
	
	//fgs/main/src/hello.c|#3,#3
	
	//fgs/main/src/hello.c|#3,#5
	
	For shelves:
	
	//fgs/main/src/hello.c|@=2000

DevNotes:
	2022/05/09 ttyler: To properly support Unicode, this bit of
	code should probably be done in Go or Python, not bash.  We
	may do a first pass in bash that doesn't support Unicode
	fully, then a future Go version could add full Unicode
	support.

Component:	core-unix

Type:	Feature
# Change User Description Committed
#7 default
#6 default
#5 default
#4 default
#3 default
#2 default
#1 default