Tôi có một kho lưu trữ CVS lớn chứa các tệp trong ISO-8859-1
và muốn chuyển đổi tệp này thành git.Chuyển đổi mã hóa tệp git kho
Chắc chắn tôi có thể định cấu hình git để sử dụng ISO-8859-1
để mã hóa, nhưng tôi muốn có nó trong utf8
.
Bây giờ, với các công cụ như iconv
hoặc recode
tôi có thể chuyển đổi mã hóa cho các tệp trong cây đang hoạt động của mình. Tôi có thể cam kết điều này với một tin nhắn như converted encoding
.
Câu hỏi của tôi bây giờ là, có khả năng chuyển đổi toàn bộ lịch sử không? Hoặc khi chuyển đổi từ cv sang git hoặc sau đó. Ý tưởng của tôi là viết một kịch bản đọc từng cam kết trong kho git và chuyển đổi nó thành utf8
và cam kết nó trong một kho lưu trữ git mới.
Điều này có thể (Tôi không chắc về mã băm và cách đi qua các cam kết, chi nhánh và thẻ). Hoặc là có một công cụ có thể xử lý một cái gì đó như thế này?
Có, bạn có thể viết lại lịch sử, nhưng có lẽ bạn không nên: Bạn không bao giờ nên viết lại một kho lưu trữ, mà bạn đã đẩy một nơi nào đó. Ý kiến của tôi là: 'iconv' và một cam kết bình thường là con đường để đi. – KingCrunch
OK, cảm ơn @KingCrunch. Nhưng kể từ khi tôi mới tạo kho git nó được đẩy đến hư không. Và tôi cũng sẽ chấp nhận để tạo một kho lưu trữ thứ hai với mã hóa '' utf8'' dựa trên lịch sử đầu tiên. Mà về cơ bản là giống nhau thay vì tôi sẽ không sửa đổi repo hiện tại. –