คืนค่าการเชื่อมต่อโปรเจ็กต์การโค่นล้ม Eclipse


100

ฉันมีโครงการที่ถูกโค่นล้มซึ่งฉันกำลังพัฒนาโดยใช้ Eclipse ฉันทำการเช็คเอาต์ดั้งเดิมจากที่เก็บ svn จากภายใน Eclipse ทุกอย่างเป็นไปด้วยดีเป็นเวลาหลายสัปดาห์ด้วยเหตุผลที่ไม่ทราบสาเหตุ Eclipse (โดยเฉพาะ: subclipse ใน Ganymede) ไม่รับรู้ว่าโครงการของฉันอยู่ภายใต้การควบคุมของ svn อีกต่อไป เมนูบริบทของทีมจะแสดงเฉพาะตัวเลือกเมนู "ใช้โปรแกรมแก้ไข" / "แชร์โปรเจ็กต์นี้" พื้นฐานเท่านั้น จากเชลล์ฉันยังสามารถอัปเดตโปรเจ็กต์โดยใช้เครื่องมือบรรทัดคำสั่ง svn ได้ดังนั้นฉันจึงรู้ว่าข้อมูลรับรอง svn ยังคงใช้งานได้ โครงการอื่น ๆ ภายใต้การโค่นล้มในสำเนาเดียวกันของ Eclipse ยังคงทำงานได้

ฉันรู้ว่าฉันสามารถลบสำเนาในเครื่องและตรวจสอบอีกครั้งได้ แต่ฉันอยากจะเข้าใจว่ามีอะไรผิดพลาด - แก้ไขปัญหาแทนที่จะปกปิดอาการ Eclipse จัดเก็บความรู้ของโครงการใดที่อยู่ภายใต้การควบคุมเวอร์ชัน ฉันดู.projectไฟล์และ.settingsไดเร็กทอรี แต่ไม่เห็นการกล่าวถึงลักษณะ svn หรืออะไรที่คล้ายกันอย่างชัดเจนแม้แต่ในโครงการที่ยังทำงานได้อย่างถูกต้อง

คำตอบ:


124

หากคุณใช้ sublipse เป็นผู้ให้บริการ SVN ของคุณฉันขอแนะนำให้ทำดังต่อไปนี้

ทีม -> แชร์โปรเจ็กต์มักจะเพียงพอที่จะเชื่อมต่อข้อมูลเมตา

(นั่นคือสมมติว่าไฟล์. svn ยังคงอยู่ที่นั่นซึ่งดูเหมือนว่าจะเป็นหากคุณสามารถทำงานในบรรทัดคำสั่งได้)

หวังว่านี่จะช่วยได้ว่าทำไมสิ่งนี้ถึงเกิดขึ้นฉันไม่รู้


9
ฉันมีปัญหาเดียวกัน แต่คำตอบนี้ไม่ได้ช่วยฉัน Eclipse เสนอให้ฉันสร้างโปรเจ็กต์ใหม่ใน Subversion ไม่มีความเป็นไปได้ที่จะเชื่อมต่อโครงการอีกครั้ง
มิกุ

1
ยืนยันวิธีการทำสิ่งนี้
pestaa

1
ขอบคุณมากสำหรับคำตอบนี้ช่วยให้ฉันประหยัดเวลาได้มาก ตอนนี้ฉันสามารถอัปเดตชุดการทำงานทั้งหมดได้ในที่สุด
Cedric Meury

1
สิ่งนี้ใช้ได้กับฉัน (กับ Eclipse Indigo 64-bit และ Subclipse) ขอบคุณ! ฉันแค่อยากจะเพิ่มว่าความคิดเห็น "สมมติว่ายังมีไฟล์. svn อยู่" อาจจะไม่ถูกต้อง นั่นคือฉันรู้สึกประหลาดใจที่เห็นว่าแม้ว่าโครงการของฉันยังคงเชื่อมโยงกับที่เก็บของฉัน (ตามที่ TortoiseSVN ยืนยัน) ก็ไม่มีไดเร็กทอรี. svn ในไดเร็กทอรีโปรเจ็กต์ ! ฉันคิดมาตลอดว่ามี dir แบบนี้ในทุกไดเรกทอรีที่ควบคุมโดย SVN แต่ตอนนี้ฉันเห็นแล้วว่าไม่ใช่อย่างนั้น อย่างไรก็ตามประเด็นของ OP คือหากไดเร็กทอรียังอยู่ภายใต้การกำหนดค่าสิ่งนี้จะใช้งานได้ดูเหมือนถูกต้อง
Rob Cranfill

1
ทำงานใน Subversive ด้วย ... ขอบคุณ!
jaibatrik

23

ฉันพบวิธีง่ายๆเพียงแค่นำเข้าโครงการอีกครั้ง


1
คุณคือผู้ชาย ... :) ฉันมีเพียงตัวเลือก "ใช้โปรแกรมแก้ไข" และนั่นก็แก้ไขได้ ... ทำไมฉันไม่คิดอย่างนั้น :)
IncrediApp

ใช่การนำเข้าใหม่ดูเหมือนจะง่ายที่สุด :-)
user942640

ฉันมีเพียงตัวเลือกเมนู "ใช้โปรแกรมแก้ไข" เช่นกัน การนำเข้าใหม่ได้ผล ต้องมีไฟล์คอนฟิกูเรชันที่กำหนดสิ่งนี้ เมื่อมองย้อนกลับไปฉันหวังว่าฉันจะสำรองพื้นที่ทำงาน config และไฟล์ / โฟลเดอร์โครงการที่เกี่ยวข้องเพื่อที่ฉันจะได้เห็นสิ่งที่เปลี่ยนแปลงไป หวังว่าคนต่อไปที่อ่านวิธีแก้ปัญหานี้จะทำได้และแบ่งปันสิ่งที่เปลี่ยนแปลง
Pixelstix

7

แค่ทำ Team -> Share Project (ตามคำตอบของคำถามนี้โดย @Paul Whelan) ไม่ได้ผลสำหรับฉัน ตัวช่วยสร้างการแชร์โปรเจ็กต์ทำราวกับว่าโปรเจ็กต์ยังไม่ได้อยู่ใน SVN (แม้ว่าจะมีโฟลเดอร์. svn สำหรับโปรเจ็กต์ของฉันก็ตาม)

ฉันยุติการแก้ไขปัญหาโดยการถอนการติดตั้งโปรแกรมเสริม Subversive และ JavaHL (ผ่านวิธีใช้ | เกี่ยวกับ Eclipse | ปุ่มรายละเอียดการติดตั้ง | แท็บซอฟต์แวร์ที่ติดตั้ง | ถอนการติดตั้ง ... ) จากนั้นติดตั้ง Subversive ใหม่ เมื่อได้รับแจ้งหลังจากรีสตาร์ท Eclipse ฉันเลือกที่จะติดตั้งตัวเชื่อมต่อ SVNKit แทนที่จะเป็นตัวเชื่อมต่อ JavaHL

หลังจากทำเสร็จแล้วเมื่อฉันลอง Team -> Share Project ... อีกครั้ง Eclipse จะจำได้อย่างถูกต้องว่าโปรเจ็กต์ของฉันมีอยู่ใน SVN แล้วและมันก็กู้คืนการเชื่อมต่อได้สำเร็จ


ทำไมต้องแชร์โครงการ แชร์โปรเจ็กต์จะเผยแพร่โปรเจ็กต์ในพื้นที่ของคุณไปยังเซิร์ฟเวอร์ svn หากคุณมีบางอย่างในเครื่องที่ไม่ควรไปที่เครื่อง svn สิ่งนี้อาจทำให้เกิดปัญหาสิ่งที่เขาต้องการจะทำคือทำให้การเชื่อมต่อกลับมาใหม่ซึ่งดูเหมือนจะเป็นไปไม่ได้วิธีแก้ไข จะเป็นการชำระเงินใหม่ในที่สุดติดตั้ง subclipse แทนการโค่นล้ม
JBoy

4

ภาคผนวก: ปรากฎว่าปัญหาของฉันปรากฏขึ้นเมื่อฉันเริ่ม Eclipse นอก VPN ของ บริษัท โดยมีโปรเจ็กต์ในพื้นที่ทำงานที่แนบกับที่เก็บ svn ภายใน vpn โชคดีที่การเปลี่ยนปลั๊กอิน Eclipse svn จากการโค่นล้มเป็น subclipse ช่วยแก้ปัญหาได้

เอียน


3

จาก eclipse ฉันปิดโปรเจ็กต์และเปิดใหม่อีกครั้งซึ่งช่วยแก้ปัญหาได้ ลิงก์ All by SVN กลับมาแล้วสำหรับโครงการทั้งหมดในพื้นที่ทำงานของฉัน


1
ฉันลองปิดและเปิดโครงการอีกครั้ง แต่ไม่ได้ผลสำหรับฉัน
Epu

2

ฉันมีปัญหาเดียวกันและฟอรัมนี้ช่วยฉันในการหาคำตอบที่ถูกต้อง

โครงการก่อนหน้าของฉันถูกกำหนดคอนฟิกโดยใช้ subclipse คราสใหม่มีการย่อยสลาย

การติดตั้ง subclipse ช่วยให้ฉันได้ตัวเลือก svn กลับคืนมาภายใต้ทีม!

หวังว่ามันจะช่วยคนอื่น

ความนับถือ

Anshu Prateek


ฉันไม่สามารถติดตั้ง subclipse ใน kepler ได้ วิธีแก้ปัญหาใด ๆ
วิเวก

1

โดยไม่รู้ว่าคุณใช้แพลตฟอร์มอะไรฉันไม่รู้ว่าปัญหาของคุณคล้ายกับของฉันหรือไม่ อย่างไรก็ตามเมื่อเร็ว ๆ นี้ (จริง ๆ แล้วบนสองแพลตฟอร์มที่แตกต่างกัน!) มีปัญหาที่การอัปเดตเป็น Subversive (หรือบางที Eclipse เองก็ไม่ชัดเจน) ทำให้ตัวเชื่อมต่อไม่สามารถโหลดได้อีกต่อไป หากไม่มีตัวเชื่อมต่อ Subversive จะไม่สามารถเชื่อมต่อกับโปรเจ็กต์ได้ แต่ Eclipse จะไม่ล็อกคุณออกจากโปรเจ็กต์ของคุณ แต่จะเป็นการลบฟังก์ชันที่เกี่ยวข้องกับ SVN

ดูที่มุมมองข้อผิดพลาดซึ่งเป็นบันทึกข้อผิดพลาดต่างๆของ Eclipse (ข้อยกเว้นที่ไม่พบคลาส ฯลฯ ) และดูว่ามีบรรทัดใด ๆ ที่เกี่ยวข้องกับส่วนประกอบที่ถูกโค่นล้มหรือไม่ น่าเสียดายที่ฉันไม่สามารถแนะนำวิธีแก้ปัญหาได้ - บนแพลตฟอร์ม Mac OSX ของฉันเพียงพอที่จะติดตั้งองค์ประกอบและตัวเชื่อมต่อ Subversive core ใหม่ บนเครื่อง Linux ของฉัน (อาจเกิดจากการอัปเกรดระบบปฏิบัติการ) ฉันต้องติดตั้ง Eclipse ใหม่ทั้งหมดเนื่องจากมีปัญหาสะสมมากเกินไปเพื่อให้ฉันสามารถตรวจสอบได้อย่างสมบูรณ์


1

ในรุ่น Juno ที่มี Subversive ฉันทำ:

  • ไฟล์ / นำเข้าจะแสดงป๊อปอัปการนำเข้า
  • จากนั้นเลือกโครงการทั่วไป / ที่มีอยู่ในพื้นที่ทำงาน
  • ในบานหน้าต่างถัดไปคุณเลือกไดเร็กทอรีราก จากนั้นจะแสดงไดเร็กทอรีย่อยทั้งหมด พวกเขาทั้งหมดจะถูกเลือกโดยค่าเริ่มต้น
  • ยกเลิกการเลือกสิ่งที่คุณไม่ต้องการ

จากนั้นจะ "นำเข้า" ไดเร็กทอรีที่มีอยู่ของคุณซึ่งสามารถใช้แทนไดเร็กทอรีที่อยู่ในไดเร็กทอรีพื้นที่ทำงานของคุณ


0

ในกรณีของฉัน: .svn dirs อยู่ที่นั่น แต่โครงการของฉันไม่รองรับการกระทำ svn

