TFS laboratoria

Writing /home/grochu/public_html/wiki/data/meta/zajecia/npr_2026_2/lab/tfs_source_control_lab.meta failed
Unable to save metadata file. Hint: disk full; file permissions; safe_mode setting.
Writing /home/grochu/public_html/wiki/data/attic/zajecia/npr_2026_2/lab/tfs_source_control_lab.1790679436.txt.gz failed
Writing /home/grochu/public_html/wiki/data/cache/1/13facf04f5c93ccec15120751c07c76f.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
Writing /home/grochu/public_html/wiki/data/cache/1/13facf04f5c93ccec15120751c07c76f.metadata failed

TFS laboratoria

Pierwsze łączenie z TFS

  • połącz się z serwerem Team → Connect to Team Foundation Server
    Adres: http://172.20.2.249:8080/tfs
  • wybierz kolekcję test i połącz się z projektem Figury Projekt Zespolowy
  • zaloguj się do serwera poprzez Web Acces i obejrzyj zawartość projektu w przeglądarce
  • sprawdź listę użytkowników przypisanych do projektu i ich uprawnienia
  • obejrzyj zawartość projektu Figury. Sprawdź historię przesyłanych plików do repozytorium (Changesets/History)

Podstawy obsługi systemu kontroli wersji

  1. Pobierz aktualną wersję rozwiązania Figury (zmapuj ją z lokalną kopią)
  2. Zapoznaj się z operacjami z menu kontekstowego dostępnego po kliknięciu na różne elementy drzewa projektu (Solution Explorer)
  3. Zapoznaj się z operacjami dostępnymi w oknie Source Control Explorer
  4. Dodaj do projektu nowy plik o nazwie pkN.cs (gdzie N - numer stanowiska) zawierający kolejną klasę dziedziczącą po klasie Figura. Zaimplementuj wymagane metody abstrakcyjne. Przed zatwierdzeniem zmian zapoznaj się z możliwościami okna list zmian Pending Changes. Zatwierdź zmiany w repozytorium (Check In).
  5. Uaktualnij projekt do najnowszej wersji. Sprawdź czy na pewno wszystkie pliki zostały uaktualnione.
  6. W pliku Kilo.cs do klasy Kolo dodaj metodę o nazwie PK_N. Zawartość metody może być dowolna, np. niech metoda rzuca wyjątek.
    - Przed zatwierdzeniem zmian porównaj plik Kolo.cs z wersją umieszczoną na serwerze (Latest Version) oraz z wersją lokalną przed zmianami (Workspace). Zatwierdź zmiany opatrując je odpowiednim komentarzem.
  7. Pobierz aktualną wersję i rozwiąż ewentualne konflikty wybierając wersję z serwera
  8. Obejrzyj historię zmian całego projektu oraz jednego z wypranych plików
  9. Porównaj kolejne wersje pliku Kolo.cs. Sprawdź czy udało się dodać metody wszystkim studentom.
  10. Wyświetl plik Kolo.cs wraz z adnotacjami o dokonanych zmianach
  11. Znajdź zmiany dokonane przez użytkownika pk1 (Find→Changeset)
  12. Pobierz pierwotną wersję pliku Kolo.cs i usuń plik pkN.cs
    - Cofnij wszystkie zmiany przed zatwierdzeniem ich do repozytorium
  13. Dodaj do systemu kontroli wersji nowy projekt (np. aplikację wyświetlającą w konsoli lub w oknie twoje imię i nzawisko). Umieść go jako kolejny katalog projektu zespołowego Figury Projekt Zespolowy (Solution Explorer → Add To Source Control).
  14. W systemie kontroli wersji można przechowywać też inne pliki, nie związane z projektami VS. Spróbuj dodać do systemu kontroli wersji katalog zawierający plik tekstowy, grafikę i dokument stworzony w programie Word. Utwórz w tym celu nowe mapowanie pomiędzy katalogiem lokalnym a nowym katalogiem w projekcie zespołowym . Dodaj do katalogu nowe pliki (skopiuj je niezaleznie od Visual Studio). W oknie Pending Changes uwzględnij zmiany wykryte automatycznie w lokalnych katalogach. Zatwierdź zmiany.

Rozgałęzienia (branching and merging)

  1. Utwórz nową gałąź projektu Figury i zmapuj ją z lokalnym katalogiem
  2. Obejrzyj hierarchię rozgałęzień (Branching and Merging → View Herarchy)
  3. Dodaj nowy plik w gałęzi zawierający nową klasę i zatwierdź zmiany
  4. Porównaj zmiany w rozgałęzieniach
  5. Połącz rozgałęzione projekty
  6. Prześledź dokonane zmiany za pomocą wizualizacji View history → Track Changeset
  7. Przekonwertuj gałąź na folder
  8. Dodaj etykietę wybranej wersji projektu głównego oraz rozgałęzionego (Labels). Odszukaj zaznaczone zestawy zmian w historii.

Nowy projekt zespołowy

Zadanie wykonywane w zespołach 2, 3 lub 4 osobowych osobowych (osoby siedzące przy sąsiednich stanowiskach komputerowych). Zadaniem jest wykonanie prostej aplikacji, która przeprowadza losowanie k liczb z n i wyświetla wynik w oknie. W projekcie powinna znaleźć się klasa, która udostępnia metodę zwracającą tablicę/kolekcję liczb całkowitych z wylosowanych bez zwracania z puli od 1 do N. Aplikacja okienkowa pozwala zdefiniować wartości 'k, n oraz liczbę powtórzeń losowań a następnie wciśnięciu przycisku powinna wyświetlać w odpowiedniej kontrolce serię losowań.

Role w zespole:

  • zarządca projektu tworzy projekt zespołowy w kolekcji sandbox i nadaje odpowiednie uprawnienia członkom zespołu
  • pierwszy programista odpowiedzialny za utworzenie projektu programistycznego, dodanie go do projektu zespołowego w serwerze TF oraz stworzenie interfejsu graficznego i oprogramowanie kontrolek
  • drugi programista tworzy klasę odpowiedzialną za generowanie losowań
  • grafik (w zespołach 4 osobowych) tworzy i dodaje do projektu logo zespołu, które będzie wyświetlane przez aplikację, np. w postaci splash screanu

Team Foundation Service/Visual Studio Online

  • Utwórz projekt zespołowy w usłudze Team Fundation Service (potrzebny Live ID) lub na stronie CodePlex
  • Połącz się z tym projektem z Visual Studio i dodaj do repozytorium nowy projekt, np. projekt WindowsForm.
  • Sprawdź zawartość repozytorium przez przeglądarkę WWW
  • Spróbuj dodać nowych członków zespołu
  • Utwórz przykładową listę Backlog Products, ustaw liczbę i daty zakończenia iteracji (sprintów), przydziel zadania do pierwszej iteracji