Merge pull request #3780 from jkmw/fix/2578

Remove existing path before restoring a symlink
This commit is contained in:
Michael Eischer
2022-09-24 12:34:42 +02:00
committed by GitHub
2 changed files with 13 additions and 2 deletions

View File

@@ -299,8 +299,12 @@ func (node Node) createSymlinkAt(path string) error {
if runtime.GOOS == "windows" {
return nil
}
err := fs.Symlink(node.LinkTarget, path)
if err != nil {
if err := os.Remove(path); err != nil && !errors.Is(err, os.ErrNotExist) {
return errors.Wrap(err, "Symlink")
}
if err := fs.Symlink(node.LinkTarget, path); err != nil {
return errors.Wrap(err, "Symlink")
}