Error: Source Distribution Already Exists

This error is presented when an attempt is made to export/create a source distribution of a package in a way that would overwrite an existing source distribution.

If exporting to a repository, this means that a source distribution with the same name and version is already present in the repository. The --replace option can be used to make dds forcibly overwrite the source distribution in the repository. This will be a common workflow when developing a package and one desires to see those changes reflected in another project that is try to use it.

If creating a source distribution manually, this means that the destination path of the source distribution directory is already an existing directory (which may not be a source distribution itself). If dds were to try and write a source distribution to the named path, it would be required to delete whatever exists there before creating the source distribution.

Warning

When using dds sdist create with the --out <path> parameter, the <path> given is not the directory in which to place the source distribution, but the filepath to the source distribution itself!

If I have a directory named foo/, and I want to create a source distribution in that directory, the following command is incorrect:

# Do not do this:
dds sdist create --out foo/

If you pass --replace to the above command, dds will destroy the existing directory and replace it with the source distribution!

You must provide the full path to the source distribution:

# Do this:
dds sdist create --out foo/my-project.dsd