Tôi không thể tạo bản sao làm việc từ dòng lệnh bằng tiện ích svn nếu kết quả là tên tệp đầy đủ đối với một số tệp quá dài.
Nhưng tôi có thể tạo bản sao làm việc thành công từ TortoiseSVN hoặc từ Subclipse.
Tại sao?tiện ích dòng lệnh svn sẽ không hoạt động nếu tên tệp đầy đủ dài hơn 256 ký tự
Trả lời
Là một khắc phục, bạn có thể subst
bản sao làm việc của bạn vào một ký tự ổ đĩa để giữ xuống theo chiều dài đường dẫn:
C:\Users\Me\SVN\My\Cool\Repository\With\A\Very\Long\Path> subst S: .
C:\Users\Me\SVN\My\Cool\Repository\With\A\Very\Long\Path> S:
S:> svn up
Đây không phải là thực sự là một giới hạn của khách hàng svn nhưng các cửa sổ giao diện điều khiển: relative đường dẫn không thể vượt quá MAX_PATH (254) ký tự khi mở rộng.
Và không giống như một số người bình luận ở đây tuyên bố, nó không phải là một giám sát của các nhà phát triển svn để quên về MAX_PATH. Bởi vì: nếu bạn vượt qua các đường dẫn đầy đủ thay vì các đường dẫn tương đối, các lệnh sẽ hoạt động.
Vì vậy, thay vì
cd C:\some\...\very\long\path
svn up .
chạy
svn up c:\some\...\very\long\path
và nó sẽ chỉ làm việc tốt.
Nếu dòng lệnh của bạn là trong thực tế, bash Cygwin, sau đó bạn có thể nhấn lỗi này:
http://www.itefix.no/i2/node/11064 hoặc http://old.nabble.com/file-name-too-long-td22189828.html
mà trên thực tế là, Cygwin không thể xử lý những con đường với chiều dài hơn 255 ký tự. (Ngoài câu trả lời của Stefan: Không có đường dẫn tuyệt đối và tương đối nào có thể ở đây.) Cygwin 1.7, là phiên bản beta kể từ nửa năm, dường như khắc phục điều này.
Không - nó không phải là Cygwin. Tôi sử dụng svn từ FAR hoặc từ cmd. –
Thay vì làm như sau trong thư mục hiện tại của bạn:
svn co http://xxx/repo1
Give it con đường mục tiêu đầy đủ như thế này:
svn co http://xxx/repo1 E:\abc\pqr\xyz\abc\pqr\xyz\repo1
Hoạt động! Cảm ơn bạn! Tôi nghĩ rằng đó là cửa sổ tập tin hệ thống giới hạn. – RonPringadi
tôi đã cùng một vấn đề trên một hệ thống Ubuntu khi cố gắng thanh toán một kho lưu trữ với tên tập tin rất dài. Tuy nhiên, tôi phát hiện ra rằng sự cố của tôi liên quan đến việc mã hóa ổ đĩa nhà của tôi, như được giải thích tại đây: http://ubuntuforums.org/showthread.php?t=2258374
- 1. "không đầy đủ tên ký tự chung" với stringWithUTF8String
- 2. Tên tệp PHP (hoặc thư mục trong đường dẫn đầy đủ của nó) có các ký tự UTF-8 không?
- 3. kiểm tra các tiện ích dòng lệnh
- 4. Lỗi xây dựng không xác định Visual Studio. Tên đầy đủ phải ít hơn 260 ký tự
- 5. Viết tiện ích dòng lệnh trong Ruby
- 6. Tiện ích khác biệt dòng lệnh
- 7. QFileDialog: tự động thêm tiện ích khi lưu tệp?
- 8. Tiện ích mở rộng ký hiệu có ký hiệu dài
- 9. Tên quy trình đầy đủ từ task_struct
- 10. Không đủ Bộ nhớ khả dụng để xử lý lệnh này khi chạy tiện ích java từ dòng lệnh
- 11. lấy tên đầy đủ của một assembly
- 12. Tải xuống song song bằng tiện ích dòng lệnh Curl
- 13. readelf -s không xuất đầy đủ tên biến
- 14. Tiện ích tự động điền trong yii
- 15. Tại sao tiện ích HtmlHelper của tôi không hoạt động?
- 16. Tách chuỗi dài mà không vi phạm các dòng đầy đủ
- 17. Đọc tên đầy đủ bằng sscanf
- 18. Tìm tên tệp từ đường dẫn tệp đầy đủ
- 19. Xóa tiện ích khỏi tên tệp
- 20. Tệp nhật ký cho cơ sở dữ liệu đầy đủ
- 21. SVN sẽ không nhập thư viện * .a
- 22. Tìm kiếm XML bằng hoạt động tìm kiếm đầy đủ tương tự hoặc tương tự
- 23. Tiện ích của tệp C++ trống là gì?
- 24. Git-svn - nhập khẩu lịch sử đầy đủ
- 25. Linux: Tiện ích dòng lệnh Chuyển đổi RTF thành PDF?
- 26. cách xóa tiện ích mở rộng khỏi tên tệp?
- 27. Chuỗi con không hoạt động như mong đợi nếu chiều dài lớn hơn chiều dài của chuỗi
- 28. Ký tự tiếng Nhật trong tiện ích con Yii Captcha?
- 29. Lấy tên đầy đủ của waveIn device
- 30. Cách lấy tên đầy đủ?
Vì vậy, chúng ta cần thực hiện (svn up path) trong tất cả các thư mục trong dự án của chúng tôi? –
có, hoặc rút ngắn các đường dẫn xuống dưới 254 ký tự, hoặc bằng cách thực sự rút ngắn chúng (đổi tên) hoặc sử dụng SUBST trên thư mục con và sau đó sử dụng ổ đĩa được thay thế làm đường dẫn. – Stefan
Argh. Tôi xin lôi. Và bây giờ tôi thậm chí không thể xóa câu trả lời đó nữa. – Joey