วันอังคาร, มีนาคม 10, 2552

ย้าย SVN Repository

วันนี้ได้ลองย้าย SVN Repository จากที่หนึ่ง ไปไว้ใน Repository ที่มีอยู่แล้วอีกที่หนึ่ง ตอนแรกคิดว่าต้องใช้ท่ายากเพราะไม่ได้เป็นการสร้างใหม่ แต่กับง่ายกว่าที่คิด ผมเริ่มจากการ dump reposity ออกมาก่อนด้วยคำสั่ง svnadmin dump repo_path > dump_file ในกรณีของ unix เราใช้ full path ได้เต็มๆ แต่ในกรณีของ windows มันจะบอกว่าไม่รู้จัก c: ผมแก้ปัญหาแบบ OTOP ด้วยการ cd ไปยัง directory ที่เก็บ repository ก่อน จะได้ไม่ต้องระบบ full path ขั้นตอนนี้ถ้าจะประยุกต์ใช้กับการ backup svn ก็ได้ เพราะ dump_file ก็คือ repository ทั้งตัวนี่เอง สำหรับการย้ายก็แค่ copy dump_file ไปไว้ folder เดียวกับ repository ปลายทางจากนั้นสั่ง svnadmin load new_repo < dump_file เช่นเดียวกับกรณี dump ถ้าเป็น windows มันจะไม่รู้จัก c: เราก็ cd ไปอยู่ที่เดียวกับ repository ก่อน แล้วค่อยสั่งครับ แต่บน unix ใช้ full path ได้สบายเลย ในกรณีที่เราไม่ต้องการเอา repository เดิมไปไว้ที่ root ของ repository ใหม่ เราสามารถใส่ path ลงไปได้เลย เช่น svnadmin load new_repo/project/name < dump_file การ load svn จะอ่าน dump_file แล้วค่อยๆ ใส่ข้อมูลลงไปทีละ revision ถ้าเดิม new_repo มี Head revision อยู่ที่ 100 และ dump_file มี Head revision อยู่ที่ 50 หลังจาก load แล้ว Head revision จะเท่ากับ 150 โดยข้อมูลใน dump_file จะเริ่มจาก 101 ถึง 50
blog comments powered by Disqus