Works with Surround SCM 2010 and later
Will not work with Surround SCM 2009 and earlier
This is an example of how to use the Surround SCM API to synchronize a local folder with a repository. It came as a request from one of our documentation folks, who use a tool to produce our HTML files and then need to pump the output of that tool into an existing repository.
Basically, we get a list of the files and directories and check in any existing files, add new files or repositories, and delete old files and repositories.
SyncFolder uses the Surround SCM API. You'll need to make sure the surround API dll is in the path of the executable.
When the tool launches, it prompts you for your login credentials. It then brings up a dialog looking for a local directory and a Surround repository. Once those are selected, we iterate through files to see which ones are currently in Surround, which ones need to be added to Surround and which ones need to be removed from Surround. We then do this for any child repositories.
I provide both a preview mode, so you can see what actions will be performed, as well as the actual copy mode.
The repository browser shows one way to implement a dynamic Surround chooser that loads branches and repository information as-needed.
You can download the entire Visual Studio project from here
Seapine does not provide support for sample scripts.