AST: файлы в бекапную диру именно копируются

Этот коммит содержится в:
Softonik 2025-06-28 13:06:00 +03:00
родитель a7166810c4
коммит 3cfd1f25e9
3 изменённых файлов: 13 добавлений и 4 удалений

Просмотреть файл

@ -252,7 +252,7 @@ func (a *ASTer) сконвертитьСтрокувПараметры(in string
} }
func (a *ASTer) перезаписатьInitФайл() error { func (a *ASTer) перезаписатьInitФайл() error {
err := переименоватьФайлСоВременем(INIT_TEST_GO_FNAME) err := забекапитьФайлСоВременем(INIT_TEST_GO_FNAME)
if err != nil { if err != nil {
return errors.Join(err, errors.New("cant backup orig file")) return errors.Join(err, errors.New("cant backup orig file"))
} }
@ -266,7 +266,7 @@ func (a *ASTer) перезаписатьInitФайл() error {
return format.Node(f, a.init_test_fset, a.init_test_node) return format.Node(f, a.init_test_fset, a.init_test_node)
} }
func (a *ASTer) перезаписатьФайл() error { func (a *ASTer) перезаписатьФайл() error {
err := переименоватьФайлСоВременем(a.pkg_test_go_fname) err := забекапитьФайлСоВременем(a.pkg_test_go_fname)
if err != nil { if err != nil {
return errors.Join(err, errors.New("cant backup orig file")) return errors.Join(err, errors.New("cant backup orig file"))
} }

Просмотреть файл

@ -45,12 +45,12 @@ func получитьИмяGoПакетаВЭтойДире() (pkg_name string,
return return
} }
func переименоватьФайлСоВременем(fname string) error { func забекапитьФайлСоВременем(fname string) error {
os.MkdirAll(BACKUP_DIR, 0755) os.MkdirAll(BACKUP_DIR, 0755)
currentTime := time.Now() currentTime := time.Now()
timestamp := currentTime.Format("20060102_150405") timestamp := currentTime.Format("20060102_150405")
new_fname := fmt.Sprintf(BACKUP_DIR+"/%v_%v", fname, timestamp) new_fname := fmt.Sprintf(BACKUP_DIR+"/%v_%v", fname, timestamp)
return os.Rename(fname, new_fname) return lib.CopyFile(fname, new_fname)
} }
func являетсяЛиШагомсТакойЖеФункцией(stmt ast.Stmt, step *ast.ExprStmt) bool { func являетсяЛиШагомсТакойЖеФункцией(stmt ast.Stmt, step *ast.ExprStmt) bool {

Просмотреть файл

@ -44,3 +44,12 @@ func CopyFile(src, dst string) (err error) {
return return
} }
func MoveFile(src, dst string) (err error) {
err = CopyFile(src, dst)
if err != nil {
return
}
return os.Remove(src)
}