การเปลี่ยนรูทของที่เก็บ SVN

ฉันสร้างที่เก็บ SVN ชื่อ MyProject (โดยใช้ VisualSVN Server) ตอนนั้นฉันเป็นนักพัฒนาเพียงคนเดียว ดังนั้นฉันจึงไม่ได้กังวลกับ /trunk และ /branches ตอนนี้โครงการได้เติบโตขึ้นแล้ว และเราต้องการการตั้งค่านี้

ดังนั้นฉันจึงสร้างไดเร็กทอรี /branches และ /trunk ในรูทของที่เก็บ ฉันสร้างสาขาใหม่ ซึ่งใช้ได้ดี ฉันทำ 'svn move' เพื่อย้ายทุกสิ่งก่อนหน้านี้ในรูทไปที่ /trunk ดูเหมือนว่าจะทำงานได้ดีเช่นกัน

ตอนนี้ ฉันจะอัปเดตสำเนาการทำงานของนักพัฒนาโดยไม่ต้องบังคับให้ชำระเงินใหม่ได้อย่างไร ทั้งสวิตช์ SVN และการย้ายตำแหน่ง SVN ทำให้ฉันเกิดข้อผิดพลาด:

svn switch http://server/svn/MyProject http://server/svn/MyProject/trunk

สร้างข้อผิดพลาด "'http://server/svn/MyProject/trunk' ไม่ใช่เส้นทางในเครื่อง" .

svn relocate http://server/svn/MyProject http://server/svn/MyProject/trunk

สร้างข้อผิดพลาดอื่น: "'http://server/svn/MyProject/trunk' ไม่ใช่ราก ของที่เก็บข้อมูล”

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


svn
person Bryan    schedule 20.05.2015    source แหล่งที่มา


คำตอบ (1)


ดูเหมือนว่าคุณใช้ข้อโต้แย้งที่ผิดกับ svn switch สิ่งที่ถูกต้องควรเป็นเพียง

svn switch http://server/svn/MyProject/trunk

สมมติว่าขณะนี้คุณอยู่ในไดเร็กทอรีโครงการในเครื่องของคุณ

person begemotv2718    schedule 20.05.2015
comment
ขอบคุณ! มันใช้งานได้อย่างมีเสน่ห์กับสำเนาการทำงานอื่นที่ฉันเพิ่งลอง ฉันคิดว่าสำเนาการทำงานที่ฉันทดสอบในตอนแรกนั้นถูกดักฟัง - person Bryan; 20.05.2015