A key error can happen if a change has no revisions:
Traceback (most recent call last):
File "/home/user/p4transfer/P4Transfer.py", line 2579, in replicate
num_changes = self.replicate_changes()
File "/home/user/p4transfer/P4Transfer.py", line 2396, in replicate_changes
targetChange = self.target.replicateChange(fileRevs, specialMoveRevs, srcFileLogs, change, self.source.p4.port)
File "/home/user/p4transfer/P4Transfer.py", line 1574, in replicateChange
self.validateSubmittedChange(newChangeId, fileRevs)
File "/home/user/p4transfer/P4Transfer.py", line 1624, in validateSubmittedChange
for (n, rev) in enumerate(change['rev']):
KeyError: 'rev'
I added a bit of debugging around this for the corresponding change object (returned from self.p4cmd('describe', '-s', newChangeId)[0]). The dictionary looks like:
{
'change': '1234',
'user': 'someuser',
'client': 'migration-target',
'time': '1594805092',
'desc': '(the changelist description)',
'status': 'submitted',
'changeType': 'public',
'path': ''
}
The destination depot is a graph depot, which makes the change description different.
A key error can happen if a change has no revisions:
I added a bit of debugging around this for the corresponding change object (returned from
self.p4cmd('describe', '-s', newChangeId)[0]). The dictionary looks like:{ 'change': '1234', 'user': 'someuser', 'client': 'migration-target', 'time': '1594805092', 'desc': '(the changelist description)', 'status': 'submitted', 'changeType': 'public', 'path': '' }The destination depot is a graph depot, which makes the change description different.