diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-10-04 04:49:18 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-10-04 04:49:19 (GMT) |
commit | 6a4f5dadd3d373db29053697aaefc67e31416699 (patch) | |
tree | 5feb58eb565bb8cf8cf698c649aedd4601fe7569 /builtin/difftool.c | |
parent | 92382d14cd4146ad05e891a529ed3ce5822d11f7 (diff) | |
parent | 5bafb3576ac8eb8464ddd5cc14a1211aaa46364b (diff) | |
download | git-6a4f5dadd3d373db29053697aaefc67e31416699.zip git-6a4f5dadd3d373db29053697aaefc67e31416699.tar.gz git-6a4f5dadd3d373db29053697aaefc67e31416699.tar.bz2 |
Merge branch 'da/difftool-dir-diff-symlink-fix'
"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/difftool.c')
-rw-r--r-- | builtin/difftool.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/builtin/difftool.c b/builtin/difftool.c index bb9fe72..21e055d 100644 --- a/builtin/difftool.c +++ b/builtin/difftool.c @@ -557,11 +557,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); } } |