On Mon, May 15, 2017 at 11:42 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Jeffrey Walton <noloader@xxxxxxxxx> writes: > >> On Mon, May 15, 2017 at 11:27 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: >>> Jeffrey Walton <noloader@xxxxxxxxx> writes: >>> >>>> I scp'd a file to another machine for testing. The change tested OK, >>>> so I checked it in on the original machine. >>>> ... >>>> How do I force the pull to succeed? >>> >>> Git doesn't know (or care) if you "scp"ed a file from a known to be >>> good place, or if you modified it in the editor. When it notices >>> that there are differences you may rather not to lose in these files >>> (because they are different from HEAD), it refrains from touching >>> them. >>> >>> So the way to go forward is for you to make sure that you do not >>> have such local changes in the repository that your "pull" is trying >>> to touch. An easiest way would be to do >>> >>> git checkout HEAD -- <paths>.. >> >> Thanks. That's an extra command. Is there any way to roll it up into >> one command? > > git checkout HEAD -- <paths>.. && git pull > > ;-) > >>> before doing a "git pull" to clear the damage you caused manually >>> with your "scp". >> >> There's no damage. Its expected. > > The fact that you think it is expected is immaterial. Git doesn't > know (or care) how you made the files different from HEAD, so it > looks like a damage to it. 'git pull' fails and its expected, but 'git pull -f' is supposed to succeed. That's what -f is supposed to do. Is there a way to add intelligence to Git so that it sees they are the _exact_ same file, and it stops bothering me with details of problems that don't exist? It seems like adding the intelligence is a good enhancement. A version control tool has to do three things: check-out, check-in, and determine differences. Its not doing a good job of determining differences considering they are the exact same file. Jeff