ไม่ทางออกที่ดีที่สุดของคุณคือตั้งค่ามิเรอร์ของ svn repository ใน git repository
git svn clone -s http://subversion.example.com/ mysvnclone
cd mysvnclone
git remote add origin git@example.com:project.git
git push origin master
จากนั้นคุณสามารถเพิ่มที่เก็บ git เป็น submodule ในโครงการต้นฉบับ
cd /path/to/gitproject
git submodule add git://example.com/project.git -- svn-project
git add svn-project
git commit -m "Add submodule"
มีหนึ่งความแตกต่างทางความคิดระหว่าง svn คือ: externals และ git submodule ที่อาจเดินทางคุณขึ้นถ้าคุณเข้าใกล้นี้จากมุมมองการโค่นล้ม submodule คอมไพล์ถูกตรึงกับการแก้ไขที่คุณให้มัน หากการเปลี่ยนแปลง "ต้นน้ำ" คุณต้องอัปเดตข้อมูลอ้างอิงของ submodule
ดังนั้นเมื่อเราซิงค์กับการโค่นล้มต้นน้ำ:
cd /path/to/mysvnclone
git svn rebase
git push
... โครงการ git จะยังคงใช้การแก้ไขดั้งเดิมที่เราทำไว้ก่อนหน้านี้ หากต้องการอัปเดตเป็น svn HEAD คุณจะต้องใช้
cd /path/to/gitproject/svn-project
git checkout master
git pull
cd ..
git add svn-project
git commit -m"Update submodule"