F18 ist jetzt Teil von LLVM und heißt im LLVM-Repository Flang.
Der Code aus diesem Repository ist jetzt unter https://github.com/llvm/llvm-project/tree/main/flang/ zu finden.
Wenn Sie einen lokalen Fork dieses Repositorys oder Pull-Requests haben, die zum LLVM-Monorepo migriert werden müssen, kann Ihnen das folgende Rezept helfen:
# 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>
Danach sollten alle Commits des vorherigen Upstream-F18 mit denen im Monorepo übereinstimmen. Wenn Sie die Option --refs
nicht angeben, werden dadurch alle Zweige in Ihrem Repository neu geschrieben.
Von dort aus sollten Sie in der Lage sein, jeden Ihrer Zweige/Commits auf das LLVM-Monorepo umzubasieren:
$ git remote set-url origin [email protected]:llvm/llvm-project.git
$ git fetch origin
$ git rebase origin/main -i
Cherry-Picking-Commits sollten auch funktionieren. Wenn Sie den Hauptzweig aus dem Monorepo auschecken, können Sie git cherry-pick <sha1>
.
Sie können Patches auch mit git format-patch <range>
exportieren und sie mit git am <patch file>
erneut auf das Monorepo anwenden.