Tôi đã thiết lập repo git-svn với cron để tìm nạp từ repo svn hàng ngày. Tôi có một kịch bản để thực hiện tìm nạp, và đây là những gì được gọi bởi cron. Mọi thứ đều ổn với repo và kịch bản hoạt động tốt khi được thực hiện thủ công.
Tuy nhiên, khi nó chạy dưới cron, các tệp trống sẽ bị rơi vào thư mục .git. Các tệp có tên trông giống như chúng là một số đầu ra base64, ví dụ: juTrvjP6m8 và kcKf3hu3b4. Hai trong số các tệp này hiển thị cho mỗi lần chạy cron. Tôi nghĩ rằng đây có thể là băm cam kết, nhưng chúng không phải, git-show nói rằng đó là một phiên bản không xác định.
Tôi thiết lập repo như sau:
git svn init http://svn.ip.addr/repo
git svn fetch svn-remote
Kịch bản của tôi trông như thế này:
cd /gitsvn/dir
git svn fetch svn-remote
git svn push pub
Dòng cuối cùng đẩy repo đến một repo công khai (trần) riêng biệt mà từ đó những người khác có thể sao chép.
Tôi đang chuyển đầu ra từ công việc định kỳ sang một tệp, trông giống như sau:
fatal: unable to run 'git-svn'
Counting objects: 21, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (10/10), done.
Writing objects: 100% (11/11), 59.08 KiB, done.
Total 11 (delta 8), reused 0 (delta 0)
To /gitpub/repo.git
360faf5..a153b0d trunk -> trunk
Dòng "gây tử vong: không thể chạy 'git-svn'" là đáng báo động, nhưng việc tìm nạp dường như vẫn đi trước. Bất kỳ đề xuất? Những tệp rác trống này đến từ đâu và làm thế nào để ngăn chặn chúng? Tôi có ở trong những vấn đề lớn hơn trong tương lai không?
BTW, tôi đang sử dụng git 1.6.3.3.