2010-10-06 7 views
21

Khi tôi cố gắng để thực hiện một tập tin cụ thể (xxx.java) sau lỗi bật lên:Cách giải quyết lỗi svn "Mục nhập cho 'xxx được đánh dấu là' đã sao chép 'nhưng bản thân nó không được lên lịch để thêm vào."

svn: Entry for 'C:\aaa/bbb/ccc/xxx.java' is marked as 'copied' but is not itself scheduled 
for addition. Perhaps you're committing a target that is 
inside an unversioned (or not-yet-versioned) directory? 

Làm thế nào để giải quyết việc này SVN-Lỗi?

Trả lời

18

Tôi giải quyết nó với các bước sau:

  1. Sao lưu thay đổi của bạn trong thư mục "ccc"
  2. xóa thư mục "ccc".
  3. chạy "SVN UPDATE" trên đỉnh thư mục "aaa"
  4. redo những thay đổi trong file xxx.java
  5. Commit lại

Sau đó, các cam kết làm việc.

+0

Làm việc cho tôi, cảm ơn! – Proclyon

+0

Cảm ơn, nó cũng làm việc với tôi :) – Meysam

+2

Tôi đã có nhiều thay đổi trong thư mục 'ccc' của mình, vì vậy tôi đã bỏ qua dòng lệnh, sau đó 'cd' vào thư mục ccc làm thư mục làm việc của tôi. Sau đó, tôi đã thực hiện "find. -name .svn -type d -exec rm -rf {} \; ' để loại bỏ tất cả các siêu dữ liệu svn từ thư mục ccc. 'cd' trở lại thư mục aaa. 'svn cập nhật' để lấy thư mục 'ccc' từ kho. 'svn rm ccc' để loại bỏ ccc từ subversion cam kết thay đổi đó. 'cp-rf ccc' từ vị trí sao lưu có chứa thư mục ccc không có siêu dữ liệu .svn. 'svn add ccc' và cam kết. –

8

Nếu bạn được kiểm tra ra khỏi một cây nguồn lớn và muốn tránh phải làm mới mọi thứ, tôi đã tìm thấy một công việc xung quanh cho vấn đề này. Kể từ khi thay thế là để thổi mọi thứ khác đi anyway, đây là ít nhất là giá trị một shot (Nó làm việc cho tôi).

Trong thư mục .svn bạn sẽ nhận thấy rằng bạn có tệp 'mục'. Nếu bạn mở một trong những tên này trong thư mục .svn nơi có XXX.java, bạn sẽ thấy một loạt các cờ 'đã sao chép' trong văn bản. Tôi không hoàn toàn chắc chắn như thế nào của bạn đã có, nhưng tôi đến từ chơi xung quanh với VisaulSVN.

Tôi nhận thấy rằng việc xóa các cờ được sao chép này khỏi các tệp mục nhập này sẽ khiến lỗi biến mất và cho phép bạn thực hiện lại. Một vài lưu ý:

  • lưu ý rằng tệp mục nhập ban đầu là tệp ReadOnly và bạn sẽ phải bỏ chọn để thực hiện thay đổi và kiểm tra lại khi bạn hoàn tất.
  • Cờ được sao chép này có thể nằm trong một vài khu vực của cây nguồn, vì vậy bạn có thể phải sửa một số tệp mục nhập này.
  • Hãy cẩn thận rằng bạn giữ số dòng giống nhau và chỉ cần xóa văn bản 'đã sao chép' khỏi tệp.
+0

Làm việc như sự quyến rũ, thậm chí không biết tất cả các mục của tôi đột nhiên được sao chép như thế nào hàng –