أصبح 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
، فسيؤدي ذلك إلى إعادة كتابة جميع الفروع في الريبو الخاص بك.
من هناك يجب أن تكون قادرًا على إعادة تأسيس أي من فروعك/التزاماتك أعلى LLVM monorepo:
$ git remote set-url origin [email protected]:llvm/llvm-project.git
$ git fetch origin
$ git rebase origin/main -i
يجب أيضًا أن تعمل التزامات انتقاء الكرز، إذا قمت بالخروج من الفرع الرئيسي من monorepo، فيمكنك git cherry-pick <sha1>
من فروعك (المعاد كتابتها).
يمكنك أيضًا تصدير التصحيحات باستخدام git format-patch <range>
وإعادة تطبيقها على monorepo باستخدام git am <patch file>
.