2008-09-26 32 views
8

Loại câu hỏi mới, nhưng tôi đang gặp sự cố khi sử dụng SNVKit.Cam kết thư mục với Subversion

Tôi đang sử dụng SVNKit trong ứng dụng để thực hiện thay đổi đối với tệp. Tôi có nó thành công thêm các tập tin và thư mục vào bản sao làm việc, nhưng tôi đang gặp vấn đề cam kết nó vào kho.

Lệnh Tôi cố gắng để chạy là 'commit -m "Test Thêm"/svnroot/project1 /' nhưng tôi cứ bị "svn: '/ home/user' được không phải là một bản sao hoạt động"

tôi có cấu trúc tương tự như sau:

  • /svnroot/
  • /svnroot/project1/
  • /svnroot/project1/grouping1/
  • /svnroot/project1/grouping1/myfilesarehere

Nếu tôi cố gắng cam kết tệp, tôi nhận được thông báo sau: "'/ svnroot/project1/grouping1' không được kiểm soát phiên bản và không phải là một phần của cam kết, nhưng con của nó là một phần của cam kết. "

Tôi có thể làm gì sai?

EDIT: Đã sửa các thư mục.

Trả lời

0

Tôi đã theo dõi nó xuống một lỗi có thể ở đâu đó. Nếu tôi không thêm tin nhắn thì nó hoạt động. Thời gian để đào nhiều hơn. Cảm ơn các con trỏ.

+0

Ah, tuyệt vời! Hy vọng bạn xóa nó và làm mọi thứ hoạt động. – Sean

+3

@Mike_Willis Bạn có thể chia sẻ với chúng tôi giải pháp mà bạn tìm thấy hay không, vì tôi đang gặp phải vấn đề đó. – Riduidel

+1

Chắc chắn là một lỗi. Chỉ cần chạy vào nó trong khi cam kết hai thư mục mới với các tập tin. Không có gì làm việc nhưng cam kết mỗi thư mục riêng biệt. –

0

di chuyển "nhận xét" -m của bạn đến cuối. Tôi sẽ chỉ thay đổi thư mục vào thư mục dự án của bạn. Sau đó, bạn chỉ cần gõ svn commit -m "comment" và svn thực hiện phần còn lại.

+0

Di chuyển thư mục không hoạt động. Thay đổi thư mục không phải là một tùy chọn mà tôi biết cách khắc phục vào lúc này. Tôi sẽ xem xét nhiều hơn. –

0

Nó không hoàn toàn rõ ràng vì bạn đã thay thế chúng không nhất quán, nhưng có vẻ như bạn đang nhận được đường dẫn kho lưu trữ/URL nhầm lẫn với đường dẫn bản sao làm việc. Nếu bạn đang thêm hoặc cam kết tệp, hãy luôn sử dụng các đường dẫn bản sao làm việc. Hãy thử chơi xung quanh với svn dòng lệnh trước khi cố gắng sử dụng SVNKit.

+0

Hãy xem ngay bây giờ. –

0

Nếu bạn muốn cam kết toàn bộ thư mục mới, hãy cân nhắc sử dụng svn import để thay thế. Vì nó đứng ngay bây giờ bạn có thể phải hoàn nguyên hoặc một số hành động khác làm sạch đống lộn xộn hiện tại.

1

Tôi nghĩ rằng vấn đề là bạn đang thực hiện thay đổi đối với kho SVN thực thay vì thực hiện nhập, kiểm tra bản sao cho chính bạn, thực hiện thay đổi và sau đó thêm cam kết từ bản sao đã kiểm xuất của bạn bất kỳ thư mục con nào. Vì vậy: import, checkout, thực hiện thay đổi và sau đó cuối cùng thực hiện add cho mỗi tệp hoặc thư mục mới và commit -m "message" tạo thành cấp cao nhất.

Thông tin khác trong free online SVN "turtle" book.

+1

Không, đây là bản sao làm việc. Trước đây tôi đã thực hiện thanh toán cho vị trí này. –

15

Nếu bạn có cả một thư mục và con của nó được thêm vào, nhưng không phải là cam kết, tôi tin rằng bạn nhận được thông báo này nếu bạn cố gắng cam kết chỉ là đứa trẻ. Trước tiên, bạn cần phải commit thư mục cha.

+0

Hoạt động hoàn hảo với tôi, khi tôi đọc những gì bạn nói tôi nhận ra chính xác vấn đề của tôi. Cảm ơn – Amauri

+0

@ mike-wills bạn có thể chấp nhận câu trả lời này không? – zinking

1

Tôi nhận được thông báo này và tôi nhận thấy rằng tôi đã thực hiện cam kết trong khi tôi ở trong thư mục con. Khi tôi chuyển sang gốc của cây, nó đã cam kết vấn đề.

0

Một số lần, sử dụng một số Phần mềm như nhật thực hoặc Phiên bản.app sẽ tạo ra lỗi này. Trong trường hợp này, thoát khỏi SVN client và làm điều đó trên dòng lệnh.

0

Bạn có thể đã thực hiện một số phép tái cấu trúc và bạn đang cố gắng cam kết 'some.package.YourClass.java', trong trường hợp đó hãy thử commit thư mục (gói) 'some'.

Nếu bạn muốn tự cứu mình khỏi những đau đầu như vậy trong tương lai, hãy xem xét chuyển sang GIT thay vì svn. Hãy nhớ svn giữ thay đổi của bạn trong một tập tin .svn và cố gắng để puch nó vào kho lưu trữ. Khi bạn cam kết nó sẽ theo tập tin này .svn đẩy 'thay đổi của bạn'. Nhưng nếu yo're thay đổi rất phức tạp thì sao? svn không thể xử lý nó.

GIT mặt khác: bạn lấy tất cả các bản cập nhật để dự án của bạn được cập nhật. Và khi cam kết nó chỉ ghi đè repo, vì nó biết của bạn là gần đây nhất và không hối hả.

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