bdowning@lavos.net (Brian Downing) writes:
On Mon, Jul 16, 2007 at 04:35:10PM +0200, Johannes Sixt wrote:
quoted
It tries to remove a *file* that is in the way and create the directory
in its place. But since your unlink() behaves incorrectly (it is
supposed to *fail* for directories), the logic does not quite work as
expected - it mistakes the directory for a file.
http://www.opengroup.org/onlinepubs/007908799/xsh/unlink.html
| The path argument must not name a directory unless the process has
| appropriate privileges and the implementation supports using unlink() on
| directories.
Isn't it funny? The problem with the git code is that the path
argument must not name a directory _if_ the process has appropriate
privileges and the implementation supports using unlink() on
directories.
Failure is not an option, it is a requirement.
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum