Explaining tf diff

后端 未结 2 1687
孤街浪徒
孤街浪徒 2021-02-02 03:38

Using Visual Studio 2008 tools,

I am trying to get an ASCII diff of change sets 14318 and 14317.

I can do so using GUI:

tf changeset 14318


        
相关标签:
2条回答
  • 2021-02-02 03:46

    You're just not using the correct syntax when calling it. In this case, it tried to do a diff between your working copy, and the base repository version, of (non-existing) files 14318 and 14317.

    What you need to do instead is to use a changeset range in /version, like this:

    tf diff $/Foo /version:C14317~C14318 /recursive /format:unified > foo.diff
    

    Note that you can use ~ with any other version specs - labels, dates etc. See here for details.

    0 讨论(0)
  • 2021-02-02 03:57

    Here is a PowerShell (V2) script, extending from Pavel's answer, this will be more performant, because we find the files that have changed, then get tf to diff them individually:

    Write-Host "Checking if TFS snap-in has been added..." -ForegroundColor green
    
    # Find all TFS snapins.
    $snapins = Get-PSSnapin -Registered | Where-Object { $_.Name -like "*TeamFoundation*" } 
    
    foreach($snapin in $snapins)
    { 
        # Add snapin if not already added.
        $exists = Get-PSSnapin | Where-Object { $_.Name -eq $snapin.Name } 
        if (!$exists)
        {
            Write-Host "Adding Snapin " $snapin.Name -ForegroundColor green 
            Add-PSSnapin $snapin.Name 
        }
        else
        {
            Write-Host "Snapin already added." -ForegroundColor green
        }
    }
    
    
    
    # Get TFS Server object reference.
    $tfs_server = Get-TfsServer -Name $/<serverName>/<RepoDir>
    
    # Get list of changed files 
    $changes_from_changeset = Get-TfsChangeset -ChangesetNumber 829 | Select -Expand Changes | % { $_.Item.ServerItem }
    #$changes_from_changeset
    
    foreach($change in $changes_from_changeset)
    {
        &"C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\TF.exe" diff $change /version:829~T /format:unified
    }
    
    0 讨论(0)
提交回复
热议问题