Zastanawiam się nad przeniesieniem tego sklepu .NET z svn do git, i zidentyfikowałem pewne dodatkowe problemy, które chciałbym znaleźć rozwiązanie, zanim przełączymy przełącznik.
Pytanie, o które pytam w szczególności w tym pytaniu, to egzekwowanie końca linii. Domyślnie git dla systemu Windows instaluje się z poleceniem „checkout crlf, commit lf”, co nie będzie działać dla grupy źródeł, która (o ile mi wiadomo) składa się wyłącznie z zakończeń crlf.
Nie wiem, czy ślepo ufam każdemu deweloperowi, że poprawnie skonfiguruje tę nawet podaną instrukcję, więc rozważam jeden (lub oba) z poniższych, ale byłem ciekawy, czy ktoś tutaj wybrał inną drogę.
- Hak wstępnego sprawdzania, czy nie ma żadnych zakończeń linii LF (a może wszystkich zakończeń linii LF) i odrzuca w tym przypadku.
- Skrypt instalacyjny dystrybuowany do deweloperów, który wypełnia globalną konfigurację „jak jest, jak jest”.
PS Pisząc to, przyszło mi do głowy, że początkowa konwersja z svn na git może zatwierdzić domyślny sposób i tak długo, jak ludzie trzymają się tej wartości domyślnej, będzie to również dość płynne. Będąc deweloperem używającym git w sklepie .NET, który zainstalował git z domyślnym „tak jak jest, tak jak jest”, również tam stworzyłem własne problemy (wszystkie zostały wprowadzone domyślnie przed moim przybyciem) . Więc nadal skłaniam się do jakiegoś mechanizmu egzekwowania.