F18 теперь является частью LLVM и в репозитории LLVM называется Flang.
Код из этого репозитория теперь можно найти по адресу https://github.com/llvm/llvm-project/tree/main/flang/.
Если у вас есть локальная вилка этого репозитория или пул-реквесты, которые необходимо перенести в монорепозиторий LLVM, вам может помочь следующий рецепт:
# 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 должны совпадать с теми, что сейчас находятся в монорепозитории. Если вы не укажете опцию --refs
, это перезапишет все ветки в вашем репо.
Оттуда вы сможете перебазировать любую ветку/коммит поверх монорепозитория LLVM:
$ git remote set-url origin [email protected]:llvm/llvm-project.git
$ git fetch origin
$ git rebase origin/main -i
Коммиты Cherry-Picking также должны работать: если вы извлекаете основную ветку из монорепозитория, вы можете git cherry-pick <sha1>
из своих (переписанных) веток.
Вы также можете экспортировать патчи с помощью git format-patch <range>
и повторно применить их в монорепозитории с помощью git am <patch file>
.