mirror of
https://github.com/kovidgoyal/kitty
synced 2026-06-08 22:28:24 +02:00
code cleanup
This commit is contained in:
@@ -228,39 +228,41 @@ func find_overwrites(src_dir *os.File, dest_dir *os.File) (ans []string, err err
|
|||||||
stack.push(".")
|
stack.push(".")
|
||||||
for !stack.empty() {
|
for !stack.empty() {
|
||||||
relpath := stack.pop()
|
relpath := stack.pop()
|
||||||
sd, err := utils.OpenDirAt(src_dir, relpath)
|
if err = func() (err error) {
|
||||||
if err != nil {
|
sd, err := utils.OpenDirAt(src_dir, relpath)
|
||||||
return nil, err
|
if err != nil {
|
||||||
}
|
return err
|
||||||
src_children, err := sd.ReadDir(0)
|
|
||||||
sd.Close()
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
dd, err := utils.OpenDirAt(dest_dir, relpath)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
dest_children, err := dd.ReadDir(0)
|
|
||||||
dd.Close()
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
dest_map := make(map[string]os.DirEntry)
|
|
||||||
for _, x := range dest_children {
|
|
||||||
dest_map[x.Name()] = x
|
|
||||||
}
|
|
||||||
for _, x := range src_children {
|
|
||||||
if d, found := dest_map[x.Name()]; found {
|
|
||||||
relpath := utils.IfElse(relpath == ".", x.Name(), filepath.Join(relpath, x.Name()))
|
|
||||||
if !d.IsDir() || !x.IsDir() {
|
|
||||||
ans = append(ans, relpath)
|
|
||||||
} else {
|
|
||||||
stack.push(relpath)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
continue
|
|
||||||
}
|
}
|
||||||
|
defer sd.Close()
|
||||||
|
dd, err := utils.OpenDirAt(dest_dir, relpath)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer dd.Close()
|
||||||
|
dest_children, err := dd.ReadDir(0)
|
||||||
|
src_children, err := sd.ReadDir(0)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
dest_map := make(map[string]os.DirEntry)
|
||||||
|
for _, x := range dest_children {
|
||||||
|
dest_map[x.Name()] = x
|
||||||
|
}
|
||||||
|
for _, x := range src_children {
|
||||||
|
if d, found := dest_map[x.Name()]; found {
|
||||||
|
crelpath := utils.IfElse(relpath == ".", x.Name(), filepath.Join(relpath, x.Name()))
|
||||||
|
if !d.IsDir() || !x.IsDir() {
|
||||||
|
ans = append(ans, crelpath)
|
||||||
|
} else {
|
||||||
|
stack.push(crelpath)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}(); err != nil {
|
||||||
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
@@ -273,32 +275,34 @@ func rename_contents(src_dir *os.File, dest_dir *os.File) (err error) {
|
|||||||
stack.push(".")
|
stack.push(".")
|
||||||
for !stack.empty() {
|
for !stack.empty() {
|
||||||
relpath := stack.pop()
|
relpath := stack.pop()
|
||||||
sd, err := utils.OpenDirAt(src_dir, relpath)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
src_children, err := sd.ReadDir(0)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
dd, err := utils.OpenDirAt(dest_dir, relpath)
|
|
||||||
if err != nil {
|
|
||||||
sd.Close()
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err = func() error {
|
if err = func() error {
|
||||||
defer func() {
|
sd, err := utils.OpenDirAt(src_dir, relpath)
|
||||||
sd.Close()
|
if err != nil {
|
||||||
dd.Close()
|
return err
|
||||||
}()
|
}
|
||||||
for _, child := range src_children {
|
defer sd.Close()
|
||||||
relpath := utils.IfElse(relpath == ".", child.Name(), filepath.Join(relpath, child.Name()))
|
dd, err := utils.OpenDirAt(dest_dir, relpath)
|
||||||
rerr := utils.RenameAt(sd, child.Name(), dd, child.Name())
|
if err != nil {
|
||||||
if rerr != nil {
|
return err
|
||||||
if child.IsDir() {
|
}
|
||||||
stack.push(relpath)
|
defer dd.Close()
|
||||||
} else {
|
for {
|
||||||
return rerr
|
src_children, err := sd.ReadDir(64)
|
||||||
|
if err != nil {
|
||||||
|
if errors.Is(err, io.EOF) {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
for _, child := range src_children {
|
||||||
|
crelpath := utils.IfElse(relpath == ".", child.Name(), filepath.Join(relpath, child.Name()))
|
||||||
|
rerr := utils.RenameAt(sd, child.Name(), dd, child.Name())
|
||||||
|
if rerr != nil {
|
||||||
|
if child.IsDir() {
|
||||||
|
stack.push(crelpath)
|
||||||
|
} else {
|
||||||
|
return rerr
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user