SVN - เปลี่ยนสำเนาการทำงานให้ชี้ไปที่พา ธ svn ใหม่


87

ฉันมี SVN Repository ที่ย้ายไปยังที่อยู่ / เส้นทางใหม่ อย่างไรก็ตามฉันมีสำเนาที่ใช้งานได้โดยมีซอร์สโค้ดที่ไม่ได้ผูกมัดซึ่งยังคงชี้ไปที่พา ธ ที่เก็บเก่า (ตอนนี้ไม่ถูกต้อง) คุณจะเปลี่ยนสำเนาที่ใช้งานได้ให้ชี้ไปที่ที่เก็บใหม่ได้อย่างไร

คำตอบ:


78

svn switch --relocateเลิกใช้งานแล้วเนื่องจากเวอร์ชัน 1.7 ของการโค่นล้ม ใช้svn relocateคำสั่งแทน

ใช้เวลาอย่างใดอย่างหนึ่งFROM-PREFIX TO-PREFIX [PATH...]หรือTO-URLเป็นข้อโต้แย้ง

ดู

svn help relocate

สำหรับข้อมูลเพิ่มเติม.


58

ใช้svn switchคำสั่งกับ--relocateตัวเลือกบรรทัดคำสั่ง


1
ขอบคุณ. นี่คือสิ่งที่ฉันใช้: สวิตช์ svn --relocate file: /// Users / user / old_repository / project / trunk file: /// Users / user / new_repository / project / trunk
quano

ไม่แก้ไข URL ใน svn: externals มีความคิดอย่างไรที่จะทำ?
Axel Bregnsbo

26

ใช้TortoiseSVN

  1. คลิกขวาที่สำเนาการทำงานและเลือก 'SVN Switch ... '
  2. ในแบบฟอร์ม 'สลับไปยังสาขา' เลือกเส้นทาง SVN ใหม่

การใช้คำสั่ง

  1. เปิดคอนโซล
  2. ไปที่สำเนาที่ใช้งานได้ cd [working copy path]
  3. เขียนคำสั่ง svn relocate [new url]

ใช้ได้เฉพาะในกรณีที่ใช้ TortoiseSVN ซึ่งโปสเตอร์ไม่ได้ระบุว่าเขากำลังใช้อยู่
zck

สวัสดี @zck โปรดทราบว่าฉันเขียน 2 โซลูชันใน 1 คำตอบแรก TortoiseSVN และคำสั่งที่สองคือคำสั่งคำสั่งนี้เลิกใช้แล้วสำหรับการโค่นล้มโดยทั่วไปคุณสามารถตรวจสอบหน้านี้ได้svn
Ahmed Abdallah

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

ไม่ฉันโพสต์คำตอบในคำปัจจุบันของฉันแก้ไขเพื่อปรับปรุงการจัดรูปแบบ และฉันคิดว่าคำสั่งที่ฉันเขียนชัดเจนกว่าที่เขียนไว้ในเดือนมิถุนายน
Ahmed Abdallah

วิธี TortoiseSVN GUI ต้องคลิกที่ 'ย้ายตำแหน่ง' ไม่ใช่เปลี่ยน ซึ่งเหมาะสมกับบรรทัดคำสั่ง .. ไม่แน่ใจว่าสวิตช์จะทำอะไร - ดูเหมือนว่ากำลังพยายามเข้าถึง URL เก่าและ URL ใหม่ซึ่งเป็นสิ่งที่ฉันไม่ต้องการให้ทำ
Gerard

12

ให้แม่นยำยิ่งขึ้น

svn switch --relocate [complete url of the old repo] [complete url of the new repo] 

ตัวอย่างเช่น:

svn switch --relocate  http://svn.repo.com:9880/website/branches  http://svnrepo.com/web/branches 

3

การใช้ TortoiseSVN tortoisesvn docs

  1. ไปที่โฟลเดอร์รูทของสำเนาที่ใช้งานได้
  2. คลิกขวาคลิกเมนูย่อย TortoiseSVN คลิกย้าย
  3. เข้าสู่เส้นทางใหม่

1

ง่ายมาก :

ขั้นตอนที่ 1:เปิด command prompt / terminal และตั้งค่า workpath

ขั้นตอนที่ 2:ดำเนินการตามบรรทัดนี้svn switch --relocate http://newurl


0

ฉันได้เปลี่ยนเซิร์ฟเวอร์ svn เพื่อบังคับให้เปลี่ยนเส้นทางทุกอย่างจาก HTTP ไปเป็น HTTPS (และอาจเป็นการเปลี่ยนเส้นทางไปยัง URL อื่น) และฉันสังเกตเห็นว่าsvn relocateคำสั่งนี้ทำให้เกิดปัญหามากมายกับภายนอก โชคดีที่ฉันพบว่าสิ่งที่ง่ายที่สุดคือการทำsvn updateและเนื่องจากการเปลี่ยนเส้นทางของเซิร์ฟเวอร์ svn จึงอัปเดตที่เก็บ URL ทั้งหมดในสำเนาการทำงานในเครื่องรวมถึงภายนอก

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