On Wed, Aug 25, 2021 at 08:42:09AM -0700, Elijah Newren wrote:
quoted
Is it possible to give us a more complete example, including:
- a url for the repository
- the commit at HEAD when you ran "git checkout"
- the {hash} commit from which you rescued the files
- the state of the remote branch (i.e., what we attempted to merge
with "git pull")
?
The `git checkout {hash}~1 -- math/polymake` is enough to highlight
that Yuri doesn't just have local changes (which the merge machinery
should allow if the incoming changes don't touch the same files), but
local *staged* changes. As per the merge manpage:
"""
To avoid recording unrelated changes in the merge commit, git pull and
git merge will also abort if there are any changes registered in the
index relative to the HEAD commit.
"""
Doh, you're right. I did a simple reproduction test, but in my example,
the merge was a fast-forward, which we do allow. Picking a branch more
carefully using:
git for-each-ref --no-contains HEAD --no-merged HEAD refs/remotes/origin
shows the error. Sorry for the confusion.
-Peff