Skip to content

Commit

Permalink
fix: Transfer incomming shares first, do not delete non-migratable ones
Browse files Browse the repository at this point in the history
Canceling the previous add of deletion of invalid shares in
 transferownership because in some cases it deletes valid reshares, if
 incoming shares are not transfered on purpose.
Inverting the order of transfer between incoming and outgoing so that
 reshare can be migrated when incoming shares are transfered.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
  • Loading branch information
come-nc committed Sep 13, 2024
1 parent d30cbd2 commit 1527836
Showing 1 changed file with 10 additions and 13 deletions.
23 changes: 10 additions & 13 deletions apps/files/lib/Service/OwnershipTransferService.php
Original file line number Diff line number Diff line change
Expand Up @@ -147,16 +147,6 @@ public function transfer(
$output
);

$destinationPath = $finalTarget . '/' . $path;
// restore the shares
$this->restoreShares(
$sourceUid,
$destinationUid,
$destinationPath,
$shares,
$output
);

// transfer the incoming shares
if ($transferIncomingShares === true) {
$sourceShares = $this->collectIncomingShares(
Expand All @@ -181,6 +171,16 @@ public function transfer(
$move
);
}

$destinationPath = $finalTarget . '/' . $path;
// restore the shares
$this->restoreShares(
$sourceUid,
$destinationUid,
$destinationPath,
$shares,
$output
);
}

private function sanitizeFolderName(string $name): string {
Expand Down Expand Up @@ -465,9 +465,6 @@ private function restoreShares(
}
} catch (\OCP\Files\NotFoundException $e) {
$output->writeln('<error>Share with id ' . $share->getId() . ' points at deleted file, skipping</error>');
} catch (\OCP\Share\Exceptions\GenericShareException $e) {
$output->writeln('<error>Share with id ' . $share->getId() . ' is broken, deleting</error>');
$this->shareManager->deleteShare($share);
} catch (\Throwable $e) {
$output->writeln('<error>Could not restore share with id ' . $share->getId() . ':' . $e->getMessage() . ' : ' . $e->getTraceAsString() . '</error>');
}
Expand Down

0 comments on commit 1527836

Please sign in to comment.