In my Unity project, there is a native plugin, and plugin's extension is .dll, and this plugin is under git version control, when Unity is running, the plugin file will be locked.
If I merge another branch, which contains modification of the plugin, git will report error, looks like:
error: unable to unlink old 'xxxxxxx/xxx.dll' (Permission denied)
This is not bad, however, the unfinished merge action will not revert by git, a lot of changes produced in repository. Usually it makes me crazy, even worse, some of my partners are not good at using git. Of course, this problem can be avoided by quit Unity, but not every time we can remember. In my opinion, git should revert the unfinished action when the error occurred, not just stop.