Reorganising large directories with efficient remote rsync update

I’ve recently ran into a scenario where I wanted to re-organise my photo collection (basically move some files around). This folder is mirrored to a remote server with rsync for backup purposes. Rsync unfortunately has no way of detecting file moves and will gladly proceed to re-uploading any files you moved. Pushing 40GB of redundant updates through my home ADSL was painful, I wish I had known about this beforehand :)

However, for future reference here is a nice guide on how to prepare for this scenario and let rsync actually detect the moves via an intermediate step involving hardlinks: https://lincolnloop.com/blog/detecting-file-moves-renames-rsync/