Próbuję znaleźć skuteczne sposoby, w jakie inni rozwiązali następujący problem. W pracy zostaliśmy zmuszeni do wydania poprawki oprogramowania (do zainstalowania w systemach użytkowników końcowych), która jest widoczna tylko dla konkretnego klienta. Kod niestandardowy znajduje się we własnej gałęzi kontroli źródła. Problem polega na tym, że mamy dwie równoległe linie kodu (i budujemy skrypty) do synchronizacji, i za każdym razem kiedy łatamy oryginalny kod, musimy łatać i testować kod specyficzny dla klienta.
Jestem ciekawy, jak inne organizacje radzą sobie z tym scenariuszem? Jesteśmy otwarci na rozwiązania biznesowe, a nie tylko techniczne (związane z kontrolą źródła). Na przykład mówiliśmy o poinformowaniu klienta, że nie może otrzymywać aktualizacji w tym oddziale.
Nasza strategia rozgałęziania jest taka (na podstawie Visual Studio TFS Branching Guide , chociaż używamy do tego Subversion)
svn
oznacza, że nie zakłócają normalnego przepływu pracy. Jeśli kolejki łatek wyglądają na przydatne, możesz je wypróbować za pomocą git-svn lub hgsubversion . Użycie interfejsu DVCS w celu usprawnienia trudnego przepływu pracy svn
może nawet zachęcić ludzi do rozważenia przejścia na hurtownię DVCS i uzyskania wszystkich innych korzyści.
hg
lubgit
mogę zasugerować, abyś spojrzał na korzystanie z Patch Queues ( Mercurial Queues Extension lub Stacked Git ), ale nie wiem, czy TFS ma coś podobnego.