2010-03-02 81 views
5

每次發佈我都會發現返回並抓取所有變更集備註以與發佈說明進行比較以確保不會遺漏任何內容。由於我們在變更說明中記錄了所有功能更改的完整記錄,因此它們是寶貴的資源。TFS - 獲取更改集範圍

我還沒有發現什麼是從2008年TFS提取這些的好方法我已經試過:

  • 的VS歷史窗口:這隻會提供前100個字符左右,截斷的橢圓風格。可能我錯過了一些東西,但是我無法得到一個不涉及在評論中屠殺新行的輸出格式,所以使任何可用的東西看起來像是一個PITA,但也許是一個PowerShell解決方案在這裏會是完美的嗎?

什麼我後很簡單:

  • 變更集評論
  • ID如果可能的話

這在一定範圍內

  • 日期
  • 用戶名.. 。是否限制日期或ID,無論如何。如果我可以在項目中的某個分支內限制爲,那將是一個龐大的獎金。

    我現在正在做得到這個數據直接開拓TFS SQL Server和運行這個TfsVersionControl數據庫:

    SELECT ChangeSetId, CreationDate, Comment 
    FROM  tbl_ChangeSet 
    WHERE  ChangeSetId > 6300 
    

    我試過,但沒有找到一個很好的資源,這一點,看起來Vertigo的博客上的所有偉大的TFS信息都已經丟失,因爲鏈接現在已經死了。有沒有人有更好/理智的方式拉出這個信息?格式不重要,任何以表格/ xml /格式轉換爲可讀的格式。

    備註:我們將在一週左右的時間內升級到VS 2010 ......如果答案是VS2010/TFS2010,那更好,因爲這是一個長期的解決方案。

  • 回答

    9

    Team Foundation Power Tools (October 2008)附帶一個PowerShell管理單元(只有在恰好在Windows x64上時才爲32位)。試試這個:

    Add-PSSnapin Microsoft.TeamFoundation.PowerShell 
    Get-TfsItemHistory . -Recurse -Version C57460~58090 | 
        fl Comment,ChangesetId,CreationDate,Committer 
    
    
    Comment  : Added printf's in a couple of event callbacks 
    ChangesetId : 58090 
    CreationDate : 2/25/2010 1:46:09 PM 
    Committer : ACME\johndoe 
    ... 
    

    這會在註釋中保留換行符。如果您在x64 Windows上,請確保您從32位(x86)PowerShell提示符運行此操作。

    +0

    感謝Keith,結束於:'Get-TfsItemHistory「$/ProjectName」-Recurse -Version C6000〜6761 -Server「tfs」| fl評論,ChangesetId,CreationDate,提交者| out-file C:\ Changesets.txt'就像一個魅力。我真的非常欣賞32位機器人的頭部,因爲這在64位上並不是一個直觀的錯誤。 – 2010-03-02 13:54:34

    0

    http://tfschangelog.codeplex.com有這個開源項目,它允許用戶根據給定範圍內每個變更集的chnageset註釋和相關工作項來指定變更集範圍並生成發行說明。

    TFS ChangeLog提取XML中的信息,然後使用XSLT 2.0將其轉換爲HTML。用戶可以定義自己的樣式,過濾器,輸出方法等來生成有用的版本說明信息。實際上,它爲開發人員和測試人員提供了發佈說明中有意義的內容的可能性。

    此工具有兩種不同的形式,其中包括桌面版和命令行版。由於支持命令行界面,可以安排從Windows調度程序生成發行說明。