|  | @@ -1,58 +0,0 @@
 | 
	
		
			
				|  |  | -package git
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -import (
 | 
	
		
			
				|  |  | -	"os"
 | 
	
		
			
				|  |  | -	"os/exec"
 | 
	
		
			
				|  |  | -	"path/filepath"
 | 
	
		
			
				|  |  | -	"strings"
 | 
	
		
			
				|  |  | -)
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -const (
 | 
	
		
			
				|  |  | -	VersionUndefined = "undefined"
 | 
	
		
			
				|  |  | -)
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -func getRepoRoot() string {
 | 
	
		
			
				|  |  | -	GOPATH := os.Getenv("GOPATH")
 | 
	
		
			
				|  |  | -	return filepath.Join(GOPATH, "src", "v2ray.com", "core")
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -func RevParse(args ...string) (string, error) {
 | 
	
		
			
				|  |  | -	args = append([]string{"rev-parse"}, args...)
 | 
	
		
			
				|  |  | -	cmd := exec.Command("git", args...)
 | 
	
		
			
				|  |  | -	cmd.Dir = getRepoRoot()
 | 
	
		
			
				|  |  | -	output, err := cmd.Output()
 | 
	
		
			
				|  |  | -	if err != nil {
 | 
	
		
			
				|  |  | -		return "", err
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | -	return strings.TrimSpace(string(output)), nil
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -func NameRev(args ...string) (string, error) {
 | 
	
		
			
				|  |  | -	args = append([]string{"name-rev"}, args...)
 | 
	
		
			
				|  |  | -	cmd := exec.Command("git", args...)
 | 
	
		
			
				|  |  | -	cmd.Dir = getRepoRoot()
 | 
	
		
			
				|  |  | -	output, err := cmd.Output()
 | 
	
		
			
				|  |  | -	if err != nil {
 | 
	
		
			
				|  |  | -		return "", err
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | -	return strings.TrimSpace(string(output)), nil
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -func RepoVersion(rev string) (string, error) {
 | 
	
		
			
				|  |  | -	rev, err := RevParse(rev)
 | 
	
		
			
				|  |  | -	if err != nil {
 | 
	
		
			
				|  |  | -		return "", err
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | -	version, err := NameRev("name-rev", "--tags", "--name-only", rev)
 | 
	
		
			
				|  |  | -	if err != nil {
 | 
	
		
			
				|  |  | -		return "", err
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | -	if strings.HasSuffix(version, "^0") {
 | 
	
		
			
				|  |  | -		version = version[:len(version)-2]
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | -	return version, nil
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -func RepoVersionHead() (string, error) {
 | 
	
		
			
				|  |  | -	return RepoVersion("HEAD")
 | 
	
		
			
				|  |  | -}
 |