]> git.ipfire.org Git - thirdparty/git.git/commit - unpack-trees.c
unpack-trees: let merged_entry() pass through do_add_entry()'s errors
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Mon, 9 Sep 2019 11:56:15 +0000 (13:56 +0200)
committerJohannes Schindelin <johannes.schindelin@gmx.de>
Thu, 5 Dec 2019 14:37:06 +0000 (15:37 +0100)
commitcc756edda63769cf6d7acc99e6ad3a9cbb5dc3ec
tree34d2e583a0fca8acff10963e52819f3c019f968f
parent35edce205615c553fdc49bcf10b0c91f061c56c9
unpack-trees: let merged_entry() pass through do_add_entry()'s errors

A `git clone` will end with exit code 0 when `merged_entry()` returns a
positive value during a call of `unpack_trees()` to `traverse_trees()`.
The reason is that `unpack_trees()` will interpret a positive value not
to be an error.

The problem is, however, that `add_index_entry()` (which is called by
`merged_entry()` can report an error, and we really should fail the
entire clone in such a case.

Let's fix this problem, in preparation for a Windows-specific patch
disallowing `mkdir()` with directory names that contain a trailing space
(which is illegal on NTFS): we want `git clone` to abort when a path
cannot be checked out due to that condition.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
unpack-trees.c