mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 19:38:23 +00:00 
			
		
		
		
	Add bundle download for repository (#14538)
* Add bundle download Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix build tags Signed-off-by: jolheiser <john.olheiser@gmail.com> * Download specific commit Signed-off-by: jolheiser <john.olheiser@gmail.com>
This commit is contained in:
		
							
								
								
									
										3
									
								
								build.go
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								build.go
									
									
									
									
									
								
							| @@ -2,7 +2,8 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //+build vendor | ||||
| //go:build vendor | ||||
| // +build vendor | ||||
|  | ||||
| package main | ||||
|  | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build ignore | ||||
| // +build ignore | ||||
|  | ||||
| package main | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build ignore | ||||
| // +build ignore | ||||
|  | ||||
| package main | ||||
|   | ||||
| @@ -1,3 +1,4 @@ | ||||
| //go:build ignore | ||||
| // +build ignore | ||||
|  | ||||
| package main | ||||
|   | ||||
| @@ -1,3 +1,4 @@ | ||||
| //go:build ignore | ||||
| // +build ignore | ||||
|  | ||||
| package main | ||||
|   | ||||
| @@ -6,6 +6,7 @@ | ||||
| // gocovmerge takes the results from multiple `go test -coverprofile` runs and | ||||
| // merges them into one profile | ||||
|  | ||||
| //go:build ignore | ||||
| // +build ignore | ||||
|  | ||||
| package main | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build bindata | ||||
| // +build bindata | ||||
|  | ||||
| package cmd | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !bindata | ||||
| // +build !bindata | ||||
|  | ||||
| package cmd | ||||
|   | ||||
| @@ -1,9 +1,10 @@ | ||||
| // +build pam | ||||
|  | ||||
| // Copyright 2014 The Gogs Authors. All rights reserved. | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build pam | ||||
| // +build pam | ||||
|  | ||||
| package pam | ||||
|  | ||||
| import ( | ||||
|   | ||||
| @@ -1,9 +1,10 @@ | ||||
| // +build !pam | ||||
|  | ||||
| // Copyright 2014 The Gogs Authors. All rights reserved. | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !pam | ||||
| // +build !pam | ||||
|  | ||||
| package pam | ||||
|  | ||||
| import ( | ||||
|   | ||||
| @@ -1,3 +1,4 @@ | ||||
| //go:build pam | ||||
| // +build pam | ||||
|  | ||||
| // Copyright 2021 The Gitea Authors. All rights reserved. | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !gogit | ||||
| // +build !gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build race | ||||
| // +build race | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !gogit | ||||
| // +build !gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !gogit | ||||
| // +build !gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !gogit | ||||
| // +build !gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !gogit | ||||
| // +build !gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !gogit | ||||
| // +build !gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package pipeline | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !gogit | ||||
| // +build !gogit | ||||
|  | ||||
| package pipeline | ||||
|   | ||||
| @@ -13,6 +13,7 @@ import ( | ||||
| 	"net/url" | ||||
| 	"os" | ||||
| 	"path" | ||||
| 	"path/filepath" | ||||
| 	"strconv" | ||||
| 	"strings" | ||||
| 	"time" | ||||
| @@ -415,3 +416,33 @@ func GetDivergingCommits(repoPath string, baseBranch string, targetBranch string | ||||
|  | ||||
| 	return DivergeObject{ahead, behind}, nil | ||||
| } | ||||
|  | ||||
| // CreateBundle create bundle content to the target path | ||||
| func (repo *Repository) CreateBundle(ctx context.Context, commit string, out io.Writer) error { | ||||
| 	tmp, err := os.MkdirTemp(os.TempDir(), "gitea-bundle") | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	defer os.RemoveAll(tmp) | ||||
|  | ||||
| 	tmpFile := filepath.Join(tmp, "bundle") | ||||
| 	args := []string{ | ||||
| 		"bundle", | ||||
| 		"create", | ||||
| 		tmpFile, | ||||
| 		commit, | ||||
| 	} | ||||
| 	_, err = NewCommandContext(ctx, args...).RunInDir(repo.Path) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	fi, err := os.Open(tmpFile) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	defer fi.Close() | ||||
|  | ||||
| 	_, err = io.Copy(out, fi) | ||||
| 	return err | ||||
| } | ||||
|   | ||||
| @@ -21,6 +21,8 @@ const ( | ||||
| 	ZIP ArchiveType = iota + 1 | ||||
| 	// TARGZ tar gz archive type | ||||
| 	TARGZ | ||||
| 	// BUNDLE bundle archive type | ||||
| 	BUNDLE | ||||
| ) | ||||
|  | ||||
| // String converts an ArchiveType to string | ||||
| @@ -30,6 +32,8 @@ func (a ArchiveType) String() string { | ||||
| 		return "zip" | ||||
| 	case TARGZ: | ||||
| 		return "tar.gz" | ||||
| 	case BUNDLE: | ||||
| 		return "bundle" | ||||
| 	} | ||||
| 	return "unknown" | ||||
| } | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !gogit | ||||
| // +build !gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !gogit | ||||
| // +build !gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !gogit | ||||
| // +build !gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !gogit | ||||
| // +build !gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !gogit | ||||
| // +build !gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !gogit | ||||
| // +build !gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !gogit | ||||
| // +build !gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !gogit | ||||
| // +build !gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !gogit | ||||
| // +build !gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !gogit | ||||
| // +build !gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !gogit | ||||
| // +build !gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !gogit | ||||
| // +build !gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !gogit | ||||
| // +build !gogit | ||||
|  | ||||
| package git | ||||
|   | ||||
| @@ -1,9 +1,10 @@ | ||||
| // +build !windows | ||||
|  | ||||
| // Copyright 2019 The Gitea Authors. All rights reserved. | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !windows | ||||
| // +build !windows | ||||
|  | ||||
| package graceful | ||||
|  | ||||
| import ( | ||||
|   | ||||
| @@ -1,10 +1,11 @@ | ||||
| // +build windows | ||||
|  | ||||
| // Copyright 2019 The Gitea Authors. All rights reserved. | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
| // This code is heavily inspired by the archived gofacebook/gracenet/net.go handler | ||||
|  | ||||
| //go:build windows | ||||
| // +build windows | ||||
|  | ||||
| package graceful | ||||
|  | ||||
| import ( | ||||
|   | ||||
| @@ -1,10 +1,11 @@ | ||||
| // +build !windows | ||||
|  | ||||
| // Copyright 2019 The Gitea Authors. All rights reserved. | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
| // This code is heavily inspired by the archived gofacebook/gracenet/net.go handler | ||||
|  | ||||
| //go:build !windows | ||||
| // +build !windows | ||||
|  | ||||
| package graceful | ||||
|  | ||||
| import ( | ||||
|   | ||||
| @@ -1,10 +1,11 @@ | ||||
| // +build windows | ||||
|  | ||||
| // Copyright 2019 The Gitea Authors. All rights reserved. | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
| // This code is heavily inspired by the archived gofacebook/gracenet/net.go handler | ||||
|  | ||||
| //go:build windows | ||||
| // +build windows | ||||
|  | ||||
| package graceful | ||||
|  | ||||
| import "net" | ||||
|   | ||||
| @@ -1,10 +1,11 @@ | ||||
| // +build !windows | ||||
|  | ||||
| // Copyright 2019 The Gitea Authors. All rights reserved. | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
| // This code is heavily inspired by the archived gofacebook/gracenet/net.go handler | ||||
|  | ||||
| //go:build !windows | ||||
| // +build !windows | ||||
|  | ||||
| package graceful | ||||
|  | ||||
| import ( | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gogit | ||||
| // +build gogit | ||||
|  | ||||
| package lfs | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !gogit | ||||
| // +build !gogit | ||||
|  | ||||
| package lfs | ||||
|   | ||||
| @@ -1,9 +1,10 @@ | ||||
| // +build !bindata | ||||
|  | ||||
| // Copyright 2016 The Gitea Authors. All rights reserved. | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !bindata | ||||
| // +build !bindata | ||||
|  | ||||
| package options | ||||
|  | ||||
| import ( | ||||
|   | ||||
| @@ -2,7 +2,8 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //+build bindata | ||||
| //go:build bindata | ||||
| // +build bindata | ||||
|  | ||||
| package options | ||||
|  | ||||
|   | ||||
| @@ -1,9 +1,10 @@ | ||||
| // +build bindata | ||||
|  | ||||
| // Copyright 2016 The Gitea Authors. All rights reserved. | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build bindata | ||||
| // +build bindata | ||||
|  | ||||
| package options | ||||
|  | ||||
| import ( | ||||
|   | ||||
| @@ -1,9 +1,10 @@ | ||||
| // +build !bindata | ||||
|  | ||||
| // Copyright 2016 The Gitea Authors. All rights reserved. | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !bindata | ||||
| // +build !bindata | ||||
|  | ||||
| package public | ||||
|  | ||||
| import ( | ||||
|   | ||||
| @@ -2,7 +2,8 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //+build bindata | ||||
| //go:build bindata | ||||
| // +build bindata | ||||
|  | ||||
| package public | ||||
|  | ||||
|   | ||||
| @@ -1,9 +1,10 @@ | ||||
| // +build bindata | ||||
|  | ||||
| // Copyright 2016 The Gitea Authors. All rights reserved. | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build bindata | ||||
| // +build bindata | ||||
|  | ||||
| package public | ||||
|  | ||||
| import ( | ||||
|   | ||||
| @@ -1,3 +1,4 @@ | ||||
| //go:build sqlite | ||||
| // +build sqlite | ||||
|  | ||||
| // Copyright 2014 The Gogs Authors. All rights reserved. | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build bindata | ||||
| // +build bindata | ||||
|  | ||||
| package svg | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !bindata | ||||
| // +build !bindata | ||||
|  | ||||
| package svg | ||||
|   | ||||
| @@ -1,9 +1,10 @@ | ||||
| // +build !bindata | ||||
|  | ||||
| // Copyright 2016 The Gitea Authors. All rights reserved. | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !bindata | ||||
| // +build !bindata | ||||
|  | ||||
| package templates | ||||
|  | ||||
| import ( | ||||
|   | ||||
| @@ -1,9 +1,10 @@ | ||||
| // +build bindata | ||||
|  | ||||
| // Copyright 2016 The Gitea Authors. All rights reserved. | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build bindata | ||||
| // +build bindata | ||||
|  | ||||
| package templates | ||||
|  | ||||
| import ( | ||||
|   | ||||
| @@ -2,7 +2,8 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //+build bindata | ||||
| //go:build bindata | ||||
| // +build bindata | ||||
|  | ||||
| package templates | ||||
|  | ||||
|   | ||||
| @@ -771,6 +771,7 @@ use_template = Use this template | ||||
| clone_in_vsc = Clone in VS Code | ||||
| download_zip = Download ZIP | ||||
| download_tar = Download TAR.GZ | ||||
| download_bundle = Download BUNDLE | ||||
| generate_repo = Generate Repository | ||||
| generate_from = Generate From | ||||
| repo_desc = Description | ||||
|   | ||||
| @@ -1,9 +1,10 @@ | ||||
| // +build !windows | ||||
|  | ||||
| // Copyright 2020 The Gitea Authors. All rights reserved. | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !windows | ||||
| // +build !windows | ||||
|  | ||||
| package private | ||||
|  | ||||
| import ( | ||||
|   | ||||
| @@ -1,9 +1,10 @@ | ||||
| // +build windows | ||||
|  | ||||
| // Copyright 2020 The Gitea Authors. All rights reserved. | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build windows | ||||
| // +build windows | ||||
|  | ||||
| package private | ||||
|  | ||||
| import ( | ||||
|   | ||||
| @@ -54,6 +54,9 @@ func NewRequest(repoID int64, repo *git.Repository, uri string) (*ArchiveRequest | ||||
| 	case strings.HasSuffix(uri, ".tar.gz"): | ||||
| 		ext = ".tar.gz" | ||||
| 		r.Type = git.TARGZ | ||||
| 	case strings.HasSuffix(uri, ".bundle"): | ||||
| 		ext = ".bundle" | ||||
| 		r.Type = git.BUNDLE | ||||
| 	default: | ||||
| 		return nil, fmt.Errorf("Unknown format: %s", uri) | ||||
| 	} | ||||
| @@ -165,13 +168,21 @@ func doArchive(r *ArchiveRequest) (*models.RepoArchiver, error) { | ||||
| 			} | ||||
| 		}() | ||||
|  | ||||
| 		err = gitRepo.CreateArchive( | ||||
| 			graceful.GetManager().ShutdownContext(), | ||||
| 			archiver.Type, | ||||
| 			w, | ||||
| 			setting.Repository.PrefixArchiveFiles, | ||||
| 			archiver.CommitID, | ||||
| 		) | ||||
| 		if archiver.Type == git.BUNDLE { | ||||
| 			err = gitRepo.CreateBundle( | ||||
| 				graceful.GetManager().ShutdownContext(), | ||||
| 				archiver.CommitID, | ||||
| 				w, | ||||
| 			) | ||||
| 		} else { | ||||
| 			err = gitRepo.CreateArchive( | ||||
| 				graceful.GetManager().ShutdownContext(), | ||||
| 				archiver.Type, | ||||
| 				w, | ||||
| 				setting.Repository.PrefixArchiveFiles, | ||||
| 				archiver.CommitID, | ||||
| 			) | ||||
| 		} | ||||
| 		_ = w.CloseWithError(err) | ||||
| 		done <- err | ||||
| 	}(done, w, archiver, gitRepo) | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build !windows | ||||
| // +build !windows | ||||
|  | ||||
| package auth | ||||
|   | ||||
| @@ -118,6 +118,7 @@ | ||||
| 								</a> | ||||
| 								<a class="item archive-link" data-url="{{$.RepoLink}}/archive/{{EscapePound $.BranchName}}.zip">{{svg "octicon-file-zip"}} {{.i18n.Tr "repo.download_zip"}}</a> | ||||
| 								<a class="item archive-link" data-url="{{$.RepoLink}}/archive/{{EscapePound $.BranchName}}.tar.gz">{{svg "octicon-file-zip"}} {{.i18n.Tr "repo.download_tar"}}</a> | ||||
| 								<a class="item archive-link" data-url="{{$.RepoLink}}/archive/{{EscapePound $.BranchName}}.bundle">{{svg "octicon-package"}} {{.i18n.Tr "repo.download_bundle"}}</a> | ||||
| 							</div> | ||||
| 						</button> | ||||
| 					</div> | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| // Use of this source code is governed by a MIT-style | ||||
| // license that can be found in the LICENSE file. | ||||
|  | ||||
| //go:build gofuzz | ||||
| // +build gofuzz | ||||
|  | ||||
| package fuzz | ||||
|   | ||||
		Reference in New Issue
	
	Block a user