2011-06-27 14 views
5

Tôi đang cố gắng sao chép kho lưu trữ Subversion thành git, nhưng nó vẫn cho tôi lỗi mà tôi không thực sự hiểu:lỗi sao chép git-svn: lỗi: vẫn còn ref dưới 'refs/remotes/tags'

error: there are still refs under 'refs/remotes/tags' 
fatal: Cannot lock the ref 'refs/remotes/tags'. 
update-ref -m r1649 refs/remotes/tags 16630eb01aa7abb331cdaa7ca07c1736656a058e: command returned error: 128 

Dự án lật đổ có rất nhiều thẻ và khoảng 15 chi nhánh. Nó dường như thất bại tại một điểm khác nhau mỗi lần. Tôi đã sao chép một số dự án khác tốt, chỉ có vẻ như bị mắc kẹt ở cái này.

Bất kỳ ý tưởng nào về lỗi này có nghĩa là gì và cách tôi có thể khắc phục sự cố?

Cập nhật:

Tôi đã tìm thấy nguyên nhân có thể gây ra sự cố, bây giờ tôi chỉ cần một giải pháp. Trước hết, nó không phải là một điểm khác nhau mỗi khi nó không thành công, nó là thất bại tại một phiên bản cụ thể mỗi lần. Và tôi đã kiểm tra các bản ghi lật đổ tại bản sửa đổi đó và tôi đã phát hiện ra rằng tôi đã nhầm lẫn khi tạo một thẻ trong các nhánh/thẻ thay vì trong các thẻ. Điều này đã được sửa ngay lập tức, nhưng nó có vẻ gây ra vấn đề trong git-svn.

Bất kỳ ý tưởng nào tôi có thể làm để giải quyết vấn đề này?

+0

khi nhân bản, hãy thử bỏ qua đường dẫn cụ thể mà nó phàn nàn về – UncleZeiv

+0

Và tôi sẽ làm như thế nào? – DaveJohnston

+0

Có tùy chọn '--ignore-paths = ' đối với 'git svn init' mà bạn có thể sử dụng. – UncleZeiv

Trả lời

5

Như tôi đã nói trong nhận xét của mình, giải pháp là thực hiện bản sao theo hai bước bằng cách chỉ định một loạt các cam kết từ đầu đến trước khi sự cố được thực hiện, sau đó từ sự cố đến kết thúc.

Tôi đã có thể tìm ra sự cố bằng cách xem nhật ký các lần thử không thành công. Bạn có thể thấy thông báo lỗi của tôi trong câu hỏi rằng nó đã được sửa đổi 1649.

Bạn có thể chỉ định phạm vi cam kết sử dụng bằng cách chỉ định -r start:end Sau đó cho phần còn lại của các cam kết bạn có thể chỉ định phạm vi là -r start:HEAD. từ số sửa đổi 'bắt đầu' đến số mới nhất.

Các vấn đề liên quan