Devste Devste <devstemail@xxxxxxxxx> writes: > On Mon, 28 Oct 2024 at 00:38, Taylor Blau <me@xxxxxxxxxxxx> wrote: >> >> On Sun, Oct 27, 2024 at 11:31:05PM +0100, Devste Devste wrote: >> > Turns out the previous behavior can be achieved with >> > git restore --source='stash@{0}' -- "some-file.txt" >> >> Hmm. What you wrote above here makes sense, but I agree with the >> original change from Junio (CC'd) that using `--theirs` does not make >> sense when the source is a tree-ish and not the index directly. >> >> This is different, though, since here you are just trying to check out >> the contents of some-file.txt at stash@{0}, without `--theirs`. What did >> you mean in the previous example, and why was `--theirs` necessary in >> the call there? > "--theirs" was necessary since I want the file exactly as it is in the > stash - any conflicts from applying the file from stash should be > automatically resolved using the hunk from the stash But "--theirs" is to take their version unconditionally, isn't it? There is no "if conflicted take theirs", or "take theirs only in conflicted parts, but otherwise take a natural merge result". At least, I do not recall writing the code to behave that way. So I am not sure if you are getting what you _think_ you are gettin by passing "--theirs".