Taking the Svn implementation as a model, ScmProvider.list() should be implemented as follows:
- The command must directly query the remote repository for files
- A local working copy is unnecessary and if it doesn't exist, the remote repository must not be checked out.
- fileSet.getBasedir() indicates where to run the scm binary. The recommended value is ".".
- fileSet.getFileList() indicates the files to list
- repository indicates the repo URL
Git (among other SCMs) does not support listing remote files, so the command should just fail.
For listing files in a working copy, users should call the ScmProvider.status() method instead.