2011-07-12 22 views
7

Próbowałem ustawić określone pliki, aby zawsze używać lf, a nie crlf, niezależnie od autocrlf w systemie lokalnym.Jak ustawić wszystkie pliki w podkatalogu, aby używać określonego eol przy użyciu gitattributes?

Próbowałem utworzyć .gitattributes w katalogu głównym projektu, który zawierał tylko SquishIt.Tests/js/*.js eol=lf i próbowałem również SquishIt.Tests/js/ eol=lf. Przesunąłem obie te próby do mojego pilota, a następnie spróbowałem dwukrotnie sklonować go lokalnie. Pliki w/js/zawsze pojawiały się z CR + LF w obu przypadkach, ponieważ autocrlf jest dla mnie globalnie dostępny.

Jestem na komputerze z systemem Windows, na wypadek gdyby był niejasny. Czy to, co próbuję osiągnąć, jest możliwe?

Odpowiedz

10

Chciałem, aby wszystkie pliki tekstowe były zmuszone do używania LF z wyjątkiem jednego podkatalogu (.idea), który jest zmuszony używać "CRLF". Jest to, jak wygląda moje .gitattributes:

* text eol=lf 
/.idea/* text eol=crlf 

Zakładam więc, twoja powinna wyglądać następująco:

* text=auto 
/SquishIt.Tests/js/* text eol=lf 
+0

Tak się składa, że ​​przychodzę tutaj właśnie do tego .idea - Byłbym wdzięczny, gdyby dodać link do niektórych dokumentów :) szczególności dlaczego wiodący '/'? W jaki sposób dołączyć pliki do podfolderów, takich jak ".idea/dictionaries" –

+0

Do twojego drugiego pytania możesz po prostu użyć /.idea/dictionaries/*, aby dopasować pliki w tym podkatalogu. – Tarnschaf

+0

Jeśli chcesz dołączyć pliki do folderu i WSZYSTKICH podfolderów, użyj '/.idea/**'. Jeśli chcesz dołączyć pliki do dowolnego podfolderu o nazwie .idea, niezależnie od głębokości, użyj '.idea/*'. – SensorSmith

0

Ustawiłbym autokorel na false i ustaw core.whitespace na cr-at-eol. Lepiej pozwolić swoim redaktorom uporać się z różnicą w końcach linii. Niech git przechowa je tak, jak są.

Mam nadzieję, że to pomoże.

+0

Istnieją testy jednostkowe, które czytają z powrotem zawartość plików i pliki muszą utrzymać swoje znormalizowane zakończeń linii w poprzek wszystkie platformy bez względu na ustawienia autocrlf, aby poprawnie zapewnić zaliczenie testów. Nie mogę kontrolować, czy osoby udostępniające dane mają te ustawienia. – Akkuma

+0

Spraw, aby testy były bardziej odporne. Nie chciałbym, żeby coś w rodzaju vcs kolidowało z tym, co zawiera plik. –

+1

Dzięki, wymyśliłem sposób, aby testy stały się bardziej odporne, bez martwienia się o vcs. Dla zainteresowanych, w zasadzie czytam plik, normalizuję zakończenia linii i przepisuję plik, aby zagwarantować, że ma prawidłowe zakończenia linii. – Akkuma