Mam repozytorium, w którym znajdują się okna (cp1252) i linux (utf8). Oczywiście Git jest zdezorientowany i umieszcza niepoprawne (z perspektywy Linuksa) nazwy plików. Wiem, że mogę używać haków do zmiany nazwy plików w jedną stronę (po stronie linuksa, na przykład, zmieniając nazwy plików z cp1252 na utf8, gdy przychodzą, i odwrotnie, kiedy je przechodzą), ale ... dokładnie jak mam to zrobić? Dokładnie jakie haczyki muszę napisać?Git - zajmowanie się kodami mieszanymi nazw plików
Odpowiedz
Dobre pytanie!
http://www.serverwatch.com/tutorials/article.php/3705216 Mówi o narzędziu o nazwie "convmv", które naprawi nazwy plików. To może być pomocne.
Iconv http://www.gnu.org/software/libiconv/ może konwertować dowolny tekst na różne zestawy znaków.
http://ozmm.org/posts/git_post_commit_for_profit.html Mówi ci, jak zrobić hak po zatwierdzeniu, ale bardziej specyficzne dla języka Ruby. Wygląda na to, że dodajesz skrypt do wykonania w .git/hooks/post-commit, a git uruchomi go po zatwierdzeniu. Może to być skrypt, który uruchamia skrypt w repozytorium git.
Dla skryptu polecam po prostu skanowanie za pomocą find, przekonwertuj nazwę pliku na UTF-8, zobacz, czy to już ta nazwa, a jeśli nie, przenieś ją.
ale czy po zatwierdzeniu prawy hak? Myślałem, że muszę przekonwertować (na linux) z cp1252 na utf8 po odebraniu plików z powrotem do cp1252 przed zatwierdzeniem lub porównaniem plików z drugim repozytorium (ponieważ maszyny linux są mniejszością w sieci - i convmv można łatwo zainstalować w * buntu) ... – Massa
'pre-commit' wygląda obiecująco. patrz: http://git-scm.com/book/en/Customizing-Git-Git-Hooks – tessi
- 1. Python HTTP HEAD - zajmowanie się poprawnie przekierowaniami?
- 2. jQuery: zajmowanie się spacją w atrybucie id
- 3. AWS Cognito: zajmowanie się czasem wygaśnięcia tokena
- 4. git: lista wszystkich nazw plików i skrótów ich ostatniego zatwierdzenia
- 5. Porównywanie nazw plików Win32
- 6. Drukowanie nazw plików
- 7. Zmiana nazw gałęzi w git
- 8. Jak reprezentować tablicę z typami mieszanymi
- 9. Wyrażenia regularne: Dopasowywanie nazw plików zaczynających się od kropki (.)?
- 10. Zmiana nazw plików zawierających spacje
- 11. Najlepsze narzędzie do porównywania plików git dla wielu małych plików
- 12. Przeglądanie historii plików git
- 13. Konwencja nazw plików klas ogólnych
- 14. Zastępowanie znaków nazw plików pytonem
- 15. Odczytywanie nazw plików do tablicy
- 16. Dobre samouczki dotyczące zarządzania kodami?
- 17. odległość między 2 kodami pocztowymi
- 18. Git Zmieniające się nazwy
- 19. Sposób modyfikacji plików pakietu git?
- 20. Wyodrębnianie nazw plików ze ścieżki MYSQL
- 21. Dostosowywanie uzupełniania nazw plików w trybie Ex
- 22. masowe zmienianie nazw plików opartych na wyszukiwaniu
- 23. Tworzenie poprawnych nazw plików w Javie
- 24. Inteligentne refaktoryzacja nazw plików w Eclipse + Android?
- 25. Czytanie akcentowanych nazw plików w VB6
- 26. Uzyskiwanie dostępu do nazw plików formularza przesyłania wielu plików
- 27. Podział nazw plików za pomocą separatora plików systemowych
- 28. Git rozgałęziony podczas otwierania plików
- 29. git ignoruj wiele pasujących plików
- 30. Rozszerzenie dużych plików dla git
Czy nie byłoby łatwiej konwertować pliki raz i używać również UTF-8 w systemie Windows? – TimWolla