2011-11-25 18 views
6

Tôi đang sử dụng Xcode 4.2.1. và tôi gặp sự cố này khi chạy ứng dụng hiện có trên trình mô phỏng iOS:Xcode: Lỗi -> Xây dựng không thành công -> Vui lòng nâng cấp ứng dụng Subversion của bạn để sử dụng bản sao làm việc này

svn: The path '.' appears to be part of a Subversion 1.7 or greater 
working copy. Please upgrade your Subversion client to use this 
working copy. 
/Users/me/Library/Developer/Xcode/DerivedData/myproject-dxfzldckuqdmlrghowwkdrbgoigy/Build /Intermediates/myproject.build/Debug-iphonesimulator/MyProject.build/Script-9567AEA113C59633000AA291.sh: No Subversion revision found at /Users/me/Library/Developer/Xcode/DerivedData/myproject-dxfzldckuqdmlrghowwkdrbgoigy/Build/Intermediates/myproject.build/Debug-iphonesimulator/MyProject.build/Script-9567AEA113C59633000AA291.sh line 32. 
Building revision 
Command /bin/sh failed with exit code 1 

Tôi có máy chủ Subversion 1.7.1 được cài đặt và cũng ở phía máy khách, tôi đã nâng cấp lên 1.7.1. Tôi đã làm một svn upgrade và sau đó tôi nhận được lỗi này trong Xcode.

Nếu tôi lặp lại svn upgrade trên thiết bị đầu cuối, tôi nhận được thông báo Can't upgrade '...' as it is not a pre-1.7 working copy directory.

Vậy có gì sai? Tôi giải quyết vấn đề như thế nào?

Trân trọng Tim

Trả lời

7

Xcode chưa hỗ trợ SVN 1.7. Chỉ hỗ trợ 1,6. Để khắc phục sự cố của bạn, bạn cần chuyển sang sử dụng bản sao làm việc tương thích với SVN 1.6.

Vì SVN 1.7 khách hàng không thể làm việc với 1.6 bản sao làm việc ở tất cả, bạn sẽ cần phải loại bỏ SVN 1.7.x từ khách hàng của bạn và trở lại 1.6. (Hoặc có lẽ chỉ cần điều chỉnh PATH của bạn để các công cụ SVN 1.6 là đầu tiên.) Một khi 1.6 là trở lại, xóa hoặc di chuyển sang một bên bản sao làm việc hiện tại của bạn và kiểm tra một bản sao mới với SVN 1.6. Bây giờ Xcode sẽ có thể làm việc với bản sao làm việc của bạn.

Lưu ý rằng bạn có thể tự do sử dụng máy khách SVN 1.6 với máy chủ SVN 1.7. Một số tính năng mới hơn sẽ không khả dụng nhưng sẽ hoạt động. Không cần hạ cấp máy chủ hoặc kho lưu trữ phía máy chủ của bạn.

Theo dõi các ghi chú phát hành Xcode trong các bản cập nhật vì tôi chắc chắn Apple sẽ lưu ý khi Xcode có khả năng sử dụng SVN 1.7. Khi một bản phát hành Xcode tương thích 1.7 trở nên có sẵn, sau đó nó sẽ an toàn để nâng cấp máy khách của bạn lên 1.7 và di chuyển bản sao làm việc của bạn một lần nữa.

8

Có một bài đăng có vẻ ngụ ý rằng bạn có thể đánh lừa XCode sử dụng ứng dụng khách svn 1.7 bằng cách thay đổi PATH của bạn và thiết lập một vài liên kết mềm ở những nơi chiến lược. Thật không may, the post là bằng tiếng Trung. May mắn thay, Google translate và sự hiện diện của các lệnh UNIX làm cho nó có thể giải mã những gì bài viết đang nói. Tôi sẽ thử nó trong vài ngày tới, và cập nhật câu trả lời nếu có gì hữu ích xuất phát từ bài tập này.

EDIT: Tôi đã thử các bước từ bài đăng và nó đã hoạt động. Dưới đây là những gì tôi đã làm:

  • Downloaded và cài đặt svn client 1.7.2 vào /opt/subversion
  • Added/opt/lật đổ/bin để PATH tôi trong .bash_profile
  • Tạo một thư mục sao lưu /Developer/usr/bin/orig.svn
  • Moved /Developer/usr/bin/svn* đến /Developer/usr/bin/orig.svn
  • Ran ln -s /opt/subversion/bin/svn* /Developer/usr/bin/

Sau đó tôi bắt đầu lại XCode, đi đến tổ chức, và đã có thể đính kèm một bản sao làm việc của một thanh toán tạo ra với khách hàng svn 1.7.2. Tổ chức cho thấy một dấu chấm màu xanh lá cây bên cạnh kho lưu trữ, hiển thị một danh sách các bản sửa đổi, vv, do đó, vào thời điểm này tôi tin rằng các trick đã làm việc.

+1

Điều này là tốt nếu bạn là một nhà phát triển duy nhất, nhưng có thể không tốt nếu bạn đang làm việc cho một nhóm. Ngoài ra, bạn sẽ cần phải thiết lập các liên kết bổ sung nếu bạn đang sử dụng các công cụ svn khác như 'svnversion'. – ThomasW

+0

@ThomasW Tôi nghĩ rằng các bước dễ làm theo và tự động hóa thông qua một kịch bản, do đó, điều này cũng nên làm việc cho một nhóm nhỏ. Thiết lập các liên kết bổ sung là không cần thiết, bởi vì bạn có thể tiếp tục sử dụng SVN client từ dòng lệnh dựa trên các thiết lập đường dẫn; các liên kết ở đó để lừa Xcode vào sử dụng một phiên bản khác của trình khách SVN. – dasblinkenlight

+1

bạn đúng rằng nó có thể được tự động thông qua một kịch bản, nhưng bạn sẽ phải chắc chắn rằng kịch bản được chạy mỗi khi bạn cập nhật Xcode. Nó có thể là một vấn đề với các công cụ svn khác nếu những công cụ này được gọi bởi các kịch bản lệnh trong một dự án Xcode. Tôi cho rằng điều này sẽ trở thành một vấn đề nếu Apple không bao giờ cập nhật bản cài đặt svn chuẩn, nhưng chúng vẫn chưa có Xcode 4.3. – ThomasW

0

Bạn có thể tải về và cài đặt một gói nhị phân từ http://www.wandisco.com/subversion/download#osx

Các gói phần mềm sẽ cài đặt vào /opt/subversion trong khi phiên bản xcode của SVN được cài đặt trong /usr/bin. Nếu bạn , hãy thêm/opt/subversion/bin vào biến đường dẫn của bạn, biến này sẽ được chọn thay vì phiên bản xcode.

Nếu bạn không muốn gây rối với đường dẫn của mình, bạn có thể chỉ bí danh một phiên bản hoặc phiên bản kia. man alias để biết chi tiết.

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