Make multi_pull more generic and provide parent dir on failures