mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-24 14:30:56 +01:00
Fix SVN translation of "add-file" protocol frames over SSH
Summary: Fixes T4697. When pushing moved/copied files, SVN sends an "add-file" protocol frame which has a URI in it that needs translation from external format ("/diffusion/X/") to internal format ("/path/to/svn"). Test Plan: - Copied/moved files and committed them in SVN. - Added files (no copy/move) and committed them in SVN. Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T4697 Differential Revision: https://secure.phabricator.com/D8654
This commit is contained in:
parent
cf6f7446ce
commit
a6b1fac117
1 changed files with 9 additions and 0 deletions
|
@ -121,6 +121,15 @@ final class DiffusionSSHSubversionServeWorkflow
|
||||||
$struct[1]['value'][4]['value']);
|
$struct[1]['value'][4]['value']);
|
||||||
$message_raw = $proto->serializeStruct($struct);
|
$message_raw = $proto->serializeStruct($struct);
|
||||||
break;
|
break;
|
||||||
|
case 'add-file':
|
||||||
|
// ( add-file ( path dir-token file-token [ copy-path copy-rev ] ) )
|
||||||
|
if (isset($struct[1]['value'][3]['value'][0]['value'])) {
|
||||||
|
$copy_from = $struct[1]['value'][3]['value'][0]['value'];
|
||||||
|
$copy_from = $this->makeInternalURI($copy_from);
|
||||||
|
$struct[1]['value'][3]['value'][0]['value'] = $copy_from;
|
||||||
|
}
|
||||||
|
$message_raw = $proto->serializeStruct($struct);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue