Khôi phục kết nối dự án lật đổ Eclipse


100

Tôi có một dự án trong subversion, tôi đang phát triển bằng Eclipse. Tôi đã thực hiện kiểm tra ban đầu từ kho lưu trữ svn từ bên trong Eclipse. Tất cả đều tốt trong một vài tuần sau đó vì một số lý do không xác định, Eclipse (cụ thể là: subclipse trong Ganymede) không còn nhận ra dự án của tôi là dưới sự kiểm soát của svn. Menu ngữ cảnh của nhóm chỉ hiển thị các tùy chọn menu cơ bản "áp dụng bản vá" / "chia sẻ dự án này". Từ shell, tôi vẫn có thể cập nhật dự án bằng công cụ dòng lệnh svn, vì vậy tôi biết rằng thông tin đăng nhập svn vẫn hoạt động. Các dự án khác trong cùng một bản sao của Eclipse vẫn hoạt động.

Tôi nhận ra rằng tôi có thể xóa bản sao cục bộ và kiểm tra lại, nhưng tôi muốn hiểu điều gì đã xảy ra - khắc phục sự cố, thay vì che dấu các triệu chứng. Eclipse lưu trữ kiến ​​thức về những dự án nào đang được kiểm soát phiên bản ở đâu? Tôi đã xem .projecttệp và .settingsthư mục, nhưng không thể thấy bất kỳ đề cập rõ ràng nào về bản chất svn hoặc bất kỳ điều gì tương tự, ngay cả trong các dự án vẫn hoạt động bình thường.

Câu trả lời:


124

Nếu bạn đang sử dụng sublipse làm nhà cung cấp SVN của mình, tôi khuyên bạn nên làm như sau

Nhóm -> Chia sẻ dự án thường đủ để kết nối siêu dữ liệu.

(nghĩa là, giả sử rằng các tệp .svn vẫn ở đó mà chúng có vẻ như nếu bạn có thể làm việc trên dòng lệnh).

Hy vọng điều này sẽ giúp giải thích tại sao điều này sẽ xảy ra, tôi không biết


9
Tôi có cùng một vấn đề nhưng câu trả lời này không giúp tôi. Eclipse đề nghị tôi tạo một dự án mới trong Subversion. Không có khả năng kết nối lại dự án.
migu 07-08-09

1
Đã xác nhận cách làm điều này.
pestaa

1
Cảm ơn rất nhiều vì câu trả lời này, đã tiết kiệm cho tôi rất nhiều thời gian. Bây giờ cuối cùng tôi có thể cập nhật toàn bộ bộ làm việc của mình.
Cedric Meury,

1
Điều này đã làm việc cho tôi (với Eclipse Indigo 64-bit và Subclipse), cảm ơn! Tôi chỉ muốn nói thêm rằng nhận xét "giả sử rằng các tệp .svn vẫn còn ở đó" có lẽ không chính xác. Đó là, tôi rất ngạc nhiên khi thấy rằng, mặc dù dự án của tôi vẫn được liên kết với kho lưu trữ của tôi (như TortoiseSVN đã xác nhận) nhưng không có thư mục .svn trong thư mục dự án ! Tôi đã luôn nghĩ rằng có một dir như vậy trong mọi thư mục do SVN kiểm soát, nhưng bây giờ tôi thấy không phải như vậy. Dù sao, quan điểm của OP là nếu thư mục vẫn được cấu hình, thì điều này sẽ hoạt động, có vẻ hợp lệ.
Rob Cranfill

1
Đã làm việc trong Subversive quá ... Cảm ơn!
jaibatrik 12/10/12

23

Tôi đã tìm thấy một cách dễ dàng chỉ cần nhập lại dự án


1
Bạn là người đàn ông ... :) Tôi chỉ có "Apply Patch" tùy chọn và giải quyết nó ... Tại sao tôi không nghĩ ra :) rằng
IncrediApp

Yeah, reimporting có vẻ là dễ nhất :-)
user942640

Tôi cũng chỉ có tùy chọn menu "Áp dụng bản vá". Nhập lại hoạt động. Phải có một tệp cấu hình ở đâu đó xác định điều này. Khi nhìn lại, tôi ước mình đã sao lưu không gian làm việc cấu hình có liên quan và các tệp / thư mục dự án để tôi có thể xem những gì đã thay đổi. Hy vọng rằng người tiếp theo đọc giải pháp này sẽ làm như vậy và chia sẻ những gì đã thay đổi.
Pixelstix

7

Tôi chỉ thực hiện Nhóm -> Chia sẻ Dự án (theo câu trả lời cho câu hỏi này do @Paul Whelan cung cấp) không phù hợp với tôi. Trình hướng dẫn Chia sẻ Dự án hoạt động như thể dự án chưa có trong SVN (mặc dù thư mục .svn có trong dự án của tôi).

Tôi đã giải quyết xong sự cố bằng cách gỡ cài đặt các tiện ích bổ sung Subversive và JavaHL (thông qua Trợ giúp | Giới thiệu về Eclipse | Nút Chi tiết Cài đặt | tab Phần mềm đã Cài đặt | Gỡ cài đặt ...), rồi cài đặt lại Subversive. Khi được nhắc sau khi khởi động lại Eclipse, tôi đã chọn cài đặt trình kết nối SVNKit thay vì trình kết nối JavaHL.

Sau khi hoàn thành việc đó, khi tôi thử lại Team -> Share Project ..., Eclipse đã nhận ra chính xác rằng dự án của tôi đã có mặt trong SVN và nó đã khôi phục kết nối thành công.


Tại sao nên chia sẻ dự án? dự án chia sẻ sẽ xuất bản dự án cục bộ của bạn lên máy chủ svn, nếu bạn có thứ gì đó cục bộ không được chuyển đến máy svn, điều này có thể gây ra sự cố, điều anh ta muốn làm là thiết lập lại kết nối, điều này dường như không thể, giải pháp sẽ là một thanh toán mới, cuối cùng, cài đặt subclipse thay vì lật đổ
JBoy

4

Phụ lục: hóa ra vấn đề của tôi xuất hiện khi tôi khởi động Eclipse bên ngoài công ty vpn, với một dự án trong không gian làm việc được đính kèm với kho lưu trữ svn bên trong vpn. May mắn thay, việc chuyển các plugin Eclipse svn từ subversive sang subclipse đã giải quyết được vấn đề đó.

Ian


3

Từ nhật thực, tôi đã đóng (các) dự án và mở lại để giải quyết sự cố. Tất cả các liên kết của SVN đã trở lại cho tất cả các dự án trong không gian làm việc của tôi.


1
Tôi đã thử đóng và mở lại dự án, nhưng điều này không hiệu quả với tôi.
Epu

2

Tôi đã gặp vấn đề tương tự và diễn đàn này đã giúp tôi tìm ra câu trả lời đúng.

Dự án trước đó của tôi đã được định cấu hình bằng subclipse. Nhật thực mới đã chìm xuống.

Cài đặt subclipse đã giúp tôi lấy lại các tùy chọn svn trong nhóm!

Hy vọng nó sẽ giúp ai đó khác.

Trân trọng

Anshu Prateek


Tôi không thể cài đặt subclipse trong kepler. bất kì giải pháp nào?
Vivek

1

Không biết bạn đang sử dụng nền tảng nào, tôi không biết liệu vấn đề của bạn có giống với của tôi không. Tuy nhiên, gần đây tôi (thực sự trên hai nền tảng khác nhau!) Đã gặp sự cố trong đó bản cập nhật cho Subversive (hoặc có lẽ chính Eclipse, không rõ ràng) khiến các đầu nối không tải được nữa. Nếu không có kết nối, Subversive không thể kết nối với một dự án. Nhưng Eclipse sẽ không khóa bạn khỏi dự án của bạn vì điều đó, nó sẽ loại bỏ chức năng liên quan đến SVN.

Nhìn vào dạng xem Lỗi, đây là nhật ký về các lỗi khác nhau của Eclipse (các ngoại lệ không tìm thấy lớp, v.v.) và xem có dòng nào liên quan đến các thành phần của Subversive không. Thật không may, tôi thực sự không thể đề xuất một giải pháp - trên nền tảng Mac OSX của tôi, chỉ cần cài đặt lại các phần tử và kết nối cốt lõi của Subversive là đủ. Trên máy Linux của tôi (có thể do nâng cấp hệ điều hành), tôi đang phải cài đặt lại hoàn toàn Eclipse, vì tôi đã tích lũy quá nhiều rắc rối để có thể điều tra đầy đủ về nó.


1

Trong bản phát hành Juno với Subversive, tôi đã làm:

  • Tệp / Nhập xuất hiện cửa sổ bật lên Nhập.
  • Từ đó, chọn Chung / Dự án hiện có trong Không gian làm việc.
  • Trong ngăn tiếp theo, bạn chọn thư mục gốc. Sau đó, nó sẽ hiển thị cho bạn tất cả các thư mục con. Tất cả chúng sẽ được chọn theo mặc định.
  • Bỏ chọn những cái bạn không muốn.

Sau đó, nó sẽ "nhập" thư mục hiện có của bạn, có thể được sử dụng tại chỗ mà chúng đã nằm trong thư mục không gian làm việc của bạn.


0

Tương tự trong trường hợp của tôi: .svn dirs đã ở đó, nhưng dự án của tôi không hỗ trợ các hành động svn.

Sau một hồi chọc ngoáy, hóa ra plugin lật đổ đó chỉ biến mất sau một nhật thực buộc phải thoát.

Giải pháp là (lại) cài đặt lật đổ và bây giờ mọi thứ đã ổn trở lại.

Cheers v.

CẬP NHẬT: Tôi đã chuyển eclipse sang phiên bản mới chưa cài đặt plugin, đó là lý do tại sao tôi phải cài đặt nó từ đầu.


0

Điều này phù hợp với tôi: nhấp chuột phải-> TortoiseSVN -> Cài đặt -> Thuộc tính Lớp phủ Biểu tượng, Chọn Shell làm Bộ đệm Trạng thái. Nhấp vào Ok, làm mới trang.


0

Tôi có thể tái tạo sự cố này một cách đáng tin cậy — nó xảy ra khi kiểm tra một số dự án Maven nhất định bằng cách chạy "Check out as Maven Project…" không phải trên thư mục chứa POM mà trên thư mục mẹ (chẳng hạn như "trunk"). Trong trường hợp này, Subclipse kiểm tra dự án mà không có bất kỳ khiếu nại nào, đặt nó vào thư mục không gian làm việc với tên trình giữ chỗ chẳng hạn maven.1424425443350. Bên trong thư mục này, nó tạo ra một thư mục con với tên của tạo tác Maven. Điều này gây nhầm lẫn cho cả Subclipse và Subversion: Subclipse, như chúng ta đã thấy, ngay lập tức quên rằng dự án đang được kiểm soát phiên bản và nếu bạn gọi svn statustừ dòng lệnh trong maven.1424425443350thư mục, nó sẽ cho bạn biết rằng thư mục đang được kiểm soát phiên bản nhưng điều đó tất cả các tệp do phiên bản kiểm soát bị thiếu.

Không có cách giải quyết nào được trình bày trong các câu trả lời khác sẽ hoạt động nếu đây là nguyên nhân khiến Subsclipse quên kết nối SVN của nó. Thay vào đó, giải pháp duy nhất là xóa dự án và kiểm tra lại, lần này đảm bảo rằng việc kiểm tra được thực hiện trên thư mục chứa POM chứ không phải thư mục cấp cao hơn.

Một giải pháp tổng thể tốt hơn sẽ là Subclipse từ chối chạy "Check out as Maven Project…" trên các thư mục không chứa POM hoặc cách khác để xử lý tốt hơn các trường hợp mà nó vẫn cố gắng làm như vậy bằng cách tìm kiếm các thư mục con cho các dự án Maven.


0

Tôi đang sử dụng đồng thời hai triển khai SVNKit (1.7.x và 1.8.x) với phiên bản kho lưu trữ SVN (1.8.x).

Kết quả là Nhóm -> Chia sẻ dự án ... luôn yêu cầu một thông báo cam kết. Rõ ràng, SVNKit 1.7.x đã được sử dụng không tương thích với SVN 1.8.x.

Sau khi loại bỏ SVNKit 1.7.x eclipse đã sử dụng phiên bản SVNKit 1.8.x chính xác duy nhất có sẵn và mọi thứ hoạt động như mong đợi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.