"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

From:
Christian Weisgerber <naddy@mips.inka.de>
Subject:
Re: rebase suffers '?' conflicts
To:
gameoftrees@openbsd.org
Date:
Wed, 12 Apr 2023 23:14:49 +0200

Download raw body.

Thread
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