2016-03-09 35 views
2

假設您正在創建一個策略,將每個代碼文件的LOC(代碼行)限制爲某個X編號。如何在TFS簽入策略中使用配置?

現在您要爲兩個團隊部署該策略,並且希望每個團隊都希望X成爲不同的數字。

你會怎麼做?

我當前的代碼是一樣的東西:

if (loc > 500) 
{ 
    // returning invalid LOC message 
} 

AMAIK,配置文件不能與TFS定製簽入策略使用。

+0

將代碼行限制爲某個任意數字並不是一個好主意。一個文件中的代碼行數並不重要,重要的是代碼的質量。另外,您是否將代碼作爲行數計數?什麼是空白?只包含花括號的行?你真正鼓勵的是人們編寫簡潔,不可讀的代碼,以便擺脫你正在實施的限制。 –

+0

我認爲這更像是一個解釋保存配置值的意圖的示例... – jessehouwing

回答

2

簽入策略本身已被序列化並存儲了序列化對象。因此,如果確保簽入策略實現ISerializable,並且要將要存儲的配置保存到具有正確屬性的字段或屬性,則應在策略設置時保存該字段或屬性。

您需要實施Edit方法並將CanEdit屬性設置爲true。在Edit方法中,您可以顯示使用Windows Forms或WPF構建的自己的編輯器。

你可以找到一個例子檢查,在具有配置和編輯此政策:

有一點要記住的是,一個離店政策在小組被激活項目級別。如果您在同一個團隊項目中有多個團隊,則需要使用TFS Power Tools' Custom path policy

有了它,你可以限制入住的政策,以特定的源控制路徑:

enter image description here

注:總的來說,我覺得它更可靠,更易於配置設置這類質量檢查作爲持續集成構建的一部分,而不是試圖通過簽入策略強制執行這些項目。這些策略對TFVC非常具體,只能在客戶端上執行並要求用戶使用Visual Studio執行簽入。

+0

關於何處注入優質策略的驚人說明。建立在我們的手中,辦理登機手續的政策掌握在他們手中。 –

相關問題