aboutsummaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2021-10-12 13:51:48 -0700
committerJunio C Hamano <gitster@pobox.com>2021-10-12 13:51:48 -0700
commitef09a7fbbe5a74e628be3aa8af98f67344606807 (patch)
treeaac353adfce132644d46c84878fa8c852f68a208 /builtin
parentb59c06092f2ed8f434ffe298bf55578dffb18cca (diff)
parent5bafb3576ac8eb8464ddd5cc14a1211aaa46364b (diff)
downloadgit-ef09a7fbbe5a74e628be3aa8af98f67344606807.tar.xz
Merge branch 'da/difftool-dir-diff-symlink-fix' into maint
"git difftool --dir-diff" mishandled symbolic links. * da/difftool-dir-diff-symlink-fix: difftool: fix symlink-file writing in dir-diff mode
Diffstat (limited to 'builtin')
-rw-r--r--builtin/difftool.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/builtin/difftool.c b/builtin/difftool.c
index 6a9242a803..90c0bfcd88 100644
--- a/builtin/difftool.c
+++ b/builtin/difftool.c
@@ -562,11 +562,13 @@ static int run_dir_diff(const char *extcmd, int symlinks, const char *prefix,
if (*entry->left) {
add_path(&ldir, ldir_len, entry->path);
ensure_leading_directories(ldir.buf);
+ unlink(ldir.buf);
write_file(ldir.buf, "%s", entry->left);
}
if (*entry->right) {
add_path(&rdir, rdir_len, entry->path);
ensure_leading_directories(rdir.buf);
+ unlink(rdir.buf);
write_file(rdir.buf, "%s", entry->right);
}
}