To nie jest RANT, nie, na RANT trzeba mieć siły i cierpliwość i emocje… tak muszą być emocje. Nie, to będzie zimno zrelacjonowany problem z którym na co dzień męczymy się i bez dużych inwestycji finansowych to nie ulegnie szybko zmianie. To jest dopiero… dług technologiczny.

Nasz Setup

Nasz setup jest dość prosty.

  1. Każdy z dev ma jedną z wersji Visual Studio – od 2010 do 2015. Te nowsze to są raczej wersje prywatne konsultantów. Te starsze, dostarczone prze firmę.
  2. Mamy własny serwer nuget na nasze wewnętrzne paczki.
  3. Nasze paczki są od bibliotek po zwykłe paczki z plikami (static content), czasami mix.
  4. Wszystko, ale to wszystko siedzi w TFS 2013.

Prosto? Prosto.

Nasz workflow

  1. Otwieramy VS i pracujemy.
  2. Raz na jakiś czas check in.
  3. Raz na jakiś czas aktualizujemy jedną paczek nuget.
  4. Raz na jakiś czas zaktualizowana paczka nuget, musi zostać zaktualizowana w projekcie.

Jak na razie wszystko jest proste i nie powinno być tutaj żadnego problemu. Niech ktoś podniesie rękę do góry jeżeli widzi w tym problem? :)

Jak działa TFS (mniej więcej)

Jak powiedziałem, to nie będzie RANT, więc jak TFS radzi sobie z kodem źródłowym każdy wie. Radzi sobie tak sobie. Ale radzi. Jak się coś usunie to uważa, że coś jest usunięte i trzeba to z checkinować. Jak się coś doda to chce dodać plik. Przy aktualizacji pliku działa to tak samo.

Problem polega na tym jakie on statusy ustawia. Przy dodawaniu i aktualizacji, raczej problemu nie ma, chyba, że zmieniamy nazwę pliku i chcemy dodać nowy ze starą nazwą. Wtedy ma prawo nastąpić problem gdyż jest pending change na starej nazwie pliku z prośbą o jej zmianę i nagle przychodzi nowy plik z tą samą nazwą.

Przy kasowaniu pliku, następuje to samo co przy zmianie nazwy, na pliku jest pending change, który wymaga check in. Jeżeli w tym momencie nastąpi dodanie nowego pliku to dostaniemy informacje o konflikcie.

Ale tutaj to jest nasz problem, korzystamy z TFS i ok, musimy liczyć się z tym, że nie wszystko jest idealne.

Issue

Nuget, aktualizując static content, usuwa poprzednie pliku. To chyba mówi o wszystkim ;) Jeżeli macie 200 plików statycznych (na przykład cały zestaw less), to 200 razy będziecie proszeni o decyzję:

Aktualizacja static content
Aktualizacja static content

Światło w tunelu

Przy najnowszej wersji ze wszystkimi Updatetami od VS 2015 i najnowszej wersji nuget z VS 2015 problem na razie się nie pojawił ponownie. Więc nic tylko wyłożyć paręset tysięcy złotych by zaktualizować team ;)

PS.: aktualizacja – udało się mi uzyskać podobny problem z VS 2015 jak chciałem cofnąć zmiany… :)

Próba wycofania zmian
Próba wycofania zmian

Mieliście podobne problemy? :)

2 KOMENTARZE

    • @MK

      :) każdy zmienia jak lubi. jeżeli komuś przeszkadza to, że firma ma TFS to niech zmienia. Przybiję z nim piątkę i w ogóle. Z chęcią też taką historię bym na blogu opublikował. znasz kogoś kto zmienił pracę z powodu tego, że wykorzystywał software do kontroli wersji który mu nie odpowiadał i to był powód zmiany?

Comments are closed.