หลังจากสะกิดเล็กน้อยปรากฎว่าปลั๊กอินที่ถูกโค่นล้มหายไปหลังจากการบังคับให้เลิกใช้คราส

วิธีแก้ปัญหาคือ (re) ติดตั้งโค่นล้มและตอนนี้ทุกอย่างเรียบร้อยดีอีกครั้ง

ไชโย v.

อัปเดต: ฉันได้เปลี่ยน eclipse เป็นเวอร์ชันใหม่ที่ไม่ได้ติดตั้งปลั๊กอินซึ่งเป็นสาเหตุที่ฉันต้องติดตั้งตั้งแต่เริ่มต้น


0

สิ่งนี้ใช้ได้ผลสำหรับฉัน: คลิกขวา -> TortoiseSVN -> การตั้งค่า -> คุณสมบัติการซ้อนทับไอคอนการเลือกเชลล์เป็นแคชสถานะ คลิกตกลงรีเฟรชหน้า


0

ฉันสามารถสร้างปัญหานี้ซ้ำได้อย่างน่าเชื่อถือซึ่งเกิดขึ้นเมื่อตรวจสอบโครงการ Maven บางโครงการโดยเรียกใช้ "Check out as Maven Project …" ไม่ใช่ในโฟลเดอร์ที่มี POM แต่อยู่ในไดเรกทอรีหลัก (เช่น "trunk") ในการนี้การตรวจสอบกรณี Subclipse โครงการโดยไม่มีการร้องเรียนใด ๆ maven.1424425443350วางไว้ในไดเรกทอรีพื้นที่ทำงานที่มีชื่อตัวยึดเช่น ภายในไดเร็กทอรีนี้จะสร้างไดเร็กทอรีย่อยที่มีชื่อของสิ่งประดิษฐ์ Maven สิ่งนี้ทำให้สับสนทั้ง Subclipse และ Subversion: Subclipse อย่างที่เราเห็นลืมไปทันทีว่าโปรเจ็กต์อยู่ภายใต้การควบคุมเวอร์ชันและหากคุณเรียกใช้svn statusจากบรรทัดคำสั่งในmaven.1424425443350ไดเร็กทอรีมันจะบอกคุณว่าไดเร็กทอรีอยู่ภายใต้การควบคุมเวอร์ชัน แต่นั่น ไฟล์ที่ควบคุมเวอร์ชันทั้งหมดหายไป

ไม่มีวิธีแก้ปัญหาใด ๆ ที่นำเสนอในคำตอบอื่น ๆ จะได้ผลหากนี่คือสิ่งที่ทำให้ Subsclipse ลืมการเชื่อมต่อ SVN วิธีแก้ปัญหาเดียวคือการลบโครงการและตรวจสอบอีกครั้งคราวนี้ตรวจสอบให้แน่ใจว่าการชำระเงินนั้นดำเนินการบนไดเร็กทอรีที่มี POM แทนที่จะเป็นไดเร็กทอรีระดับสูงกว่า

วิธีแก้ปัญหาโดยรวมที่ดีกว่าคือสำหรับ Subclipse ที่จะปฏิเสธที่จะเรียกใช้ "Check out as Maven Project ... " ในไดเร็กทอรีที่ไม่มี POM หรืออื่น ๆ เพื่อจัดการกับกรณีที่พยายามทำเช่นนั้นได้ดีขึ้นโดยการค้นหาไดเร็กทอรีย่อยสำหรับโครงการ Maven


0

ฉันใช้การใช้งาน SVNKit สองตัว (1.7.x และ 1.8.x) พร้อมกันกับเวอร์ชันที่เก็บ SVN (1.8.x)

เป็นผลให้ทีม -> แชร์โปรเจ็กต์ ...มักจะร้องขอข้อความคอมมิต เห็นได้ชัดว่า SVNKit 1.7.x ถูกใช้ซึ่งเข้ากันไม่ได้กับ SVN 1.8.x

หลังจากลบ SVNKit 1.7.x eclipse ใช้ SVNKit เวอร์ชัน 1.8.x ที่ถูกต้องเท่านั้นและทุกอย่างทำงานตามที่คาดไว้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.