tùy chọn thứ hai là cung cấp chương trình/tập lệnh giải quyết ánh xạ.
Rất hữu ích nếu có số lượng người gửi không xác định nhưng có thể "được tạo" từ tên người gửi SVN!
Nếu… Tên người gửi không có trong tệp tác giả, git svn sẽ hủy bỏ hoạt động. Sau đó, người dùng sẽ phải thêm mục nhập thích hợp. Re-chạy lệnh git svn trước đó sau khi các tác giả-file được sửa đổi ...
như vậy, do chúng ta có:
--authors-prog=mapMyCompanyUsers.sh
Để không có lực lượng mọi người sử dụng để kiểm tra/curl/wget'ting sự Bản đồ-Script đầu tiên, bạn có thể cung cấp một cái gì đó như thế này:
$(tmpMapFile="$TMPDIR/mapSvnUsersAutomatically.$$.sh" && echo -e '#!/bin/sh\necho $1" <"$1"@example.com>"' > $tmpMapFile && chmod +x $tmpMapFile && echo $tmpMapFile)
Chiếc máy nhái sẽ trông giống như:
$ git svn clone -s --authors-prog=$(tmpMapFile="$TMPDIR/mapSvnUsersAutomatically.$$.sh" && echo -e '#!/bin/sh\necho $1" <"$1"@example.com>"' > $tmpMapFile && chmod +x $tmpMapFile && echo $tmpMapFile) https://svn.example.com/svn/repo/
Điều này sẽ buộc tất cả các ánh xạ đều giống nhau và các bản sao SVN có thể được "chia sẻ" và được hợp nhất qua git!
Nguồn
2012-10-18 14:14:42
Điều đó cũng hoạt động theo hướng git-> svn, như được hỏi bởi OP? –
@Christoph: nhân tiện, bạn * làm * có một gương SVN của một repo Git (http://stackoverflow.com/questions/570945/git-clone-of-git-svn-tree/571084#571084). Bạn đã bao giờ phải sử dụng tùy chọn --authors-file? – VonC
Giải pháp của bạn hoạt động, nhưng không có chuyển đổi --no-metadata –