Fraza „Sprawdzanie wcześnie i często”. jest zapobieganie tego rodzaju sytuacjom. Nigdy nie powinieneś tracić więcej niż kilku godzin pracy. Iron Maiden powiedział jednak najlepiej o VSS: „Biegnij na wzgórza! Biegnij po swoje życie!”
Mój widok jest prosty, migruj do czegoś innego jak najszybciej. To nie potrwa długo (1-2 tygodnie WAG) i bez względu na to, jak długo trwa migracja, łatwo to uzasadnić kosztami zarządzania. Trochę czasu na migrację to solidna kontrola źródła i bardzo mała szansa na utratę kodu źródłowego. Wykonaj szybkie wyszukiwanie w Google „źródłowych bezpiecznych opowieści grozy” lub podobnych, jeśli twój szef jest sceptyczny.
SourceSafe jest aktywną i stałą odpowiedzialnością za twoją krótko- i długoterminową produktywność. Można go łatwo zastąpić dowolną liczbą nowoczesnych, bezpiecznych i rozproszonych systemów kontroli wersji. Przeprowadź badania z Google na temat horrorów SourceSafe, a także profesjonalnych wskazówek. ZRÓB SWOJĄ SPRAWĘ. Rób co trzeba.
@ t3mujin: migruj go projekt po projekcie. Kiedy pracuję, korzystaliśmy z SourceSafe, teraz używamy TFS. Migracja wszystkiego (setki projektów) byłaby uciążliwa, więc zamiast tego, jeśli mamy pracę nad starym projektem nadal w SourceSafe, najpierw poświęcamy niewielką ilość czasu na migrację, a dopiero potem rozpoczynamy pracę.
@ Carson63000 Korzystamy z TFS do większości bieżących projektów, ale istnieje duża baza źródeł z kilkoma, ale sporadycznymi aktualizacjami VSS, których nikt nie jest skłonny zapłacić za migrację do TFS. Nie jestem w zespole, który używa go częściej, więc od czasu do czasu jestem w porządku z kilkoma liniami kodu
Wszystko, co jest złe w SCM, jest zawarte w VSS. Nawet StarTeam jest lepszy niż Source Safe. Source Safe to Internet Explorer 1 w świecie kontroli wersji: całkowicie zastąpiony przez każdą inną implementację.
Jak tego użyłem?
Mój typowy proces roboczy polegał na wykonywaniu zadań
Sprawdź projekt
Zablokuj wszystkie pliki (aby uniknąć scalenia z kimkolwiek, kto otworzył bezbożne bramy piekła)
Wykonałem moją pracę
Każdego dnia sprawdzałem moje zmiany
Sprawdziłem to wszystko ponownie i naprawiłem wszystkie problemy z integracją
Sprawdziłem to z powrotem
W porównaniu z Subversion, powyższe jest śmieszne (poza sprawdzeniem, czy nie złamałeś kompilacji).
Ograniczenia praktyk programistycznych mojego zespołu
Są to zasady, zgodnie z którymi zespół musiał pracować, aby działał dla nas. Twój przebieg może się różnić.
Tylko jedna osoba może edytować plik (Niebo pomoże ci, jeśli pojedzie na wakacje)
Nie rozgałęziaj, zarządzanie jest zbyt trudne
Nigdy nie próbuj wracać do poprzedniej wersji
Co można zrobić?
Polarion ma dobry zestaw narzędzi do migracji z programów takich jak Source Safe na Subversion (SVN), który jest obecnie de facto standardem w większości przedsiębiorstw do kontroli wersji open source. Subversion cierpi z powodu tego, że serwer musi być dostępny, aby zezwalać na meldowanie się (w przeciwieństwie do GIT lub Mercurial, które są zaprojektowane dla rozproszonych zespołów offline).
tak, rozgałęzianie i scalanie nie jest naprawdę zabawne w dobrym SCM. Nie sądzę, że kongres pozwoliłby ci zmusić ludzi do robienia tego w bezpieczny sposób.
Kiedy byłem w sklepie, który korzystał z VSS, nigdy nie mieliśmy żadnych problemów z powrotem do starej wersji. To wydaje się nieco ekstremalne. Jestem z tobą na rozgałęzieniu.
@JohnFx @SpashHit Nasz zespół miał bardzo niską tolerancję na ból, więc może jestem trochę przesadzony. Kiedy pojawił się Subversion, było to tak, jakby zniesiono potężny ciężar.
Zdarzyło się kilka razy, że tego, co zameldowałem się poprzedniego wieczoru, po prostu nie było następnego dnia rano. Nie wydawało mi się to zabawne, ponieważ wyglądało podejrzanie, jakbym właśnie skończył pracę. Ponieważ byłem nowy w firmie, mogło to być dla mnie niebezpieczne.
Przeszliśmy do TFS i od tego czasu działa płynnie.
@jae: Must to tylko kwalifikator wskazujący, że nie użyłem ich wszystkich i dlatego nie mogę zweryfikować ich jakości w odniesieniu do VSS; stąd „lub wszystko”
Używanie SourceSafe w operacji komercyjnej jest jak ogrzewanie budynku przez spalanie banknotów dolarowych.
W 2000 r. Moja ośmio-programistyczna firma prawdopodobnie straciła 5–10% swojej produktywności z powodu średnio dwa razy dziennie uszkodzeń bazy danych VSS. Było tak niskie, ponieważ chodziliśmy na cogodzinne kopie zapasowe.
Od czasu przejścia z VSS do Perforce, svn i git, nigdy nie miałem uszkodzonej bazy danych SCM.
VSS skutecznie nakłada na ciebie narkotyki, do tego stopnia, że nie możesz pogodzić się z rzeczywistością potrzebną do zrozumienia, że twoje zepsute repo nie było twoją winą.
używałem go przez lata - było to domyślne rozwiązanie, ponieważ już tam było. Gdyby mnie ugryzł kilka razy, ale bezwładność jest trudna do pokonania
potem musiałem używać go zdalnie przez VPN, a nawet drobne meldunki przypominały wpychanie cegły przez otwór . Szybciej było ręcznie znaleźć zmienione pliki, spakować je, wysłać pocztą e-mail, zdalnie do źródłowej maszyny skarbca, rozpakować je i sprawdzić kod z maszyny skarbca źródłowego.
Przełączono na Mercurial. Mogę sklonować całą bazę kodu źródłowego w sieci VPN w niecałą minutę. I nie boję się już rozgałęziania.
@David - może sensowne kopie zapasowe przed zrobieniem czegoś potencjalnie „niegrzecznego”. Jedyną rzeczą, która rywalizuje z VSS w porażce, jest MS BOB. VSS jest tak okropny, że należy stworzyć organizację charytatywną w celu wyleczenia ludzi z korzystania z niej.
Używałem go przez długi czas (prawie 10 lat) bez żadnych osobistych problemów (w tym w zespołach, w których pracowałem, chociaż nasz kod był dość dobrze podzielony, aby uniknąć konfliktów itp.).
Ale jest zbyt wiele historii utraty danych, aby móc z nich korzystać, gdy istnieją przyzwoite, niezawodne alternatywy open source.
Edycja: z komentarzy wydaje się, że w wiadomościach nie ma nic złożonego (rozgałęzianie, scalanie, konflikty) i prawdopodobnie nic ci nie jest. Coś więcej i wybierasz się na ryzykowne terytorium.
FWIW moje doświadczenie jest podobne do doświadczenia Jona. 7 lat, 8-osobowy zespół, bez problemów z korzystaniem z VSS. Najwyraźniej jesteśmy w (szczęśliwej) mniejszości. Nigdy więcej nie użyję go w oparciu o wszystkie historie (używając SVN teraz).
Gdy rozgałęzianie, scalanie i rozwiązywanie konfliktów są uważane za złożone operacje, prawdopodobnie używasz niewłaściwego systemu kontroli wersji ...
Nawet stwardnienie rozsiane wycofuje się na korzyść TFS.
W przypadku solo lub naprawdę małego sklepu pracującego w Visual Studio 6 lub czegoś starszego jest to znośne i lepsze niż nic. Myślę, że jest wiele przesady w tym, jak źle było, ale potem wystarczy jeden przypadek utraty cennej pracy, aby zakwasić cię produktem (nie bez powodu). VSS miał swoje miejsce i zasługuję na to, aby zachęcić wielu programistów, którzy nie używali żadnego narzędzia SCM, do nawyku, ale podobnie jak wiele technologii, jest on już prawie przestarzały.
Skłonienie ludzi do korzystania z SCM jest dobre, bez argumentów. Ale ... VSS? Złe doświadczenia nie mogą po prostu nadać produktowi złej nazwy, mogą nadać całej kategorii złe imię. Lub: ilu programistów zaczyna SCM od VSS, a potem pomyślało „Wow, te SCM są tak złe, jak się spodziewałem”, kiedy VSS spieprzył? Nie wspominając o tym, że SCM jest niezwykle krytycznym elementem infrastruktury, co oznacza: błędy są niedozwolone (tak, wiem ...)
@jae, to nie było moje doświadczenie. VSS był moją pierwszą ekspozycją na SCM i nigdy nie oglądałem się za siebie. Podczas użytkowania nie doświadczyłem żadnej utraty danych, uszkodzenia ani żadnych problemów przez LATA. W końcu przeszedłem, ale myślę, że zajęłoby mi więcej czasu, aby zintegrować narzędzie, gdyby nie było wcześniej zainstalowane z Visual Studio.
Po 3 latach używania go, narzekania na mojego kierownika z powodu wszystkich bardziej zaawansowanych / racjonalnych alternatyw, nigdy tak naprawdę nie miałem problemu z VSS, ale nigdy nie miałem opcji.
Moim zdaniem jest to zarówno do bani, jak i do ciosów.
Najbardziej irytujące jest to, że nie jest to okropne przechowywanie wersji i myląca możliwość rozgałęziania, ale pole listy w menu plików nie pozwala nacisnąć klawisza strzałki w prawo, aby rozwinąć.
Mój pogląd na VSS? Odrzuciłem kilka ofert pracy (bardzo dobrze płatnych), ponieważ poprosili o „biegłość w VSS”. I jestem pewien, że jest tu kilka innych osób, które zrobiły to samo.
+1, oddanie „VSS biegłości” na ogłoszenie o pracę jest to pewny znak, że nie tylko wykorzystania firma VSS, ale że mają konfigurację gdzie VSS jest już tak uszkodzony i problematyczne, że wymaga autentycznego doświadczenia VSS, aby pracować w wszystko .
Nie tylko cierpisz na problem potencjalnego uszkodzenia źródła (który powinien być wystarczającym argumentem, aby kierownictwo go zastąpiło), ale także musisz żyć z niewygodną kopią zapasową i niezdolnością do efektywnej pracy jako zespół nad różnymi strumieniami pracy.
Znajdź inny SCM (dowolny inny) i sprawdź, jak łatwe może być rozgałęzianie i scalanie. Pomyśl o tych czasach, kiedy musiałeś skopiować pliki z rozwiązania VSS i trzymać je gdzie indziej, gdy wróciłeś, aby naprawić błąd w kodzie „produkcyjnym”.
Aby kopać, po prostu zainstaluj GIT - skieruj go na pliki VSS i przekonaj się, jak łatwo GASP dwóm programistom może pracować w różnych częściach tego samego pliku W TYM SAMYM CZASIE, a następnie niech oprogramowanie inteligentnie scali twoje zmiany ... SCM narzędzia powinny być czymś więcej niż tylko źródłową kopią zapasową.
Moje poglądy na VSS? Używałem go przez długi czas regularnie (nadal sporadycznie używamy do starszych komponentów), ale dla naszego zespołu jest to zbyt XX wiek:
Bardzo niewiarygodne
Nieużywalne oddziały
Bardzo słaba obsługa wersji, masz etykiety, ale (podobnie jak oddziały) tak naprawdę nie nadają się do użytku
Jestem z wszystkimi powyższymi: wybierz jedną z lepszych alternatywnych rozwiązań typu open source (nawet stary CVS) lub, jeśli Twoja firma ma jakąś subskrypcję MSDN, TFS .
jego domyślne blokowanie spowalniało programistów i nikt nie chciał zadzierać z jego konfiguracją
nie integruje się zbyt dobrze z innymi usługami, na przykład aplikacją internetową do zarządzania projektami
nie działało to dobrze z naszym planowanym serwerem CI
Nowy materiał Team Foundation 2010 miał bardzo pomóc i spróbować uciec od złych części VSS. Ale u podstaw wciąż opiera się na VSS , dlatego przenieśliśmy się do SVN.
edytuj - Rozumiem, że TFS jest zupełnie nowy, ale podczas testowania wielu programistów, o które prosiłem, miało do niego bardzo podobne odczucia. Powodem, dla którego powiedziałem „u podstaw” było to, że pamiętam pliki TFS wykonane w moim rozwiązaniu, które wyglądały tak samo jak te wykonane przez VSS. Jest to z punktu widzenia dewelopera, być może nawet nie wiedząc o technologii VSS, TFS lub innego SCM. Przepraszam za jakiekolwiek zamieszanie.
Visual Studio używa tego samego interfejsu API wtyczki SCC dla TFS i VSS. Ten interfejs API obsługuje VSS i ma wyczucie VSS do niego, więc po zmianie z VSS do dowolnego innego serwera kontroli źródła, będzie czuć się tak, jakby duch VSS jest nadal.
@CraigTP: większość programistów absolutnie nie potrzebuje tego w TFS. Tylko hałas sprawia, że ich praca jest trudniejsza. Jeśli PM i potencjalni klienci chcą całej tej funkcjonalności, powinni oddzielić się od oprogramowania, którego programista musi używać, aby być produktywnym.
Wcześniej byłem obarczony SCCS pod XENIX. VSS, w Visual Studio 6, mimo wszystkich swoich awarii i problemów miał wyraźne zalety. Nadal używam go do małych projektów i nie używam SCCS w żadnej wersji.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.