💾 Archived View for idiomdrottning.org › rsync-paths captured on 2024-03-21 at 15:36:25. Gemini links have been rewritten to link to archived content
View Raw
More Information
⬅️ Previous capture (2023-07-10)
-=-=-=-=-=-=-
Trailing slashes on rsync paths
With rsync,
- if you want to upload a directory so it lands inside another directory, the first path (the source path) should not end in a slash, and
- if you wanna upload it so it syncs with the dest dir, so the dest dir becomes a copy of the source dir, the first path (the source path) should end in a slash.
The reason I bring this up is that I was taught that with rsync I should just be mindful of the traling slashes matching or not. But that’s not right. It’s the first path’s last character that matters. The dest path’s last character doesn’t seem to matter.
I.e. I was taught that:
- rsync foo/ bar/ # bar becomes foo. Correct
- rsync foo bar/ # bar now contains foo. Correct.
- rsync foo bar # bar becomes foo. Wrong. Instead, bar now contains foo.
- rsync foo/ bar # I don’t know what I expected to happen but what does happen is that bar becomes foo.
This post is based on me futzing around for five minutes with rsync 3.2.7 on zsh 5.9. Corrections welcome.
This is how it works:
- Slash on source dir: copy contents of dir
- No slash on source dir: copy dir itself