Possible solution without modification in continuum:
instead of system property, we can store the clientspec in $
/.scm/perforce.xml (other providers use a xml file to configure the provider too)
In this file we store a mapping between the scmurl and the clientspec
and in PerforceScmProvider.getClientspecName(...) we return the clientSpecName from the xml file. If if doesn't exist, we generate a default name and we store it in the xml file.