2010-10-07 16 views
8

Oto mój problem. Mam pewne pliki z rozwiązania (powiedzmy Web.config), które zmieniłem i które nigdy nie będą chciały się meldować, ponieważ zmiany odnoszą się tylko do mojego komputera. Czy istnieje sposób, aby w TFS powiedzieć, aby zignorować zmiany w pewnym pliku i usunąć go z oczekujących zmian w oknie. Oczywiście, mogę pominąć ten plik przy każdym odprawie, ale zawsze jest pomyłka, aby zapomnieć i zameldować się. Na przykład istnieje podobna lista ignorowanych w AnkhSVN.Ignoruj ​​określone pliki oczekujących zmian

Odpowiedz

11

Niektóre części plików {app,web}.config można przekazać do innego pliku. Zwłaszcza <connectionStrings>.

W swojej app.config lub web.config:

<connectionStrings configSource="LocalConnectionStrings.config" /> 

w LocalConnectionStrings.config mieć (<connectionStrings> jest elementem root):

<connectionStrings> 
    <!-- For the application's operations. --> 
    <add name="Application" 
     connectionString="Data Source=server;Initial Catalog=database;Integrated Security=True;Network Library=dbmssocn" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 

Zatem każdy deweloper ma LocalConnectionStrings.config który jest w projekcie, ale nie w zestaw sterowania źródłami z ich prywatnymi ustawieniami, podczas gdy {web,app}.config ma wspólne ustawienia. Niestety działa to tylko z ograniczonym zestawem zdefiniowanych przez system elementów konfiguracji.

+0

To wygląda na dopuszczalne rozwiązanie. Dzięki. – anthares

1

Nie ma nic do zignorowania, ale najlepsze jest to, że po meldowaniu można użyć logowania przez Internet lub innego komputera, na którym nie zmapowano drzewa kodu źródłowego, i można usunąć niepotrzebne pliki z kodu źródłowego drzewo i studio graficzne nie sprawdzą tych plików przy kolejnych modyfikacjach.

Możesz również umieścić plik w folderze i zmodyfikować plik projektu w edytorze xml, aby umieścić swój plik w projekcie, studio graficzne nie doda plików do kontroli kodu źródłowego, które zostały dodane ręcznie przez edycję pliku projektu XML.

+0

mam uznać ten wariant też, ale ten plik powinien być pod kontrolą źródła . Nie można tego wykluczyć, ponieważ spowoduje to przełamanie innych funkcji. – anthares

2

Dla naszej pracy w VS 2005/2008 mamy włączone wiele czeków, a my po prostu nigdy nie sprawdzamy w web.config.

W przypadku kłopotów z robieniem fajnych rzeczy, żeby nie mieć czegoś sprawdzonego, po prostu nigdy tego nie sprawdzamy. W tym przypadku, że jeden z tych plików jest sprawdzany, cóż, to jest szybkie "Hej, chłopaki, którego spieprzyłem ".

Z drugiej strony można powiedzieć TFS, aby wykluczyć plik z kontroli źródła. Będzie to musiało istnieć na wszystkich komputerach, ponieważ rozwiązania/projekty będą nadal szukać tego pliku.

http://arcware.net/2007/04/12/how-to-exclude-files-from-tfs-source-control/

Można również zmodyfikować plik .sln/projektu. Zrobiłem tę metodę testując projekty, w których nie chcę naprawiać testów innych ludzi tylko po to, aby uruchomić własne, więc usunąłem swój projekt testowy z TFS, zachowując inne nietknięte.

+1

Jak już stwierdziłem, "Hej, których spieprzyłem" nie pasuje do mnie (a dokładniej - robię to teraz, ale szukam wygodniejszej drogi). Wyłączenie pliku z kontroli źródła również nie jest opcją. – anthares

+0

