When I do VSS > Get Latest Version, is there a way to fail if no files were updated? And I can't exactly tell but it seems like it actually goes and fetches everything as though it is acting as a forced fetch, rather than an update files that have changed. When I try to view the build log (FBS) its really, really huge and its taking way longer than it takes VSS to do an update operation manually but the same time as it takes to pull a fresh tree.
I know, shame on us for using VSS; we'd love to move away but our client/host architecture means we generally share source files between the two projects and we make use of VSS's sharing feature all the time. We could replicate it with PerForce but its a little hard selling management on that investment 9 years into the project ;)
I'm afraid the only way to fail if no files were updated would be to use the File Dependency action to check the file dates after the Get operation completed.
As to the slowness of the Get operation, VSS actually has several modes for comparing files (compare file contents, compare file date, compare file checksum.) These all take different amounts of time, with varying degrees of accuracy. It's possible that the default mode for the command line is different to the default mode in the GUI.
To see if it makes a difference, select the VSS Get action in the FinalBuilder IDE, then click on Action Inspector and look for the section "Extra Params at End". Put in -GCD, which forces VSS to use date/time comparison instead of file contents comparison. Note that this mode may be less accurate, despite being faster.
Regards,
Angus
PS To reply personally to your "shame on us" comment, we use Surround SCM here and have found it's sharing feature to be quite good (although of course there may be other tools equally good or better.) Subversion is free and has the "externals" feature http://svnbook.red-bean.com/en/1.2/svn.advanced.externals.html, although that may not be flexible enough.