ผสานการแก้ไขสาขาสองรายการโดยใช้การโค่นล้ม


95

ฉันต้องการที่จะผสานการเปลี่ยนแปลงทั้งหมดที่เกิดขึ้นระหว่างการหมุนรอบ 10 และหมุนรอบศีรษะที่http: // URL ของสาขา-Aและนำไปใช้http: // URL ของสาขา-B

สิ่งที่ต้องการ...

svn merge -r 10:HEAD http://url-of-branch-a 

เป็นไปได้หรือไม่ ถ้าเป็นเช่นนั้นไวยากรณ์คืออะไร?

ฉันกำลังเรียกใช้ไคลเอนต์ SVN จากบรรทัดคำสั่ง unix เวอร์ชันไคลเอนต์ SVN คือ 1.4

แก้ไข: ใช่วิธีแก้ปัญหาเฉพาะของฉันคือ ...

  1. เปลี่ยนไดเร็กทอรีไปยังตำแหน่งของสำเนาการทำงานของฉันที่ต้องการรับการเปลี่ยนแปลง (branch-b)
  2. svn ผสาน -r 10: HEAD http: // url-of-branch-a

สิ่งนี้จะรวมการเปลี่ยนแปลงจาก 'branch-a' เป็น 'branch-b'


4
นอกจากนี้คุณยังต้องทราบว่าสาขาถูกนำมาใช้เมื่อใด คุณสามารถทำได้ (svn log --stop-on-copy.) ในสาขาของคุณเพื่อรับหมายเลขการแก้ไขที่คุณแยกมา
jmc

@jmc คุณไม่ต้องการสิ่งนี้อีกต่อไปตั้งแต่ปี 2008 เมื่อ SVN 1.5 เปิดตัว AFAIR
bahrep

คำตอบ:


55

Checkout URL A. ใช้ SVN merge เพื่อรวม URL B เข้ากับสำเนา A. Commit A.

หรือในทางกลับกันแน่นอน :)


127

กระบวนการมีดังนี้:

  1. จัดทำสำเนาการทำงานของสาขา B ( svn checkout http://branch-b)
  2. รวมการเปลี่ยนแปลงจากสาขา A ลงในสำเนาการทำงานของ B ( svn merge -r 10:HEAD http://branch-a .)
  3. Commit (หลังจากแก้ไขข้อขัดแย้ง) สำเนาการทำงาน B ไปยังสาขา b ( svn commit)

ตรวจสอบ man page (ไฟล์วิธีใช้) สำหรับ svn merge semantics แสดงให้คุณเห็นว่าการผสาน svn มักจะทิ้งผลลัพธ์ลงในสำเนาที่ใช้งานได้

ตรวจสอบSVNBookสำหรับรายละเอียดทั้งหมด


คุณสามารถให้แนวคิดวิธีการใช้ปลั๊กอิน SVN ใน eclipse ได้หรือไม่?
Snehal Masne

สิ่งนี้ใช้ได้กับฉัน: svn merge --force --allow-mixed-revisions -r 10: HEAD branch-a
Minh Nguyen

2
เหตุใดเราจึงระบุการแก้ไข 10 เป็น HEAD เหตุใดจุดสิ้นสุดการแก้ไขสองจุดแทนที่จะเป็นการแก้ไขเพียงครั้งเดียวเพื่อใช้เป็นสแนปชอต "10 to HEAD" หมายถึงสาขาใด
ahnbizcad

2

ส่วนใหญ่สับสนกับการmergeพยายามทำใน svn repo เราไม่สามารถรวมเข้ากับ svn repo ได้โดยตรงเราสามารถรวมเป็นสำเนาที่ใช้งานได้ของเครื่องในเครื่องดังนี้:

  • สำเนาที่ใช้งานได้นี้ควรdestination URLรวม (เช่นปลายทางการชำระเงิน)

  • ผสานสำเนาการทำงานกับsource URLการผสาน

  • commit ไปยังปลายทาง

แนวทางปฏิบัติที่ดีที่สุด : ผสานเข้ารวมออก

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