From 871c964ef7aaf70af5e9eab00a3d6642432b122a Mon Sep 17 00:00:00 2001 From: Thibault Meyer <0xbaadf00d@users.noreply.github.com> Date: Tue, 15 Nov 2016 16:24:08 +0100 Subject: [PATCH] Upgrade vendor "git" (#175) --- vendor/code.gitea.io/git/CONTRIBUTING.md | 162 ++++++++++++++++++ vendor/code.gitea.io/git/CONTRIBUTORS | 9 + vendor/code.gitea.io/git/DCO | 36 ++++ vendor/code.gitea.io/git/LICENSE | 5 +- vendor/code.gitea.io/git/MAINTAINERS | 10 ++ vendor/code.gitea.io/git/Makefile | 40 +++++ vendor/code.gitea.io/git/README.md | 19 +- vendor/code.gitea.io/git/hook.go | 4 +- vendor/code.gitea.io/git/repo_tag.go | 2 +- vendor/code.gitea.io/git/tree_entry.go | 23 ++- .../code.gitea.io/git/{utlis.go => utils.go} | 0 vendor/vendor.json | 6 +- 12 files changed, 295 insertions(+), 21 deletions(-) create mode 100644 vendor/code.gitea.io/git/CONTRIBUTING.md create mode 100644 vendor/code.gitea.io/git/CONTRIBUTORS create mode 100644 vendor/code.gitea.io/git/DCO create mode 100644 vendor/code.gitea.io/git/MAINTAINERS create mode 100644 vendor/code.gitea.io/git/Makefile rename vendor/code.gitea.io/git/{utlis.go => utils.go} (100%) diff --git a/vendor/code.gitea.io/git/CONTRIBUTING.md b/vendor/code.gitea.io/git/CONTRIBUTING.md new file mode 100644 index 0000000000..1609db2a8a --- /dev/null +++ b/vendor/code.gitea.io/git/CONTRIBUTING.md @@ -0,0 +1,162 @@ +# Contribution Guidelines + +## Introduction + +This document explains how to contribute changes to the Gitea +project. It assumes you have followed the [installation +instructions](https://github.com/go-gitea/docs/tree/master/en-US/installation) + +Sensitive security-related issues should be reported to +[security@gitea.io](mailto:security@gitea.io). + +## Bug reports + +Please search the issues on the issue tracker with a variety of keywords +to ensure your bug is not already reported. + +If unique, [open an issue](https://github.com/go-gitea/gitea/issues/new) +and answer the questions so we can understand and reproduce the +problematic behavior. + +The burden is on you to convince us that it is actually a bug +in Gitea. This is easiest to do when you write clear, concise +instructions so we can reproduce the behavior (even if it seems +obvious). The more detailed and specific you are, the faster +we will be able to help you. Check out [How to Report Bugs +Effectively](http://www.chiark.greenend.org.uk/~sgtatham/bugs.html). + +Please be kind, remember that Gitea comes at no cost to you, and you're +getting free help. + +## Discuss your design + +The project welcomes submissions but please let everyone know what +you're working on if you want to change or add something to the Gitea +repositories. + +Before starting to write something new for the Gitea project, please +[file an issue](https://github.com/go-gitea/gitea/issues/new). +Significant changes must go through the [change proposal +process](https://github.com/go-gitea/proposals) before they can be +accepted. + +This process gives everyone a chance to validate the design, helps +prevent duplication of effort, and ensures that the idea fits inside +the goals for the project and tools. It also checks that the design is +sound before code is written; the code review tool is not the place for +high-level discussions. + +## Testing redux + +Before sending code out for review, run all the tests for the whole +tree to make sure the changes don't break other usage and keep the +compatibility on upgrade: + +After running for a while, the command should print + +``` +ALL TESTS PASSED +``` + +## Code review + +Changes to Gitea must be reviewed before they are accepted, no matter +who makes the change even if an owners or a maintainer. We use github's +pull request workflow to do that and use [lgtm](http://lgtm.co) to ensure +every PR is reviewed by at least 2 maintainers. + +## Sign your work + +The sign-off is a simple line at the end of the explanation for the +patch. Your signature certifies that you wrote the patch or otherwise +have the right to pass it on as an open-source patch. The rules are +pretty simple: If you can certify [DCO](DCO), then you just add a line +to every git commit message: + +``` +Signed-off-by: Joe Smith +``` + +Please use your real name, we really dislike pseudonyms or anonymous +contributions. We are in the opensource world without secrets. If you +set your `user.name` and `user.email` git configs, you can sign your +commit automatically with `git commit -s`. + +## Contributors + +Everyone who sent a PR to Gitea that gets accepted will +be as a contributor. Please send a PR to add your name to +[CONTRIBUTORS](CONTRIBUTORS). For the format, see the +[CONTRIBUTORS](CONTRIBUTORS). + +## Maintainers + +To make sure every PR have been checked, we make a team maintainers. Any +PR MUST be reviewed and by at least two maintainers before it can +get merged. Maintainers should be a contributor of gitea(or gogs) and +contributed at least 4 accepted PRs. And a contributor should apply as a +maintainer in [gitter Gitea develop](https://gitter.im/go-gitea/develop). +And the owners or the team maintainer could invite the contributor. A +maintainer should spend some time on code reviews. If some maintainer +have no time to do that, he should apply to leave maintainers team and +we will give him an honor to be as a member of advisor team. Of course, +if an advisor have time to code view, welcome it back to maintainers team. +If some one have no time to code view and forget to leave the maintainers, +the owners have the power to move him from maintainers team to advisors +team. + +## Owners + +Since Gitea is a pure community organization without any company +support, to keep the development healthly We will elect the owners every +year. Every time we will elect three owners. All the contributers could +vote for three owners, one is the main owner, the other two are assistant +owners. When the new owners have been elected, the old owners MUST move +the power to the new owners. If some owner don't obey these rules, +the other owners are allowed to revoke his owner status. + +After the election, the new owners should say he agrees with these +rules on the [CONTRIBUTING](CONTRIBUTING.md) on the [Gitter Gitea +Channel](https://gitter.im/go-gitea/gitea). Below is the word to speak + +``` +I'm glad to be an owner of Gitea, +I agree with [CONTRIBUTING](CONTRIBUTING.md). +I will spend part of my time on gitea +and lead the development of gitea. +``` + +For a honor to the owners, this document will add the history owners +below: + +2016-11-04 ~ 2017-12-31 + +- lunny +- tboerger +- bkcsoft + +## Versions + +Gitea has one master as a tip branch and have many version branch +such as v0.9. v0.9 is a release branch and we will tag v0.9.0 both for +binary download. If v0.9.0 have some bugs, we will accept PR on v0.9 +and publish v0.9.1 and merge bug PR to master. + +Branch master is a tip version, so if you wish a production usage, +please download the latest release tag version. All the branch will be +protected via github, All the PRs to all the branches should be review +by two maintainers and pass the automatic tests. + +## Copyright + +Code that you contribute should use the standard copyright header: + +``` +// Copyright 2016 - 2017 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. +``` + +Files in the repository are copyright the year they are added and the +year they are last changed. If the copyright author is changed, just +copy the head below the old one. diff --git a/vendor/code.gitea.io/git/CONTRIBUTORS b/vendor/code.gitea.io/git/CONTRIBUTORS new file mode 100644 index 0000000000..65db519453 --- /dev/null +++ b/vendor/code.gitea.io/git/CONTRIBUTORS @@ -0,0 +1,9 @@ +Andrey Nering (@andreynering) +Kim Carlbäcker (@bkcsoft) +LefsFlare (@LefsFlarey) +Lunny Xiao (@lunny) +Rachid Zarouali (@xinity) +Rémy Boulanouar (@DblK) +Sandro Santilli (@strk) +Thibault Meyer (@0xbaadf00d) +Thomas Boerger (@tboerger) diff --git a/vendor/code.gitea.io/git/DCO b/vendor/code.gitea.io/git/DCO new file mode 100644 index 0000000000..716561d5d2 --- /dev/null +++ b/vendor/code.gitea.io/git/DCO @@ -0,0 +1,36 @@ +Developer Certificate of Origin +Version 1.1 + +Copyright (C) 2004, 2006 The Linux Foundation and its contributors. +660 York Street, Suite 102, +San Francisco, CA 94110 USA + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + + +Developer's Certificate of Origin 1.1 + +By making a contribution to this project, I certify that: + +(a) The contribution was created in whole or in part by me and I + have the right to submit it under the open source license + indicated in the file; or + +(b) The contribution is based upon previous work that, to the best + of my knowledge, is covered under an appropriate open source + license and I have the right under that license to submit that + work with modifications, whether created in whole or in part + by me, under the same open source license (unless I am + permitted to submit under a different license), as indicated + in the file; or + +(c) The contribution was provided directly to me by some other + person who certified (a), (b) or (c) and I have not modified + it. + +(d) I understand and agree that this project and the contribution + are public and that a record of the contribution (including all + personal information I submit with it, including my sign-off) is + maintained indefinitely and may be redistributed consistent with + this project or the open source license(s) involved. diff --git a/vendor/code.gitea.io/git/LICENSE b/vendor/code.gitea.io/git/LICENSE index 176d8dfe01..10aeba46bc 100644 --- a/vendor/code.gitea.io/git/LICENSE +++ b/vendor/code.gitea.io/git/LICENSE @@ -1,4 +1,5 @@ -Copyright (c) 2015 All Gogs Contributors +Copyright (c) 2016 The Gitea Authors +Copyright (c) 2014 The Gogs Authors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -16,4 +17,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file +THE SOFTWARE. diff --git a/vendor/code.gitea.io/git/MAINTAINERS b/vendor/code.gitea.io/git/MAINTAINERS new file mode 100644 index 0000000000..9a54274d77 --- /dev/null +++ b/vendor/code.gitea.io/git/MAINTAINERS @@ -0,0 +1,10 @@ +Andrey Nering (@andreynering) +Kim Carlbäcker (@bkcsoft) +LefsFlare (@LefsFlarey) +Lunny Xiao (@lunny) +Matthias Loibl (@metalmatze) +Rachid Zarouali (@xinity) +Rémy Boulanouar (@DblK) +Sandro Santilli (@strk) +Thibault Meyer (@0xbaadf00d) +Thomas Boerger (@tboerger) diff --git a/vendor/code.gitea.io/git/Makefile b/vendor/code.gitea.io/git/Makefile new file mode 100644 index 0000000000..04fb8f5875 --- /dev/null +++ b/vendor/code.gitea.io/git/Makefile @@ -0,0 +1,40 @@ +IMPORT := code.gitea.io/git + +PACKAGES ?= $(shell go list ./... | grep -v /vendor/) +GENERATE ?= code.gitea.io/git + +.PHONY: all +all: clean test build + +.PHONY: clean +clean: + go clean -i ./... + +generate: + @which mockery > /dev/null; if [ $$? -ne 0 ]; then \ + go get -u github.com/vektra/mockery/...; \ + fi + go generate $(GENERATE) + +.PHONY: fmt +fmt: + go fmt $(PACKAGES) + +.PHONY: vet +vet: + go vet $(PACKAGES) + +.PHONY: lint +lint: + @which golint > /dev/null; if [ $$? -ne 0 ]; then \ + go get -u github.com/golang/lint/golint; \ + fi + for PKG in $(PACKAGES); do golint -set_exit_status $$PKG || exit 1; done; + +.PHONY: test +test: + for PKG in $(PACKAGES); do go test -cover -coverprofile $$GOPATH/src/$$PKG/coverage.out $$PKG || exit 1; done; + +.PHONY: build +build: + go build . diff --git a/vendor/code.gitea.io/git/README.md b/vendor/code.gitea.io/git/README.md index b9e34bcf02..677d865ce0 100644 --- a/vendor/code.gitea.io/git/README.md +++ b/vendor/code.gitea.io/git/README.md @@ -1,13 +1,16 @@ -# Git Shell [![Build # Status](https://travis-ci.org/go-gitea/git.svg?branch=master)](https://travis-ci.org/go-gitea/git) +# Git Shell -Package git is a Go module for Git access through shell commands. +[![Build Status](http://drone.gitea.io/api/badges/go-gitea/git/status.svg)](http://drone.gitea.io/go-gitea/git) +[![Join the chat at https://gitter.im/go-gitea/gitea](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/go-gitea/gitea?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[![](https://images.microbadger.com/badges/image/gitea/gitea.svg)](http://microbadger.com/images/gitea/gitea "Get your own image badge on microbadger.com") +[![Coverage Status](https://coverage.gitea.io/badges/go-gitea/git/coverage.svg)](https://coverage.gitea.io/go-gitea/git) +[![Go Report Card](https://goreportcard.com/badge/code.gitea.io/git)](https://goreportcard.com/report/code.gitea.io/git) +[![GoDoc](https://godoc.org/code.gitea.io/git?status.svg)](https://godoc.org/code.gitea.io/git) -## Limitations - -- Go version must be at least **1.3**. -- Git version must be no less than **1.7.1**, and great than or equal to **1.8.0** is recommended. -- For Windows users, try use as higher version as possible. +This project is a Go module to access Git through shell commands. For further +informations take a look at the current [documentation](https://godoc.org/code.gitea.io/git). ## License -This project is under the MIT License. See the [LICENSE](LICENSE) file for the full license text. +This project is under the MIT License. See the [LICENSE](LICENSE) file for the +full license text. diff --git a/vendor/code.gitea.io/git/hook.go b/vendor/code.gitea.io/git/hook.go index 20da99392a..086bf7126d 100644 --- a/vendor/code.gitea.io/git/hook.go +++ b/vendor/code.gitea.io/git/hook.go @@ -102,13 +102,13 @@ func ListHooks(repoPath string) (_ []*Hook, err error) { } const ( - HOOK_PATH_UPDATE = "hooks/update" + HookPathUpdate = "hooks/update" ) // SetUpdateHook writes given content to update hook of the reposiotry. func SetUpdateHook(repoPath, content string) (err error) { log("Setting update hook: %s", repoPath) - hookPath := path.Join(repoPath, HOOK_PATH_UPDATE) + hookPath := path.Join(repoPath, HookPathUpdate) if com.IsExist(hookPath) { err = os.Remove(hookPath) } else { diff --git a/vendor/code.gitea.io/git/repo_tag.go b/vendor/code.gitea.io/git/repo_tag.go index b69bbf8b37..6a92f3c8b0 100644 --- a/vendor/code.gitea.io/git/repo_tag.go +++ b/vendor/code.gitea.io/git/repo_tag.go @@ -110,7 +110,7 @@ func (repo *Repository) GetTags() ([]string, error) { version.Sort(tags) // Reverse order - for i := 0; i < len(tags) / 2; i++ { + for i := 0; i < len(tags)/2; i++ { j := len(tags) - i - 1 tags[i], tags[j] = tags[j], tags[i] } diff --git a/vendor/code.gitea.io/git/tree_entry.go b/vendor/code.gitea.io/git/tree_entry.go index 17adf0ac1b..caad405a25 100644 --- a/vendor/code.gitea.io/git/tree_entry.go +++ b/vendor/code.gitea.io/git/tree_entry.go @@ -8,6 +8,7 @@ import ( "fmt" "path" "path/filepath" + "runtime" "sort" "strconv" "strings" @@ -114,19 +115,31 @@ type commitInfo struct { err error } -// GetCommitsInfo takes advantages of concurrey to speed up getting information -// of all commits that are corresponding to these entries. -// TODO: limit max goroutines number should be configurable +// GetCommitsInfo takes advantages of concurrency to speed up getting information +// of all commits that are corresponding to these entries. This method will automatically +// choose the right number of goroutine (concurrency) to use related of the host CPU. func (tes Entries) GetCommitsInfo(commit *Commit, treePath string) ([][]interface{}, error) { + return tes.GetCommitsInfoWithCustomConcurrency(commit, treePath, 0) +} + +// GetCommitsInfoWithCustomConcurrency takes advantages of concurrency to speed up getting information +// of all commits that are corresponding to these entries. If the given maxConcurrency is negative or +// equal to zero: the right number of goroutine (concurrency) to use will be choosen related of the +// host CPU. +func (tes Entries) GetCommitsInfoWithCustomConcurrency(commit *Commit, treePath string, maxConcurrency int) ([][]interface{}, error) { if len(tes) == 0 { return nil, nil } + if maxConcurrency <= 0 { + maxConcurrency = runtime.NumCPU() + } + // Length of taskChan determines how many goroutines (subprocesses) can run at the same time. // The length of revChan should be same as taskChan so goroutines whoever finished job can // exit as early as possible, only store data inside channel. - taskChan := make(chan bool, 10) - revChan := make(chan commitInfo, 10) + taskChan := make(chan bool, maxConcurrency) + revChan := make(chan commitInfo, maxConcurrency) doneChan := make(chan error) // Receive loop will exit when it collects same number of data pieces as tree entries. diff --git a/vendor/code.gitea.io/git/utlis.go b/vendor/code.gitea.io/git/utils.go similarity index 100% rename from vendor/code.gitea.io/git/utlis.go rename to vendor/code.gitea.io/git/utils.go diff --git a/vendor/vendor.json b/vendor/vendor.json index 168db86051..14feb1ee26 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -3,10 +3,10 @@ "ignore": "test", "package": [ { - "checksumSHA1": "/JuXxX+Zg9lk3zvT9c82ltavFdk=", + "checksumSHA1": "X4WaxEtgFkM4VHg6TcNk2xkrqCI=", "path": "code.gitea.io/git", - "revision": "cddfff06fa8ed36571d43c1463ea63b3e6e8244b", - "revisionTime": "2016-11-12T10:50:26Z" + "revision": "0807b517283977be34f0ff5510b21e676fc1527c", + "revisionTime": "2016-11-13T14:20:52Z" }, { "checksumSHA1": "/uhZZppDeb3Rbp3h8C0ALR3hdrA=",