Right?
Right?
No, of course not, and your point is obviously clear. "Blame the user" is still in vogue in some circles, though.
"If any of the remote changes overlap with local uncommitted changes, the merge will be automatically cancelled and the work tree untouched"
Either way it gave me a chance to re-factor the code, and do it better which ultimately ended up being MUCH better anyway.
I don't quite understand what point you are trying to make though. Ultimately the code loss was my fault, however it ended up much better for the source code I was working on because I had time to think about what had to be done and how I should do it, ultimately leading to less code that ran faster and was much better organised.
But the reason it went unnoticed for (horror of horrors) 2 minor releases, was that it only results from an unorthodox (although supported) usage practice.
I really wish merge, by default, was disallowed on a dirty tree. Yeah, it'd be fine if there was a command line argument to override this behavior.