mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 06:24:11 +01:00 
			
		
		
		
	Merge pull request #2570 from andreynering/fix-1738
Workaround delete folder on Windows.
This commit is contained in:
		
						commit
						e2b4a24cb6
					
				@ -7,6 +7,7 @@ package models
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"os"
 | 
			
		||||
	"os/exec"
 | 
			
		||||
	"strings"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
@ -14,6 +15,7 @@ import (
 | 
			
		||||
 | 
			
		||||
	"github.com/gogits/gogs/modules/base"
 | 
			
		||||
	"github.com/gogits/gogs/modules/log"
 | 
			
		||||
	"github.com/gogits/gogs/modules/setting"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type NoticeType int
 | 
			
		||||
@ -53,7 +55,14 @@ func CreateRepositoryNotice(desc string) error {
 | 
			
		||||
// RemoveAllWithNotice removes all directories in given path and
 | 
			
		||||
// creates a system notice when error occurs.
 | 
			
		||||
func RemoveAllWithNotice(title, path string) {
 | 
			
		||||
	if err := os.RemoveAll(path); err != nil {
 | 
			
		||||
	var err error
 | 
			
		||||
	if setting.IsWindows {
 | 
			
		||||
		err = exec.Command("cmd", "/C", "rmdir", "/S", "/Q", path).Run()
 | 
			
		||||
	} else {
 | 
			
		||||
		err = os.RemoveAll(path)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		desc := fmt.Sprintf("%s [%s]: %v", title, path, err)
 | 
			
		||||
		log.Warn(desc)
 | 
			
		||||
		if err = CreateRepositoryNotice(desc); err != nil {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user