Remove empty directories in recursive merge
The code was actually supposed to do that, but was accidentally broken. Noticed by Anders Melchiorsen. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
parent
fee75457fc
commit
41f13af558
@ -444,10 +444,8 @@ static int remove_file(int clean, const char *path, int no_wd)
|
||||
return -1;
|
||||
}
|
||||
if (update_working_directory) {
|
||||
unlink(path);
|
||||
if (errno != ENOENT || errno != EISDIR)
|
||||
if (remove_path(path) && errno != ENOENT)
|
||||
return -1;
|
||||
remove_path(path);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -535,4 +535,15 @@ test_expect_success 'reset and bind merge' '
|
||||
|
||||
'
|
||||
|
||||
test_expect_success 'merge removes empty directories' '
|
||||
|
||||
git reset --hard master &&
|
||||
git checkout -b rm &&
|
||||
git rm d/e &&
|
||||
git commit -mremoved-d/e &&
|
||||
git checkout master &&
|
||||
git merge -s recursive rm &&
|
||||
test_must_fail test -d d
|
||||
'
|
||||
|
||||
test_done
|
||||
|
Loading…
Reference in New Issue
Block a user