ฉันกำลังพยายามย้ายส่วนหนึ่งของที่เก็บ SVN โดยใช้ svnadmin dump
เครื่องมือ svndumpfilter ที่ให้มาไม่ได้จัดการการคัดลอก/ย้าย/เปลี่ยนชื่อการอ้างอิงจากไดเรกทอรีที่ไม่รวมอยู่ในการส่งออก
มีเครื่องมือที่สามารถจัดการการพึ่งพาเหล่านี้ได้หรือไม่?
ฉันกำลังพยายามย้ายส่วนหนึ่งของที่เก็บ SVN โดยใช้ svnadmin dump
เครื่องมือ svndumpfilter ที่ให้มาไม่ได้จัดการการคัดลอก/ย้าย/เปลี่ยนชื่อการอ้างอิงจากไดเรกทอรีที่ไม่รวมอยู่ในการส่งออก
มีเครื่องมือที่สามารถจัดการการพึ่งพาเหล่านี้ได้หรือไม่?
ฉันพบสคริปต์ Python โดย Simon Tatham ชื่อ svndumpfilter2 ซึ่ง พยายามรับมือกับการพึ่งพาแบบง่าย ๆ (ฉันพบข้อ จำกัด บางประการ)
คุณยังตรวจสอบบทความเกี่ยวกับการโยกย้ายไปยัง Subversion และ แรงจูงใจสำหรับสคริปต์
svndumpfiler2
ได้ไหม
- person Craig; 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
คุณไม่สามารถกำจัดปัญหานี้ได้ หากคุณคัดลอกไดเร็กทอรี/ไฟล์ คุณจะต้องรวมทั้ง (ต้นทางและปลายทาง) ลงใน svndumpfilter
อย่างไรก็ตาม คุณสามารถทำเคล็ดลับบางอย่างได้:
หากคุณดัมพ์พื้นที่เก็บข้อมูลไม่ใช่จากการแก้ไข 0 แต่พูดเช่น จากการแก้ไข 100 คุณจะได้รับพื้นที่เก็บข้อมูลใหม่ที่มีการแก้ไข 1-100 หายไป อย่างไรก็ตาม พื้นที่เก็บข้อมูลปลายทางของคุณมีไฟล์/โฟลเดอร์ทั้งหมดในรุ่นแก้ไข 1 เป็นที่เก็บข้อมูลต้นทางในรุ่นรุ่น 100 ด้วยวิธีนี้ คุณสามารถกำจัดข้อมูลที่มีเวอร์ชันได้โดยไม่สูญเสีย HEAD-Revision
คุณสามารถลองดัมพ์/โหลดที่เก็บต้นทางของคุณจนกระทั่งสำเนาแรกของคุณไปยังที่เก็บ "แฟลต" จากนั้นจึงเพิ่มดัมพ์ที่เหลือลงไป ด้วยวิธีนี้ คุณสามารถข้ามการคัดลอกจากการแก้ไขที่ยุ่งยากได้ เนื่องจากไฟล์ของคุณอยู่ในไดเรกทอรีที่เหมาะสม (ปลายทาง) แล้ว