2013-04-09 11 views
5

Mamy dwie osobne kompilacje skonfigurowane w TeamCity na TFS z następującymi wyzwalaczami (wymienione poniżej).Ekskluzywne zespołowe miasta Zbuduj wyzwalacze Obie wypalanie

Build 1: 
+:Folder1/Folder2/Folder3/FilePrefix\*\* 
+:Source/\*\* 
+:Tests/\*\* 

Build 2: 
+:Folder1/Folder2/\*\* 
-:Folder1/Folder2/Folder3/FilePrefix\*\* 
-:Tests/\*\* 
-:Source/\*\* 

Jeśli mamy wprowadzić zmiany do pliku w Folder1/Folder2/Folder3/FilePrefix znajdujemy, że zarówno buduje spust. The documentation states:

Dla każdego pliku w zmianę najbardziej specyficzna reguła znajduje (zasada dopasowanie najdłuższą ścieżkę do pliku). Kompilacja jest uruchamiana, jeśli istnieje co najmniej jeden plik z pasującą regułą "include" lub plikiem bez reguł dopasowania .

Czy to nie oznacza, że ​​pierwszeństwo ma tylko najbardziej szczegółowa reguła? Dlaczego Build 2 nie wyklucza tego pliku z powodu -:Folder1/Folder2/Folder3/FilePrefix**? Wygląda na to, że +:Folder1/Folder2/** nadpisuje regułę ignorowania.

+0

Skończyło się pracy całego problemu i nigdy nie znalazł prawdziwą odpowiedź. – jakejgordon

Odpowiedz

1

Wpadłem na to kilka tygodni temu i stwierdziłem, że musimy określić ostateczny symbol wieloznaczny jako "." zamiast "*" dla stwierdzeń negacji.

więc zasady progowe build2 skończy się patrząc jak:

+:Folder1/Folder2/\*\. 
-:Folder1/Folder2/Folder3/FilePrefix\*\. 
-:Tests/\*\. 
-:Source/\*\.