Re: What's cooking in git.git (Aug 2011, #01; Wed, 3)
From: Johannes Sixt <hidden>
Date: 2016-06-15 22:51:44
Am 8/4/2011 2:32, schrieb Junio C Hamano:
* en/merge-recursive (2011-07-14) 50 commits - fixup! Do not assume that qsort is stable
...
- merge-recursive: Fix sorting order and directory change assumptions
...
The tip one should be squashed somewhere.
I suggest this one.
I wanted to push this out in 'next' today, but this seems to regress a rather trivial renaming merge, so I had to rewind and rebuild 'next' before pushing it out.
Also, make_room_for_path() walks the entire list of files to remove on each invocation and calls unlink() on each of them, which fails after the name was re-created as a directory. IIUC, this is O(N*M) behavior where N is the number of files to remove and M is the number of directories to create, and causes unnecessary system calls. (Well, this can be fixed when the series is in next because it is not as critical as the regression that you found.) -- Hannes