core/manager/projects/tools/tfs.ps1
function _updateLastGetLatest { param ( [SfProject]$context ) $lastGetLatestTfs = _getLastWorkspaceChangesetDate $context.solutionPath if ($lastGetLatestTfs) { if ($context.lastGetLatest) { $lastGetLatestTool = [datetime]::Parse($context.lastGetLatest) # only update if not get-latest issued already from this tool later than what is in workspace if ($lastGetLatestTool -lt $lastGetLatestTfs) { $context.lastGetLatest = $lastGetLatestTfs _setProjectData $context } } else { $context.lastGetLatest = $lastGetLatestTfs _setProjectData $context } } } function _getLastWorkspaceChangesetDate { Param( $path ) if (-not $path) { return } try { #TFS returns only the day. not time $changesetInfo = tfs-get-lastWorkspaceChangeset $path } catch { Write-Information "Unable to retrieve latest changeset from workspace, fallback to last time get-latest command was issued in this tool." } if ($changesetInfo -and $changesetInfo[2]) { $hasDate = $changesetInfo[2] -match "^.+ (?<date>\d{1,2}\/\d{1,2}\/\d{4}) .*$" if ($hasDate) { return [datetime]::Parse($Matches.date) } } } |