W pracy używamy SVN, ale tylko z nazwy. Nie rozgałęziamy się ani nie łączymy. Przechowujemy dwie kopie repozytorium, jedną służącą jako gałąź „znacznika”, która jest kopiowana podczas wdrażania i przechowywana w celu naprawy błędów oraz natychmiastowe funkcje typu „to musi działać jak najszybciej”. Musimy pamiętać o skopiowaniu zmian dokonanych w jednej kopii do drugiej kopii („pnia”). Mamy kilkanaście projektów w jednym folderze w repozytorium, zamiast ich podziału. Krótko mówiąc, jedyną rzeczą, której używamy SVN, jest możliwość zatwierdzenia. Cała reszta odbywa się ręcznie.
Oceniałem Mercurial; W przeszłości korzystałem z Git (jako jedyny w zespole korzystałem z DVCS) i szybko odbieram Mercurial. Zastanawiam się nad wprowadzeniem Mercurialu dla reszty zespołu jako „lepszym sposobem” robienia rzeczy, ponieważ rozgałęzianie jest bardzo proste, łączenie jest o wiele łatwiejsze, a my możemy lokalnie przypisywać rzeczy do naszych serc i popychać je tylko do centrali rozgałęzić się, kiedy będą gotowe. Dostalibyśmy wszystkie zalety SVN (i tak teraz nie otrzymujemy wielu korzyści, ponieważ nikt tak naprawdę nie rozumie SVN), a ponadto w przypadku nowych funkcji nie musimy mieć pływających ton niewersjonowanych plików, więc jeśli musimy wycofać mamy przerąbane. Przepływ pracy wydaje się nieco prostszy - musimy tylko pamiętać, że „Commit” jest lokalny, a „Push” jest jak zatwierdzenie SVN,
Czy to dobre podejście? Należy pamiętać, że zespół jest bardzo elastyczny i dostosuje się do wszystkiego, co poprawi jakość naszej pracy i ułatwi nam robienie rzeczy - CIO zapytał mnie nawet, kiedy wspomniałem, że nie wykorzystujemy SVN do jego potencjału ” jest coś lepszego, czego możemy użyć? ” więc on też jest na pokładzie.
I will probably not take DVCS very seriously until I end up on a large development team
Lub dopóki nie trafisz do rozproszonego zespołu. Jesteśmy małym zespołem (5 osób) pracującym w 3 lokalizacjach (a czasem 5, kiedy nie mamy ochoty