Próbowałem uruchomić git p4 na repo, że pracuję jako tymczasowy pomost między git i perforce. Wiele osób korzysta z repozytorium jako pilota, a jego okresowe przesyłanie jest ponownie wykonywane.git p4 submit failed
Pracuje w większości dobrze, z wyjątkiem kilku zduplikowanych przymusów, których dziwaczne zachowanie nie może się powielać. Potem jeden dzień poza granice otrzymuję ten błąd. Nie mogę już naciskać żadnych poleceń git do zmylenia.
[email protected]:~/Source/code$ git p4 submit -M --export-labels
Perforce checkout for depot path //depot/perforce/workspace/ located at /home/user/Source/git-p4-area/perforce/workspace/
Synchronizing p4 checkout...
... - file(s) up-to-date.
Applying ffa390f comments in config xml files
//depot/perforce/workspace/sub/folder/structure/first.xml#3 - opened for edit
//depot/perforce/workspace/sub/folder/structure/second.xml#3 - opened for edit
//depot/perforce/workspace/sub/folder/structure/third.xml#3 - opened for edit
//depot/perforce/workspace/sub/folder/structure/forth.xml#3 - opened for edit
//depot/perforce/workspace/sub/folder/structure/fifth.xml#1 - opened for edit
error: patch failed: sub/folder/structure/first.xml:1
error: sub/folder/structure/first.xml: patch does not apply
error: patch failed: sub/folder/structure/second.xml:1
error: sub/folder/structure/second.xml: patch does not apply
error: patch failed: sub/folder/structure/third.xml:1
error: sub/folder/structure/third.xml: patch does not apply
error: patch failed: sub/folder/structure/forth.xml:1
error: sub/folder/structure/forth.xml: patch does not apply
error: patch failed: sub/folder/structure/fifth.xml:1
error: sub/folder/structure/fifth.xml: patch does not apply
Unfortunately applying the change failed!
//depot/perforce/workspace/sub/folder/structure/first.xml#1 - was edit, reverted
//depot/perforce/workspace/sub/folder/structure/second.xml#3 - was edit, reverted
//depot/perforce/workspace/sub/folder/structure/third.xml#3 - was edit, reverted
//depot/perforce/workspace/sub/folder/structure/forth.xml#3 - was edit, reverted
//depot/perforce/workspace/sub/folder/structure/fifth.xml#3 - was edit, reverted
No commits applied.
Błąd ten wygląda trochę jak ten błąd:
git-p4 submit fails with patch does not apply
chyba nie robię żadnej zmiany słów kluczowych, więc nie mam pojęcia, co to może być. dodanie --verbose
nie wydaje się pomóc wyjaśnić wiele (nie mam tego wyjścia polecenia pod ręką)
Jedyna zmiana jaką mogłem sobie wyobrazić, to że dodałem plik .gitattributes z poniższą zawartością poniżej w momencie, kiedy popełnił commit. Jednakże, dopuszcza się przed tym popełnić natomiast gitattributes plik był w miejscu nie działa, więc to nie może być tak, że (mam od sprawiło, że .gitattributes złożyć bardziej szczegółowe)
* text eol=lf
Próbowałem Cofanie zobowiązuje się w tym zdalnym repo na chwilę przed tym szkodliwym zatwierdzeniem, a następnie odsyła je z mojego repo na to zdalne repozytorium, a następnie ponownie przesyła. To samo zachowanie. Próbowałem wycofywać i wprowadzać różne zmiany do tego samego pliku, powtarzając, przesyłając ponownie. To samo zachowanie. I wydaje się, że dzieje się tak tylko z tymi plikami. Od przywrócenia starałem się wprowadzać zmiany do innych plików i działają. Próbowałem uruchomić dos2unix, aby wymusić zakończenie linii unixowych na plikach naruszających, i to też nie naprawiło.
Jakie polecenie może dać mi lepsze wyjaśnienie tego, co się tutaj dzieje? Czy istnieje plik dziennika git, który mogłem ogonem? Każda pomoc będzie doceniona.
Edycja: Ponownie przetestowałem mój problem zi bez pliku .gitattributes. to nie miało znaczenia. obecnie wprowadzane jest moje globalne ustawienie core.autocrlf. Ale z brakującym plikiem .gitattributes, który wydawał się nie mieć znaczenia. Oto, jak to wyglądało, gdy przetestowałem go za pomocą jednego z niepoprawnych plików z włączoną --verbose
.
[email protected]:/code$ git p4 submit -M --export-labels --verbose
Reading pipe: git name-rev HEAD
Reading pipe: ['git', 'config', 'git-p4.allowSubmit']
Reading pipe: git rev-parse --symbolic --remotes
Reading pipe: git rev-parse p4/master
Reading pipe: git cat-file commit 0457c7589ea679dcc0c9114b34f8f30bc2ee08cf
Reading pipe: git cat-file commit HEAD~0
Reading pipe: git cat-file commit HEAD~1
Reading pipe: ['git', 'config', 'git-p4.conflict']
Origin branch is remotes/p4/master
Reading pipe: ['git', 'config', '--bool', 'git-p4.useclientspec']
Opening pipe: ['p4', '-G', 'where', '//depot/perforce/workspace/...']
Perforce checkout for depot path //depot/perforce/workspace/ located at /home/user/Source/git-p4-area/perforce/workspace/
Synchronizing p4 checkout...
... - file(s) up-to-date.
Opening pipe: p4 -G opened ...
Reading pipe: ['git', 'rev-list', '--no-merges', 'remotes/p4/master..master']
Reading pipe: ['git', 'config', '--bool', 'git-p4.skipUserNameCheck']
Reading pipe: ['git', 'config', 'git-p4.detectCopies']
Reading pipe: ['git', 'config', '--bool', 'git-p4.detectCopiesHarder']
Reading pipe: ['git', 'show', '-s', '--format=format:%h %s', 'ef3b95f5fec193fe2612b28e2e3b5e7f8ba9419e']
Applying ef3b95f making test change
Opening pipe: p4 -G users
Reading pipe: ['git', 'log', '--max-count=1', '--format=%ae', 'ef3b95f5fec193fe2612b28e2e3b5e7f8ba9419e']
Reading pipe: git diff-tree -r -M "ef3b95f5fec193fe2612b28e2e3b5e7f8ba9419e^" "ef3b95f5fec193fe2612b28e2e3b5e7f8ba9419e"
//depot/perforce/workspace/sub/folder/structure/first.xml#3 - opened for edit
<stdin>:17: trailing whitespace.
<!-- comment line 1 -->
<stdin>:18: trailing whitespace.
<!-- comment line 2 -->
<stdin>:19: trailing whitespace.
<!-- comment line 3 -->
error: patch failed: sub/folder/structure/first.xml:1
error: sub/folder/structure/first.xml: patch does not apply
Unfortunately applying the change failed!
Reading pipe: ['git', 'config', '--bool', 'git-p4.attemptRCSCleanup']
//depot/perforce/workspace/sub/folder/structure/first.xml#3 - was edit, reverted
No commits applied.
Reading pipe: ['git', 'config', '--bool', 'git-p4.exportLabels']
Opening pipe: ['p4', '-G', 'labels', '//depot/ipstor.maple/automation/...']
Reading pipe: ['git', 'tag']
Reading pipe: ['git', 'config', 'git-p4.labelExportRegexp']
Zgaduję, że 'git diff-tree -r -M" ef3b95f5fec193fe2612b28e2e3b5e7f8ba9419e^"" ef3b95f5fec193fe2612b28e2e3b5e7f8ba9419e "' i sprawdź, czy możesz zastosować poprawki ręcznie? –