Subject: Re: problem with cherry picking

From: Andreas Ericsson <[email-masked]>
Date: Tue, 21 Apr 2009 00:20:41 +0200

John Dlugosz wrote:
> Someone at work here jumped the gun and committed something before
> fetching an amended branch.  Typical stuff -- now his work and the
> repo's work diverged.  His change was purely new files, no big deal.  In
> gitk, reset his dev to origin/remote/dev, then cherry-pick his new
> commit.
> 
> But it barfed all over the place.  One problem was read-only files.  But
> even after purging those, it had the same complaint, something about
> untracked file would be modified.  What's the deal here?
> 
> I talked him through accomplishing it another way -- reset hard back to
> his new commit, reset mixed to the proper ancestor, and re-doing the
> commit.
> 
> But I want to understand what the issue is here.
> 

When he first reset back to the pre-modified state, the newly created
files were not removed from the working directory (this happens on soft
or mixed resets, fe, or when a branch is moved).

The files were untracked by git as seen from the commit he reset to, and
so git rightly refuses to apply another patch that introduces them, as
that would mean overwriting files git knew nothing about (again, at the
time of the commit he reset back to).

/Andreas