# The form data below was edited by ronprestenback
# 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]. Required.
#
# Release: Release in which job is intended to be fixed.
Job: P4XFER-5
Status: open
Project: perforce-software-p4transfer
Severity: A
ReportedBy: ronprestenback
ReportedDate: 2019/04/18 16:44:51
ModifiedBy: ronprestenback
ModifiedDate: 2019/04/18 16:44:51
OwnedBy: ronprestenback
Description:
Exception is thrown by getIntegration in certain cases. I don't remember the exact details of the changelist that caused this, but it was something like "file was brached from a depot that was obliterated" or something like that.
I only hit exceptions on two calls to getIntegration(): the call from the bottom of P4Source.getChange() and the first call at the top of P4Target.moveAdd().
For the case in getChange(), I changed that line to read:
if chRev.action == 'move/add' and chRev.hasIntegrations()
For the case in moveAdd(), I changed the line to call file.hasIntegrations instead of file.getIntegration() when checking whether it has any:
if file.getIntegration() and file.getIntegration().localFile:
DevNotes:
Type: Bug