That 'svnsync sync' reads its source repository URL from the destination
repository is a cause of, at a minimum, some user confusion, especially when the
source URL isn't a canonical one.
Imagine a master server using svnsync in its hook scripts to push changes out to
a mirror server. This is commonly done by using an ra_local -> ra_dav
synchronization path, which means that the mirror repository records a file:///
URL as the source URL. Interestingly, though, that file:/// URL generally only
means something useful as interpreted by the master repository. If, for
example, the mirror has been offline for a while, comes online later, and its
administrator wishes to "catch up" and get back into sync with the master
server, he or she cannot simply invoke 'svnsync sync' from the mirror server --
that process would try to interpret the file:/// source URL as a local resource,
and fail miserably.
'svnsync sync' and 'svnsync copy-revprops' should allow callers to specify the
source URL on the command-line, just as they do when they run 'svnsync init'.