mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-11-04 00:11:04 +00:00 
			
		
		
		
	- Add the experimental [deacode](https://pkg.go.dev/golang.org/x/tools/internal/cmd/deadcode) linter to Forgejo. - To deal with false positives that can happen due to build tags or with code that's currently only referenced by test code, the output of the tool is compared against a known-good output. - This commit doesn't make any attempt to remove any deadcode. (cherry picked from commitac462279e9) (cherry picked from commitb5ea6e85ac) (cherry picked from commit5915f3643c) [CLEANUP] Remove deadcode - This is deadcode since https://codeberg.org/forgejo/forgejo/pulls/1802 removed the usage of it. (cherry picked from commitd840b9923e)
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			619 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			619 B
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright 2022 The Gitea Authors. All rights reserved.
 | 
						|
// SPDX-License-Identifier: MIT
 | 
						|
 | 
						|
package util
 | 
						|
 | 
						|
import (
 | 
						|
	"io"
 | 
						|
	"os"
 | 
						|
)
 | 
						|
 | 
						|
// CopyFile copies file from source to target path.
 | 
						|
func CopyFile(src, dest string) error {
 | 
						|
	si, err := os.Lstat(src)
 | 
						|
	if err != nil {
 | 
						|
		return err
 | 
						|
	}
 | 
						|
 | 
						|
	sr, err := os.Open(src)
 | 
						|
	if err != nil {
 | 
						|
		return err
 | 
						|
	}
 | 
						|
	defer sr.Close()
 | 
						|
 | 
						|
	dw, err := os.Create(dest)
 | 
						|
	if err != nil {
 | 
						|
		return err
 | 
						|
	}
 | 
						|
	defer dw.Close()
 | 
						|
 | 
						|
	if _, err = io.Copy(dw, sr); err != nil {
 | 
						|
		return err
 | 
						|
	}
 | 
						|
 | 
						|
	if err = os.Chtimes(dest, si.ModTime(), si.ModTime()); err != nil {
 | 
						|
		return err
 | 
						|
	}
 | 
						|
	return os.Chmod(dest, si.Mode())
 | 
						|
}
 |