ฉันจะส่งออกส่วนหนึ่งของที่เก็บ SVN ที่มีการขึ้นต่อกันได้อย่างไร

ฉันกำลังพยายามย้ายส่วนหนึ่งของที่เก็บ SVN โดยใช้ svnadmin dump

เครื่องมือ svndumpfilter ที่ให้มาไม่ได้จัดการการคัดลอก/ย้าย/เปลี่ยนชื่อการอ้างอิงจากไดเรกทอรีที่ไม่รวมอยู่ในการส่งออก

มีเครื่องมือที่สามารถจัดการการพึ่งพาเหล่านี้ได้หรือไม่?


person fglez    schedule 03.11.2008    source แหล่งที่มา


คำตอบ (3)


ฉันพบสคริปต์ Python โดย Simon Tatham ชื่อ svndumpfilter2 ซึ่ง พยายามรับมือกับการพึ่งพาแบบง่าย ๆ (ฉันพบข้อ จำกัด บางประการ)

คุณยังตรวจสอบบทความเกี่ยวกับการโยกย้ายไปยัง Subversion และ แรงจูงใจสำหรับสคริปต์

person fglez    schedule 04.11.2008
comment
ตอนนี้เป็นคำตอบเก่า แต่คุณจำข้อจำกัดที่คุณพบกับ svndumpfiler2 ได้ไหม - person Craig; 22.11.2012
comment
ส่วนใหญ่เกี่ยวข้องกับการคัดลอกหลายระดับ IIRC แต่ฉันสามารถปรับแต่งสคริปต์ตามความต้องการของฉันได้ - person fglez; 22.11.2012

ด้วยการพึ่งพาคุณหมายถึงสิ่งที่ระบุโดยคุณสมบัติ svn:external?

ถ้าใช่ ฉันคิดว่าคุณควรส่งต่อไปยัง svndumpfilter รวมถึงเส้นทางที่อ้างอิงในคุณสมบัติด้วย ตัวอย่างเช่น หากโปรเจ็กต์ของคุณอยู่ใน http://host/project และคุณสมบัติ svn:external ถูกตั้งค่าเป็น http://host/dependencies คุณสามารถทำบางอย่างเช่น

svndumpfilter include http://host/project http://host/dependencies < total.dump > project.dump
person Davide Gualano    schedule 03.11.2008

คุณไม่สามารถกำจัดปัญหานี้ได้ หากคุณคัดลอกไดเร็กทอรี/ไฟล์ คุณจะต้องรวมทั้ง (ต้นทางและปลายทาง) ลงใน svndumpfilter

อย่างไรก็ตาม คุณสามารถทำเคล็ดลับบางอย่างได้:

หากคุณดัมพ์พื้นที่เก็บข้อมูลไม่ใช่จากการแก้ไข 0 แต่พูดเช่น จากการแก้ไข 100 คุณจะได้รับพื้นที่เก็บข้อมูลใหม่ที่มีการแก้ไข 1-100 หายไป อย่างไรก็ตาม พื้นที่เก็บข้อมูลปลายทางของคุณมีไฟล์/โฟลเดอร์ทั้งหมดในรุ่นแก้ไข 1 เป็นที่เก็บข้อมูลต้นทางในรุ่นรุ่น 100 ด้วยวิธีนี้ คุณสามารถกำจัดข้อมูลที่มีเวอร์ชันได้โดยไม่สูญเสีย HEAD-Revision

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

person Peter Parker    schedule 03.11.2008