def receive(self, diff, paths):
        """ Return Context Manager for a file-like (stream) object to store a diff. """
        if not self.dryrun:
            self._fileSystemSync()

        path = self.selectReceivePath(paths)

        if os.path.exists(path):
            raise Exception(
                "Path %s exists, can't receive %s" % (path, diff.toUUID)
            )

        return self.butter.receive(path, diff, self.showProgress is True)