Ponadto, o ile mogę powiedzieć (mechanizm P4IGNORE jest niepełny udokumentowane):
P4IGNORE wydaje się nie mieć drogę ucieczki # (znak hash, znak, że naprawdę chcą mieć w P4IGNORE od Emacs tworzy kopii zapasowych plików o nazwie nazwa_pliku # #.
wygląda # w P4IGNORE jest komentarz charakter, ale tylko wtedy, gdy pierwszy znak w linii.
Więc
*#*
wydaje się ignorować wszystkie pliki z # w nich. tj. Wydaje się być odpowiednikiem Perl regexp qr {^. #. $}.
To trochę przerażające, ponieważ jeśli # jest normalnym znakiem komentarza w większości systemów, wzorzec # będzie oznaczony *, a po nim komentarz # * i zignoruje wszystkie pliki. Ale wydaje się, że działa.
(obsługa Git jest od # jest nieco szczególny, jak również.)
P4IGNORE nie wydają się obsługiwać wzory takie jak
# matches any single character filename
?
pojedynczy znak
[seq]
dopasowuje dowolny znak w zestawie
itp.,
więc zignorować nazwę pliku pojedynczą literą jak "a", musiałem wymienić wszystkie 62 możliwości [a-zA-Z0-9]. (Mam zwyczaj tworzenia plików tmp takich jak "a", "b" ...).
Nie mam jeszcze pojęcia, jak Perfce radzi sobie z okresami w nazwach plików.
wiem na pewno, że ignorowanie nazw takich jak „# bardziej tragiczne” trzeba zrobić
.#*
oprócz
*#*
ale może to być po prostu normalny plik kropka ukrywanie .
Jednak było kilka przypadków, w których wzór jak
tmp-*
nie łapanie 'TMP foo.txt'
że ustalony przez dodanie
tmp-*.*
(Uwaga : ostatnio używałem bzr i hg, z pełnymi możliwościami wyrażeń regularnych, więc może szukam rzeczy potężniejszych niż git)
To jest nieaktualna dla najnowszego wydania Perforce. O ile mogę powiedzieć, Perforce teraz w pełni obsługuje składnię .gitignore. –
Mimo że w artykule napisano: "Składnia ignorowania Git jest w pełni obsługiwana", jestem dość pewna, że pojedynczy znak wieloznaczny git dla wzorców takich jak?, ??, wciąż nie jest obsługiwany. Zobacz http://blog.andy.glew.ca/2016/09/perforce-git-ignore-syntax-is-fully.html –