F18 fait désormais partie de LLVM et s'appelle Flang dans le référentiel LLVM.
Le code de ce référentiel peut maintenant être trouvé sur https://github.com/llvm/llvm-project/tree/main/flang/
Si vous disposez d'un fork local de ce référentiel ou de pull-requests qui doivent être migrés vers le monorepo LLVM, la recette suivante peut vous aider :
# 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>
Après cela, tous les commits du précédent F18 en amont devraient désormais correspondre à ceux du monorepo. Si vous ne fournissez pas l'option --refs
, cela réécrira toutes les branches de votre dépôt.
À partir de là, vous devriez pouvoir rebaser n'importe laquelle de vos branches/commits au-dessus du monorepo LLVM :
$ git remote set-url origin [email protected]:llvm/llvm-project.git
$ git fetch origin
$ git rebase origin/main -i
Les commits de sélection cerise devraient également fonctionner, si vous extrayez la branche principale du monorepo, vous pouvez git cherry-pick <sha1>
à partir de vos branches (réécrites).
Vous pouvez également exporter des correctifs avec git format-patch <range>
et les réappliquer sur le monorepo en utilisant git am <patch file>
.