Found myself trying to hardlink between versions, but as I may rsync to a new server I may not having an old version to point to, so I had to use: rsync -rl --link-dest=$(ssh prod "cd /var/www; readlink -e current || echo .") static index.html prod:/var/www/$CI_COMMIT_SHA/ ssh prod "ln -nfs $CI_COMMIT_SHA" current Which is ugly. I'd prefer something like: rsync -rl --link-dest=current static index.html prod:/var/www/$CI_COMMIT_SHA/ ssh prod "ln -nfs $CI_COMMIT_SHA" current But warning / erroring on missing --link-dest sound legitimate, and we may not want to change this. If not, why not introduce a --link-dest-if-exists? Or a --ignore-missing-link-dest (in combination with the normal --link-dest)?