Witam wszystkich!
Czy ktoś wie jaka jest przyczyna ponizej opisanego problemu?
Zwięzły opis:
plik alfa.php zawiera 4 znaki: ALFA (bez żadnych CR,LF), czyli ma rozmiar 4bajty, co pokazuje systemowy explorer plików (Windows 7).
plik beta.php zawiera 4 znaki: BETA (bez żadnych CR,LF), czyli ma rozmiar 4bajty, co pokazuje co pokazuje systemowy explorer plików (Windows 7).
Po skomitowaniu tych plików GITem do brancha, usunieciu ich, a nastepnie przywróceniu checkoutem, wygladają identycznie jak oryginały.
Sprawdziłem to kilkoma edytorami binarnymi. Jednak nie zachowują się tak samo jako skrypty PHP, gdy w adresie jest na końcu slash.
Mianowicie, po prawidłowym "wyświetleniu" skryptu nazwa.hosta/alfa.php/, skrypt nazwa.hosta/beta.php/ nie działa, tzn. na stronie pozostaje nadal napis ALFA, mimo, że adres w przeglądarce jest już inny. Czyszczenie totalne historii przeglądarki nic nie daje. Doraźnym wyjściem z sytuacji jest restart Apache, ale po powtórzeniu eksperymentu problem sie powtarza.
Natomiast trwałą poprawę daje otwarcie w/w plików w systemowym Notepadzie i "Zapisz plik", bez konieczności dokonywania jakichś zmian.
Ktoś by mógł powiedzieć, po co się tym przejmować, wystarczy nie umieszczać na końcu slasha, ale w złożonych projektach nie jest to już takie proste i dzieją sie po prostu "cuda".
Szkoda, bo chciałbym używać GITa, (podobny problem miałem z Subversion, choć tak szczegółowo nie testowałem). Obecnie po prostu zrzucam codziennie projekt do archiwum.
Dopisane na drugi dzień -----------------------------------
Sprawdziłem, że problem ten nie dotyczy plików załączanych include/require. Tak więc w złożonych projektach wystarczy tylko "naprawić" skrypt(y) startowy(e).
Dobrze jest jednak wiedzieć, jakiego rodzaju zmiany zachodzą w plikach podczas pracy z Gitem, nie licząc oczywiście EOL-ów. Być może jest to gdzieś udokumentowane, ale nie mogę znaleźć.
Nie chcę zniechęcac do Gita, Bedę go dalej uzywał. Zresztą podobny problem jak już pisałem miałem z Subversion.