commit a1d8355657886f2b584172139cf55fa7313ec760 from: Stefan Sperling via: Thomas Adam date: Fri Feb 24 17:36:19 2023 UTC merge TODO wording tweak: 'got rebase' says "forwarding", not "fast-forwarding" commit - 9f98a087ba9d9c708c27ec395bd63a193bc5e7b2 commit + a1d8355657886f2b584172139cf55fa7313ec760 blob - e098c6c2b1b4710c0cd2da77b5fb96d09897c156 blob + fb47d8a0513326121aae0e3ff97fa0959dcf8aed --- TODO +++ TODO @@ -8,15 +8,15 @@ got: instead of the root directory checked out at /usr/src. The next LLVM release 12.1 would later be committed onto the llvm-12 branch and then merged into main at /usr/src/gnu/llvm in the same way. -- Teach 'got merge' to fast-forward a branch if possible, instead of - creating a merge commit. Fast-forward should only be done if linear +- Teach 'got merge' to forward a branch reference if possible, instead of + creating a merge commit. Forwarding should only be done if linear history exists from the tip of the branch being merged to the tip of the work tree's branch, and if the tip of the work tree's branch is itself not a merge commit (this makes "stacked" merges possible - by default, and prevents a 'main' branch from being fast-forwarded + by default, and prevents a 'main' branch reference from being forwarded to a vendor branch in case no new commits were added to 'main' since the previous vendor merge). Provide an option (-M) which forces creation - of a merge commit, for cases where users deem fast-forward undesirable. + of a merge commit, for cases where users deem forwarding undesirable. - When a clone fails the HEAD symref will always point to "refs/heads/main" (ie. the internal default HEAD symref of Got). Resuming a failed clone with 'got fetch' is supposed to work. To make this easier, if the HEAD symref