update remote fetch logic

Signed-off-by: yxxhero <aiopsclub@163.com>
This commit is contained in:
yxxhero
2024-02-11 13:35:07 +08:00
parent 9c05f999e6
commit ff48be2534
7 changed files with 151 additions and 33 deletions
+27 -5
View File
@@ -22,16 +22,21 @@ type TestFs struct {
}
func NewTestFs(files map[string]string) *TestFs {
dirs := map[string]bool{}
fsDirs := map[string]bool{}
for abs := range files {
for d := filepath.ToSlash(filepath.Dir(abs)); !dirs[d]; d = filepath.ToSlash(filepath.Dir(d)) {
dirs[d] = true
for d := filepath.ToSlash(filepath.Dir(abs)); !fsDirs[d]; d = filepath.ToSlash(filepath.Dir(d)) {
fsDirs[d] = true
}
}
fsFiles := map[string]string{}
for abs, content := range files {
fsFiles[filepath.ToSlash(abs)] = content
}
return &TestFs{
Cwd: "/path/to",
dirs: dirs,
files: files,
dirs: fsDirs,
files: fsFiles,
successfulReads: []string{},
@@ -155,3 +160,20 @@ func (f *TestFs) Chdir(dir string) error {
}
return fmt.Errorf("unexpected chdir \"%s\"", dir)
}
func (f *TestFs) AddFiles(files map[string]string) {
dirs := map[string]bool{}
for abs := range files {
for d := filepath.ToSlash(filepath.Dir(abs)); !dirs[d]; d = filepath.ToSlash(filepath.Dir(d)) {
dirs[d] = true
}
}
for k, v := range files {
f.files[k] = v
}
for k, v := range dirs {
f.dirs[k] = v
}
}