ตอนนี้ F18 เป็นส่วนหนึ่งของ LLVM และเรียกว่า Flang ในพื้นที่เก็บข้อมูล LLVM
รหัสจากที่เก็บนี้สามารถพบได้ที่https://github.com/llvm/llvm-project/tree/main/flang/
หากคุณมีทางแยกในพื้นที่เก็บข้อมูลนี้หรือคำขอดึงที่จำเป็นต้องย้ายไปยัง LLVM monorepo สูตรต่อไปนี้อาจช่วยคุณได้:
# From your local F18 clone:
$ git clone https://github.com/newren/git-filter-repo /tmp/git-filter-repo
$ /tmp/git-filter-repo/git-filter-repo --path-rename :flang/ --force --message-callback 'return re.sub(b"(#[0-9]+)", b"flang-compiler/f18\1", message)' --refs <branch name>
หลังจากนี้ คอมมิตทั้งหมดจากอัปสตรีม F18 ก่อนหน้าควรตรงกับคอมมิตใน monorepo ทันที หากคุณไม่ได้ระบุตัวเลือก --refs
การดำเนินการนี้จะเขียน สาขาทั้งหมด ใน repo ของคุณ
จากนั้นคุณควรจะสามารถรีบูตสาขา/คอมมิตใด ๆ ของคุณที่ด้านบนของ LLVM monorepo:
$ git remote set-url origin [email protected]:llvm/llvm-project.git
$ git fetch origin
$ git rebase origin/main -i
Cherry-picking commits ควรใช้งานได้ หากคุณชำระเงินสาขาหลักจาก monorepo คุณสามารถ git cherry-pick <sha1>
จากสาขา (เขียนใหม่) ของคุณ
คุณยังสามารถส่งออกแพตช์ด้วย git format-patch <range>
และนำไปใช้ใหม่บน monorepo โดยใช้ git am <patch file>