Recursively copies tree structure between different source and target implementations (e.g. filesystem to git)