mirror of
https://github.com/kovidgoyal/kitty
synced 2026-06-08 14:18:26 +02:00
diff kitten: Fix a regression that broke diffing against remote files
Fixes #7797
This commit is contained in:
@@ -87,6 +87,8 @@ Detailed list of changes
|
|||||||
|
|
||||||
- kitten @: Fix a regression connecting to TCP sockets using plain IP addresses rather than hostnames (:iss:`7794`)
|
- kitten @: Fix a regression connecting to TCP sockets using plain IP addresses rather than hostnames (:iss:`7794`)
|
||||||
|
|
||||||
|
- diff kitten: Fix a regression that broke diffing against remote files (:iss:`7797`)
|
||||||
|
|
||||||
0.36.1 [2024-08-24]
|
0.36.1 [2024-08-24]
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ func get_ssh_file(hostname, rpath string) (string, error) {
|
|||||||
for strings.HasPrefix(rpath, "/") {
|
for strings.HasPrefix(rpath, "/") {
|
||||||
rpath = rpath[1:]
|
rpath = rpath[1:]
|
||||||
}
|
}
|
||||||
cmd := []string{ssh.SSHExe(), hostname, "tar", "-c", "-f", "-"}
|
cmd := []string{ssh.SSHExe(), hostname, "tar", "--dereference", "--create", "--file", "-"}
|
||||||
if is_abs {
|
if is_abs {
|
||||||
cmd = append(cmd, "-C", "/")
|
cmd = append(cmd, "-C", "/")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ func ExtractAllFromTar(tr *tar.Reader, dest_path string, optss ...TarExtractOpti
|
|||||||
var hdr *tar.Header
|
var hdr *tar.Header
|
||||||
hdr, err = tr.Next()
|
hdr, err = tr.Next()
|
||||||
if errors.Is(err, io.EOF) {
|
if errors.Is(err, io.EOF) {
|
||||||
|
err = nil
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -70,6 +71,9 @@ func ExtractAllFromTar(tr *tar.Reader, dest_path string, optss ...TarExtractOpti
|
|||||||
}
|
}
|
||||||
case tar.TypeReg, tar.TypeRegA:
|
case tar.TypeReg, tar.TypeRegA:
|
||||||
var d *os.File
|
var d *os.File
|
||||||
|
if err = os.MkdirAll(filepath.Dir(dest), 0o700); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
if d, err = os.Create(dest); err != nil {
|
if d, err = os.Create(dest); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -82,6 +86,9 @@ func ExtractAllFromTar(tr *tar.Reader, dest_path string, optss ...TarExtractOpti
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
case tar.TypeLink:
|
case tar.TypeLink:
|
||||||
|
if err = os.MkdirAll(filepath.Dir(dest), 0o700); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
if err = os.Link(hdr.Linkname, dest); err != nil {
|
if err = os.Link(hdr.Linkname, dest); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -89,6 +96,9 @@ func ExtractAllFromTar(tr *tar.Reader, dest_path string, optss ...TarExtractOpti
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
case tar.TypeSymlink:
|
case tar.TypeSymlink:
|
||||||
|
if err = os.MkdirAll(filepath.Dir(dest), 0o700); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
if err = os.Symlink(hdr.Linkname, dest); err != nil {
|
if err = os.Symlink(hdr.Linkname, dest); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user