From: Christian Weisgerber Subject: Re: rebase suffers '?' conflicts To: gameoftrees@openbsd.org Date: Wed, 12 Apr 2023 23:14:49 +0200 Stefan Sperling: > Two diffs below: > update the base commit ID of unmodified files if the blob ID matches > fix rebase/histedit -a leaving some files on the temporary branch Unfortunately, something is still not right. * The first rebase reports a merge conflict. * I abort the rebase. * I remove the cause for the conflict. * I rebase again => errors are reported about "unversioned" files. Let's look at this again: * The first rebase reports a merge conflict. -- Some files were added 'A'. * I abort the rebase. -- Those files are reverted 'R'. * I remove the cause for the conflict. * I rebase again => errors are reported about "unversioned" files. -- The files from above show up as unversioned '?'. In fact, inspection of the source tree after the "rebase -a" step shows that the added+reverted files are still there in the worktree, invisible to "got status". I'm still using my old reproducer script: #!/bin/sh -x git clone --bare https://github.com/openbsd/src.git cd src.git git config remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*' git remote add jca https://github.com/jcourreges/openbsd-src.git git fetch --all cd .. got co src.git cd src got br tmp got br -c jca/llvm15-12 llvm15 got up -b tmp got rb llvm15 got rb -a got up got bo 049dee6038423fab611bd86b1db50dc65d8c4326 got ci -m 'revert: allow out-of-class defaulting of comparison operators' got up got rb llvm15 #Files not merged because an unversioned file was found in the work tree: 2151 -- Christian "naddy" Weisgerber naddy@mips.inka.de