From 65803bfcd513f7fb37c4a084a163e1b0efc792a4 Mon Sep 17 00:00:00 2001 From: davrot Date: Sun, 9 Feb 2025 23:46:11 +0000 Subject: [PATCH] =?UTF-8?q?Dateien=20nach=20=E2=80=9Eservices/repository/f?= =?UTF-8?q?iles=E2=80=9C=20hochladen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/repository/files/update.go | 38 +++++++++-------------------- 1 file changed, 12 insertions(+), 26 deletions(-) diff --git a/services/repository/files/update.go b/services/repository/files/update.go index 3e19e90eba..5ef778cfe8 100644 --- a/services/repository/files/update.go +++ b/services/repository/files/update.go @@ -5,12 +5,12 @@ package files import ( "context" - "errors" "fmt" "io" "path" "strings" "time" + "errors" "code.gitea.io/gitea/models" git_model "code.gitea.io/gitea/models/git" @@ -88,46 +88,32 @@ func ChangeRepoFiles(ctx context.Context, repo *repo_model.Repository, doer *use defer closer.Close() // oldBranch must exist for this operation - branch, err := gitRepo.GetBranch(opts.OldBranch); - if err != nil && !repo.IsEmpty { + if _, err := gitRepo.GetBranch(opts.OldBranch); err != nil && !repo.IsEmpty { return nil, err } if opts.IsDir { - var newOptsFiles []*ChangeRepoFile + var new_opts_files []*ChangeRepoFile for _, file := range opts.Files { if file.Operation != "delete" { return nil, errors.New("invalid operation: only delete is allowed for directory paths") } treePath := CleanUploadFileName(file.TreePath) - - branchCommit, err := branch.GetCommit() + filelist, err := gitRepo.LsFilesFromDirectory(treePath, opts.OldBranch) if err != nil { - return nil, err + return nil, err } - - tree, err := branchCommit.SubTree(treePath) - if err != nil { - return nil, err - } - - allEntries, err := tree.ListEntriesRecursiveFast() - if err != nil { - return nil, err - } - - for _, entry := range allEntries { - filename := entry.Name() - // Here we need to remove directories... I don't know how... - if len(filename) > 0 { - newOptsFiles = append(newOptsFiles, &ChangeRepoFile{ - Operation: "delete", - TreePath: filename, + for _, filename := range filelist { + if len(filename) > 0{ + + new_opts_files = append(new_opts_files, &ChangeRepoFile{ + Operation: "delete", + TreePath: filename, }) } } } - opts.Files = newOptsFiles + opts.Files = new_opts_files } var treePaths []string