Link zmarł. Nie w archive.org. Boleśnie, [autor mówi] (http://arcware.net/reboot/), "* To może zaskoczyć niektórych ludzi, ale cała moja poprzednia treść zniknęła Wszystko, co napisałem wcześniej, cała dekada 2004 - 2014 nie jest już dostępny Brak postów, brak komentarzy, nic. * "Kto powiedział, że treści publiczne w sieci nie mogą umrzeć? ; ^) – ruffin

1

Z jakiej wersji studia korzystasz?

Jeśli jesteś w 2010 roku, możesz użyć transformacji konfiguracji sieci. W ten sposób możesz mieć różne pliki web.config w zależności od środowiska. Na przykład, rozwój, testowanie, produkcja ..

Jeśli jesteś w 2008 roku, zwykle mieliśmy główny plik web.config wskazujący na nasze rzeczy rozwojowe i plik web.production.config wskazujący na produkcję. Podczas wdrażania usuwamy plik web.config i zmieniamy nazwę web.production.config.

+0

Używam 2010, ale zmiany są specyficzne dla urządzenia, a nie specyficzne dla środowiska. Na przykład dla środowiska dev, dev web.config jest inny dla wszystkich moich kolegów. – anthares

+1

@anthares: Zgaduję, że każdy z was uruchamia własny lokalny serwer sql? Możesz zbudować na idei transformacji i po prostu dodać konfigurację dla każdego dewelopera .. Lub po prostu pracować z tymi samymi ustawieniami. Osobiście, mając do czynienia z problemami w obu typach środowisk wolę wspólne podejście do serwera SQL ... Wydaje się, że to mniej kłopotów. – NotMe

4

Najlepsza praktyka dotycząca plików konfiguracyjnych, TFS i różnych maszyn deweloper jest (hem hem) ...

wszystkie Twoje programistów powinien mieć tego samego środowiska dev. To jedyny sposób, aby zarządzać plikami web.config w TFS, i ma wiele dodatkowych korzyści:

  • nomore „ale to działa na moim komputerze”

  • swojego znajomego bał „I don Rozumie, jakie zależności są wymagane, ale nie kompiluje się. "

  • Nie będziesz żałować słynnego "Ach, zapomniałem Ci powiedzieć, wymyśliłem MyWonderfullApplicationConfigSection i powinieneś zdefiniować to w swoim web.config, ale nie powiem ci jak."

  • To naprawdę pomaga konfigurowania środowiska kompilacji lub rozmieszczania.

Ok, to naprawdę nie jest łatwe, wiem, że różnych twórców, takich jak różne ustawienia ... ale to dobry pomysł ujednolicenia platformy dev jest to naprawdę warto

+0

-1 zły pomysł. Co się stanie, jeśli masz architekturę wielowarstwową, która korzysta z konfiguracji sieci w celu wykrycia punktów końcowych wsdl? a co z wiadomościami o błędach? a co z deweloperami, którzy nie lubią kompilacji wsadowej? Standaryzacja konfiguracji internetowej dev nie jest możliwa w wielu sytuacjach. –

+1

Powiedziałem, że nie zawsze jest łatwe do wdrożenia. Należy jednak zauważyć, że jeśli masz znormalizowaną platformę programistyczną, punkty końcowe wsdl nie są już problemem (stają się one znormalizowane) A jeśli nie są ... będziesz mieć problemy. Nie widzę komunikatów o błędach w e-mailu na platformie programistów. Włącz je tylko przy produkcji. Jeśli inny programista potrzebuje innej konfiguracji kompilacji, jest w porządku: konfiguracja kompilacji istnieje właśnie w tym celu. Uważaj jednak na niezauważone zmiany zależności od innych programistów. – Eilistraee

+0

Chociaż to prawda, możemy spierać się o wszystkie te punkty, nie powodują, że mogą w jakikolwiek sposób odpowiedzieć na mniej trafne ... Standaryzacja platformy programistycznej ma wiele zalet. I może to posunąć się tak daleko, jak przy użyciu powszechnie aktualizowanego VHD – Eilistraee

6

Jeden obejście może być usunąć atrybut tylko do odczytu na web.config w Eksploratorze Windows, a następnie edytować je w notatniku..

  • To nie pojawi się w oczekiwaniu zmienia
  • To wciąż w źródle kontroli

brzydki ale proste rozwiązanie.

+0

Możesz edytować w VS bez kasy, jeśli wybierzesz opcję Zezwalaj na edycję ... w Narzędzia | Opcje | Ogólne | Dokumenty. – Richard

+0

+1 W końcu to zrobiłem. Działa dobrze. –

+1

Uwaga: ta sztuczka NIE działa z "lokalnymi obszarami roboczymi" w TFS 2012+. –

2

Możesz wykonać kopię plików, których nie chcesz sprawdzić, cofnąć ich sprawdzenie i zastąpić je kopią. Ponieważ zmiana została dokonana z zewnętrznego VS, nie zostanie wyewidencjonowana, więc nie będzie na liście zmian oczekujących.

(wiem, jest to stara sprawa, ale jestem pewien, że ktoś szuka sposobu, aby to zrobić, może wykorzystać tę odpowiedź)

Powiązane problemy