Chỉ muốn lưu ý - có thực sự là một tập tin ẩn trong git-svn, được gọi là một cái gì đó giống như
.git/svn/refs/remotes/git-svn/.rev_map.00088888-caaa-4444-9999-2222eeeeeee4
... nơi id bế mạc là UUID Repository hoặc git-svn-id
.
Đây là một tập tin nhị phân, và có một chút thêm về nó trong /usr/lib/git-core/git-svn
:
# rev_map: ...
# This is the replacement for the rev_db format, which was too big
# and inefficient for large repositories with a lot of sparse history
# (mainly tags)
#
# The format is this:
# - 24 bytes for every record,
# * 4 bytes for the integer representing an SVN revision number
# * 20 bytes representing the sha1 of a git commit
...
# - Piping the file to xxd -c24 is a good way of dumping it for
# viewing or editing (piped back through xxd -r), should the need
# ever arise.
Lưu ý rằng đầu ra trông giống như sau:
$ cat .git/svn/refs/remotes/git-svn/.rev_map.* | xxd -c24 | head -1
0000000: 0000 0001 33ee 22cc 9933 88aa 44ff 22dd 5566 88ee 66aa bbcc ....5.'..?..J...Zj..`...
Tôi nghĩ rằng khi bạn gõ git svn info
, đó là tập tin được tư vấn, để bạn nhận được một số sửa đổi SVN dựa trên hàm băm SHA git
cho một cam kết. Tôi không có ý tưởng làm thế nào người ta có thể tái tạo nó, mặc dù (althogh git svn reset
có thể giúp xóa các mục từ tệp này, không chắc chắn 100% này)
Bản đồ là bản đồ giữa các số sửa đổi cam kết (r123) và Git cam kết băm (b389fe…).Không có ý tưởng những gì các lỗi có nghĩa là mặc dù, khác hơn là tôi nhìn thấy nó khá thường xuyên và nó có vẻ lành tính. –
Tôi đoán điều đó có nghĩa là lịch sử sửa đổi có thể không được giữ nguyên. – bancer