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.
- 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ę.
- Mamy własny serwer nuget na nasze wewnętrzne paczki.
- Nasze paczki są od bibliotek po zwykłe paczki z plikami (static content), czasami mix.
- Wszystko, ale to wszystko siedzi w TFS 2013.
Prosto? Prosto.
Nasz workflow
- Otwieramy VS i pracujemy.
- Raz na jakiś czas check in.
- Raz na jakiś czas aktualizujemy jedną paczek nuget.
- 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ę:
Ś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… :)
Mieliście podobne problemy? :)
A co wam zabrania zmienic TFS na cos innego?
Jezeli firma, to czas na zmiane.
@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.