support directory transfer via `transfer_if_modified`
Merge branch 'support-transfering-directory' into develop