2011-11-03 14 views
124

Tôi không thể thực hiện cam kết SVN. Tôi gặp lỗi này:SVN nâng cấp bản sao làm việc

org.apache.subversion.javahl.ClientException: The working copy needs to be upgraded 
svn: Working copy 'C:\.... is too old (format 10, created by Subversion 1.6) 

Làm cách nào để khắc phục? Cảm ơn.

Trả lời

146

Bạn phải nâng cấp ứng dụng khách phụ của mình lên ít nhất 1.7.

Với các khách hàng dòng lệnh, bạn phải tự nâng cấp định dạng bản sao làm việc của bạn bằng cách phát lệnh svn upgrade:

Upgrading the Working Copy

Subversion 1.7 introduces substantial changes to the working copy format. In previous releases of Subversion, Subversion would automatically update the working copy to the new format when a write operation was performed. Subversion 1.7, however, will make this a manual step. Before using Subversion 1.7 with their working copies, users will be required to run a new command, svn upgrade to update the metadata to the new format. This command may take a while, and for some users, it may be more practical to simply checkout a new working copy.
Subversion 1.7 Release Notes

TortoiseSVN sẽ thực hiện các bản sao hoạt động nâng cấp với ghi hoạt động tiếp theo:

Upgrading the Working Copy

Subversion 1.7 introduces substantial changes to the working copy format. In previous releases, Subversion would automatically update the working copy to the new format when a write operation was performed. Subversion 1.7, however, will make this a manual step.

Before you can use an existing working copy with TortoiseSVN 1.7, you have to upgrade the format first. If you right-click on an old working copy, TortoiseSVN only shows you one command in the context menu: Upgrade working copy.
TortoiseSVN 1.7 Release notes

+2

Khi tôi phát lệnh 'svn upgrade' Ubuntu cho tôi biết" lệnh không tìm thấy " – geneorama

+0

@geneorama: bạn đã cài đặt' svn' chưa? ('sudo apt-get install svn') – knittl

+3

Cảm ơn bạn đã trả lời! Tôi đã có svn cài đặt (subversion), nhưng nó là phiên bản 1.6, mà không có lệnh 'upgrade'. Ubuntu 12.04 sẽ không cài đặt 1.7 mà không cần thêm một ppa mới. http://askubuntu.com/questions/65468/where-can-i-find-a-subversion-1-7-binary – geneorama

1

Sau khi nâng cấp lên phiên bản Tortoise-SVN mới nhất, tôi cần thực hiện "Nâng cấp" trước (trái ngược với "Cập nhật"!).

57

từ nhật thực, bạn có thể chọn trong dự án, nhấp chuột phải-> team-> upgrade

+0

Không thể tìm thấy tùy chọn nâng cấp –

2

Vấn đề này là do bạn ry để biên dịch dự án có các tập tin của OLder SVN hơn bạn hiện đang sử dụng.

Bạn có hai giải pháp để giải quyết vấn đề này

  1. để cài đặt phiên bản 1.6 SVN để tương thích với dự án file SVN
  2. cố gắng nâng cấp dự án .. (không phải lúc nào làm việc).
2

Nếu bạn vừa nâng cấp lên SVN 1.7 trên máy của mình (như tôi vừa làm), và có rất nhiều dự án trong không gian làm việc Eclipse cần nâng cấp, bạn có thể làm như sau trong cửa sổ đầu cuối hệ thống Unix-baesd:

cd [eclipse/workspace] # <- you supply the actual path here 

for file in `find . -depth 2 -name "*.svn"`; do svn upgrade `dirname $file` ; done; 

Sau Googling một chút, tôi thấy những gì có vẻ là tương đương cho người dùng Windows:

http://www.rqna.net/qna/mnrmqn-how-to-find-all-svn-working-copies-on-win-xp.html

Xem câu trả lời bởi Alexey Shcherbak nửa dow n trang.

1

Nếu bạn gặp lỗi này từ Netbeans (7.2+) thì điều đó có nghĩa là phiên bản Subversion được cài đặt riêng của bạn cao hơn phiên bản trong netbeans. Trong trường hợp của tôi, Netbeans (v7.3.1) có SVN v1.7 và tôi chỉ nâng cấp SVN lên v1.8.

Nếu bạn nhìn vào Tools > Options > Miscellaneous (tab) > Versioning (tab) > Subversion (pane), thiết lập Preferred Khách hàng = CLI, sau đó bạn có thể thiết lập các con đường SVN được cài đặt mà đối với tôi là C:\Program Files\TortoiseSVN\bin.

Có thể tìm thấy thêm trên Netbeans Subversion Clients FAQ.

1

Với AnkhSVN trong Visual Studio, cũng có tùy chọn "Bản sao làm việc nâng cấp" trong trình đơn ngữ cảnh cho giải pháp trong Solution Explorer (nếu có).

5

On MacOS:

  1. Lấy biên soạn mã nhị phân client SVN mới nhất từ ​​here.
  2. Cài đặt.
  3. Thêm tệp nhị phân vào đường dẫn (màn hình cài đặt cuối cùng giải thích cách thực hiện).
  4. mở terminal và chạy lệnh sau vào thư mục dự án của bạn:

    svn upgrade

0

Bạn có thể nâng cấp lên Subversion 1.7. Để cập nhật lên Subversion 1.7, bạn phải khởi chạy dự án hiện có trong Xcode 5 hoặc cao hơn. Thao tác này sẽ nhắc cảnh báo ‘The working copy ProjectName should be upgraded to Subversion 1.7’ (được hiển thị trong ảnh chụp màn hình bên dưới).

Screenshot for warning

Bạn nên chọn ‘Upgrade’ nút để nâng cấp lên Subversion 1.7. Việc này sẽ mất một chút thời gian.

Nếu bạn đang sử dụng terminal sau đó bạn có thể nâng cấp lên Subversion 1.7 bằng cách chạy dưới lệnh trong thư mục dự án của bạn: svn nâng cấp

Lưu ý rằng khi bạn có upgraded to Subversion 1.7 you cannot go back to Subversion 1.6.

Refer Apple docs for more details.

0

Bạn cũng có thể nhận được những thông điệp lạ về nhu cầu nâng cấp bản sao làm việc của mình khi có các bản sao làm việc khác được lồng vào máy của bạn. Tôi đã có vấn đề này với một dự án Symphony là một số thư mục khung làm việc sao chép, mà tôi cho rằng đã không được làm sạch đúng cách trước khi chúng được xuất bản.

Trong trường hợp này, chỉ cần thực hiện tìm kiếm tệp .svn và xóa các thư mục .svn mà bạn không muốn (không xóa thư mục gốc của bạn).