migrate large repositories while preserving git history