My CI server users the same folder for the build of a project over and over. As such, when changes are detected in Vault (by examining VERSIONHISTORY -rowlimit 1), I'd like to just get the changes into that same folder. However, to make sure I know which version I'm building, I don't use GET to get the latest, but GETVERSION to get the version I found in VERSIONHISTORY (small risk of a checkin inbetween):
"C:\Program Files (x86)\SourceGear\Vault Client\vault.exe"' GETVERSION -host vault.mydomain.com -username %VAULT_USERNAME% -password %VAULT_PASSWORD% -repository MAIN -backup no -merge overwrite -makewritable -performdeletions removeworkingcopy 19106 $/MyProject/branches/Dev
However, I've found (using -verbose) that this gets ALL files every time, not just the changed files. I have several thousand files in the project so this adds a couple of minutes to the CI build.
Why doesn't GETVERSION get just the changes? Do I need to set a working folder for that to happen?
GETVERSION with destination folder gets ALL files
Moderator: SourceGear
-
- Posts: 47
- Joined: Thu Jun 25, 2009 12:02 pm
-
- Posts: 47
- Joined: Thu Jun 25, 2009 12:02 pm
Re: GETVERSION with destination folder gets ALL files
I found that when I do set a working folder that it does appear faster on subsequent GETVERSIONs (20 seconds instead of 2+ minutes for 16,000 files)
Re: GETVERSION with destination folder gets ALL files
You have it right that setting a working folder and getting to that working folder is the way to get only the files that are different. Vault maintains a cache that is used to determine what is going on in the working folder. No other location is tracked like that.
Beth Kieler
SourceGear Technical Support
SourceGear Technical Support