Using Swift Package Manager with version control

I am trying to break down my existing code into separate repos and integrate each repo through Swift Package Manager in the base codebase.

I have used SPM to achieve the same for the repos hosted on git servers, but for some reasons in this case we have to host and integrate repos using SVN.

When I try to add a package hosted in SVN through Xcode it always throws alert with request to enter credentials:

'The remote repository could not be accessed.'

Make sure a valid repository exists at the specified location and the correct credentials have been supplied.

Login: Username and Password

UserName: Entered correct user name
Password: Entered correct password

I was connected to VPN while trying so.

Am I missing anything over here?

For the Swift Package Manager: To my knowledge the Swift Package Manager never “learnt” SVN. It is not just about the credentials, but also about getting the list of tags and getting the according versions. Maybe you could create Git mirrors for your SVN repositories. Else, you could manually check-out your SVN repos and refer to the local directories instead of using the SVN URLs.

1 Like

Yes SwiftPM only supports Git (well, and package registries once there's a registry somewhere to use) and does not support the hellscape that is SVN

1 Like


In that case I think that checking out the packages from SVN repos and linking local packages is the only way for me to achieve modularisation using SPM.