2013-05-02 17 views
22

Wydaje się jakby to powinno być coś bardzo proste, ale nie mogę znaleźć jak to zrobić ...Siła TFS do wykrywania zmian

Zrobiłem zmiany w kilku plików rozsianych w repo za pomocą skryptu Napisałem. Problem polega na tym, że TFS w swojej nieskończonej mądrości nie uważa, że ​​pliki się zmieniły. Oprócz ręcznego znajdowania każdego pliku i kliknięcia "Checkout do edycji" jest jakiś sposób, aby powiedzieć TFS, aby po prostu przeskanować wszystko i wykryć zmiany?

+4

Duplikat pytania: http://stackoverflow.com/questions/5899213/how-to-have-tfs-2010-detect-changes-done-to-files-outside-of-visual-studio –

+1

Dobre odpowiedzi, ale przełączanie się na obszary robocze lokalne i serwerowe byłoby jeszcze prostsze. –

Odpowiedz

16

Folder Porównaj (Plik-> Kontrola źródła-> Porównaj ...) powinien załatwić sprawę. Wybierz górny folder z miejsca rozpoczęcia porównania i wybierz, aby porównać z najnowszą wersją. Wynik może pokazać pliki, które zostały zmienione i czy są one wyrejestrowane, czy nie.

+2

Zabawne, kiedy porównuję ten folder w VS 2012, mówi TF10108: Kontrola źródła nie może porównać pliku z folderem. Wybierz dwa pliki i spróbuj ponownie. – arviman

+0

@arviman: Druga ścieżka musi być plikiem. To nie jest opłacalne rozwiązanie, gdy zmienisz setki plików w projekcie poza Visual Studio. – damd

3

Jeśli któryś z Twoich zmian wystąpił, gdy byłeś zalogowany, można przejść do menu Plik> Źródło sterowania> Przejdź do trybu online, a wszystkie pliki zostaną sprawdzone pod kątem modyfikacji.

1

Jeśli żadna z powyższych prac, można także spróbować ponownie powiązać swoje projekty, przechodząc do menu Plik -> Kontrola Source -> Zaawansowane -> Zmień sterowania źródłami.

2

Local Workspace

Musisz pracować z local Workspace. Oto jak zarządzać obszary robocze:

visualstudio.com: "Create and work with workspaces".

Podczas dodawania lub edycji roboczy kliknięciu Advanced >>. Następnie ustawiasz Location: na Local.

Teraz gdy skrypt lub coś jeszcze zmienia plików poza Visual Studio, twój roboczy wykrywa changes automatycznie.

wykrywa również adds lub deletes ale trzeba włączyć je do swojej Pending Changes ręcznie link poniżej Excluded Changes

Detected adds under Pending Changes in Team Explorer

ale należy uważać. Gdy wykryjemy adds lub deletes, pliki te nie zostaną automatycznie dołączone do projektu. Możesz więc sprawdzić je pod numerem TFS, ale nie są one wymienione pod Solution Explorer.

Matt Burke ma poprawkę dla tego problemu:

mattburkdev.com: "Automatically Include All Files in Folder in Visual Studio"

edytować plik projekt, kliknij prawym przyciskiem myszy projekt, chosse Unload Project, a następnie kliknij prawym przyciskiem myszy na niego ponownie i wybierz Edit. Po edycji plików projektu zapisz i zamknij. Następnie kliknij prawym przyciskiem myszy i wybierz: Load Project.

Ale z tym też trzeba uważać, bo projekt przeszukuje tylko dla nowych plików w tych folderach w celu włączenia, podczas ładowania projektu i jednocześnie nie masz projekt otwarty. Więc kiedy niektóre pliki zostaną dodane poza Visual Studio, wystarczy przeładować projekt.


Server Workspace

Ale jeśli trzeba trzymać się Workspace Server z jakiegoś powodu Mam inny trik dla Ciebie:

pierwszy: sprawdzić wszystkie pliki, które może mieć w toku zmiany (lepiej sprawdź wiele plików). Następnie przejdź do Eksploratora zespołu -> Oczekujące zmiany i wybierz wszystkie właśnie wypakowane pliki. Następnie wybierz "cofnij zmiany". Po tym pojawi się komunikat "Potwierdź Cofnięcie kasy". Ta wiadomość TYLKO wyskakuje dla plików, które rzeczywiście się zmieniły! Naciśnij "NIE" dla każdego pliku lub "Nie dla wszystkich".

WRESZCIE: W oczekiwaniu na zmiany wszystkie pliki zostaną usunięte z listy, z wyjątkiem tych, które oczekują zmian.


Mam nadzieję, że mogę komuś pomóc, a ty nie musiał szukać takiego rozwiązania jak długo musiałem ^^

+0

Żałuję, że nie przeczytałem tego, zanim miałem dość i po prostu sprawdziłem cały mój projekt, a następnie sprawdziłem wszystko, co zajęło trochę czasu. Usunąłem zawartość projektu, a następnie wkleiłem ją w zmodyfikowanej wersji z innego miejsca i odmówiłem wykrywania zmian. Może to by zadziałało. – Methodician

0

W Visual Studio 2015:

Source Control -> Advances -> Refresh Status

Source Control -> Advances -> Refresh Status

0

Miałem ten problem na pewien czas, kiedy przeniosłem projekt z jednego komputera na drugi. rozwiązaniem było usunięcie plików tymczasowych utworzonych przez TFS w folderze rozwiązania. Usuń .vs i ukryj folder $tf.

Jeśli nie ma szczęścia, na lokalnym komputerze skopiować folder roztwór do drugiego, usunąć wszystkie pliki wewnątrz roztworu, uzyskać najnowszą wersję z serwera TFS, a następnie od skopiowanego folderu prostu chwycić neccessary i edytowane pliki i umieścić je z powrotem do folder rozwiązania (to spowoduje nadpisanie niektórych plików).

Przecież nie zapomnij sprawdzić odwzorowań projektu i jeśli wszystko wydaje się poprawne, spróbuj kliknąć prawym przyciskiem myszy na rozwiązanie i opcję "Dodaj do źródła kontroli".

Powiązane problemy