GithubHelp home page GithubHelp logo

go-gitea / git Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gogs/git-module

49.0 16.0 42.0 1.23 MB

A Go module for Git access through shell

Home Page: http://gitea.io

License: MIT License

Go 86.36% Makefile 0.82% Roff 0.42% Shell 12.41%
gitea git

git's Issues

500 error: slice bounds out of range

Hello folks, I am using gitea version 1.6.3, I am getting the following error when accessing one of the directories in a repo, and not other directories:

ian 22 19:13:51 evo gitea[9633]: [Macaron] 2019-01-22 19:13:51: Started GET /vampi/v68/src/branch/master/musashi for 79.115.174.215
ian 22 19:13:51 evo gitea[9633]: [Macaron] PANIC: runtime error: slice bounds out of range
ian 22 19:13:51 evo gitea[9633]: /usr/local/go/src/runtime/panic.go:513 (0x42ebd8)
ian 22 19:13:51 evo gitea[9633]: /usr/local/go/src/runtime/panic.go:54 (0x42db49)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/code.gitea.io/git/commit_info.go:166 (0x7334a6)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/code.gitea.io/git/commit_info.go:270 (0x733dc9)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/code.gitea.io/git/commit_info.go:222 (0x73398a)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/code.gitea.io/git/commit_info.go:123 (0x732ca6)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/routers/repo/view.go:53 (0xf26423)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/routers/repo/view.go:347 (0xf2ad9e)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/routers/repo/view.go:287 (0xf2a5ff)
ian 22 19:13:51 evo gitea[9633]: /usr/local/go/src/runtime/asm_amd64.s:522 (0x45d55a)
ian 22 19:13:51 evo gitea[9633]: /usr/local/go/src/reflect/value.go:447 (0x4c5078)
ian 22 19:13:51 evo gitea[9633]: /usr/local/go/src/reflect/value.go:308 (0x4c4b13)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/github.com/go-macaron/inject/inject.go:177 (0x7ebe33)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/github.com/go-macaron/inject/inject.go:137 (0x7eb799)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/gopkg.in/macaron.v1/context.go:121 (0x819920)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/gopkg.in/macaron.v1/context.go:112 (0x81983e)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/github.com/go-macaron/session/session.go:188 (0x86d5de)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/gopkg.in/macaron.v1/context.go:79 (0x8197c0)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/github.com/go-macaron/inject/inject.go:157 (0x7ebb20)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/github.com/go-macaron/inject/inject.go:135 (0x7eb88b)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/gopkg.in/macaron.v1/context.go:121 (0x819920)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/gopkg.in/macaron.v1/context.go:112 (0x81983e)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/gopkg.in/macaron.v1/recovery.go:161 (0x82a5fa)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/gopkg.in/macaron.v1/logger.go:40 (0x81cac3)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/github.com/go-macaron/inject/inject.go:157 (0x7ebb20)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/github.com/go-macaron/inject/inject.go:135 (0x7eb88b)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/gopkg.in/macaron.v1/context.go:121 (0x819920)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/gopkg.in/macaron.v1/context.go:112 (0x81983e)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/gopkg.in/macaron.v1/logger.go:52 (0x829910)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/gopkg.in/macaron.v1/logger.go:40 (0x81cac3)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/github.com/go-macaron/inject/inject.go:157 (0x7ebb20)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/github.com/go-macaron/inject/inject.go:135 (0x7eb88b)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/gopkg.in/macaron.v1/context.go:121 (0x819920)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/gopkg.in/macaron.v1/router.go:187 (0x82b7f4)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/gopkg.in/macaron.v1/router.go:303 (0x82514e)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/gopkg.in/macaron.v1/macaron.go:220 (0x81ddb1)
ian 22 19:13:51 evo gitea[9633]: /go/src/code.gitea.io/gitea/vendor/github.com/gorilla/context/context.go:141 (0xb90e3a)
ian 22 19:13:51 evo gitea[9633]: /usr/local/go/src/net/http/server.go:1964 (0x6bcb43)
ian 22 19:13:51 evo gitea[9633]: /usr/local/go/src/net/http/server.go:2741 (0x6bf83a)
ian 22 19:13:51 evo gitea[9633]: /usr/local/go/src/net/http/server.go:1847 (0x6bbba5)
ian 22 19:13:51 evo gitea[9633]: /usr/local/go/src/runtime/asm_amd64.s:1333 (0x45f270)
ian 22 19:13:51 evo gitea[9633]: [Macaron] 2019-01-22 19:13:51: Completed GET /vampi/v68/src/branch/master/musashi 500 Internal Server Error in 64.814769ms

GetCommitsInfo mishandles merge commits

GetCommitInfos does not properly handle merge commits. In some cases, it will only traverse one parent of a merge commit. If this happens, it may reach the initial commit without finding a match for some entries. This could result in either an infinite loop, or a 500 (bad revision <hash>^).

I'm hoping to have a fix soon.

'tagger' value should be assigned to both Author and Committer probably

In cat-file output, regular commits have following keys:

author (one who wrote code and sent diff content)
committer (one who commited that code to repo or merged PR)

Tag commits have one key: tagger (which corresponds to user who made new tag)

Now, in repo_commit.go, function parseCommitData, tagger is assigned to commit.Author, and commit.Committer stays nil.

I think, for better compatibility, tagger should be assigned to both commit.Author and commit.Committer, because in this case tagger is both author of tag and committer of this tag.

This would also solve go-gitea/gitea#4961 issue when signatures are verified against Committer field, but Committer field is just nil for tag commit.

IsRepoURLAccessible creates interactive prompt

Hi,

I'm using your git module and ran into an issue. I use IsRepoURLAccessible and with a non-existing repository from github e.g. https://github.com/rikvdh/non-existing.git, I get a prompt on the command-line Username for 'https://github.com':

For server applications this is not desirable, probably it requires some Git configuration since the function is pretty straight-forward. Any ideas?

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/41787172-isrepourlaccessible-creates-interactive-prompt?utm_campaign=plugin&utm_content=tracker%2F47809898&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F47809898&utm_medium=issues&utm_source=github).

Gitea crashes in "code.gitea.io/git/commit_info.go:218 +0x288"

I have a self-hosted gitea instance (currently v1.4.2) where I'm trying to import all my old git repositories. However, I found one that can crash the gitea instance when accessing it through the Web interface:

Jun 18 18:15:51 example.com gitea[13177]: [Macaron] 2018-06-18 18:15:51: Started GET /gentoo for 192.168.10.71
Jun 18 18:15:51 example.com gitea[13177]: [Macaron] 2018-06-18 18:15:51: Completed GET /gentoo 200 OK in 12.11036ms
Jun 18 18:15:54 example.com gitea[13177]: [Macaron] 2018-06-18 18:15:54: Started GET /gentoo/linuxmonk-legacy for 192.168.10.71                                
Jun 18 18:15:54 example.com gitea[13177]: panic: runtime error: slice bounds out of range
Jun 18 18:15:54 example.com gitea[13177]: goroutine 523 [running]:
Jun 18 18:15:54 example.com gitea[13177]: code.gitea.io/gitea/vendor/code.gitea.io/git.newSignatureFromCommitline(0xc4209f4c65, 0x2f, 0x59b, 0x6, 0xffffffffffffffff, 0x6)
Jun 18 18:15:54 example.com gitea[13177]:         /var/tmp/portage/www-apps/gitea-1.4.2/work/gitea-1.4.2/src/code.gitea.io/gitea/vendor/code.gitea.io/git/signature.go:35 +0x460 
Jun 18 18:15:54 example.com gitea[13177]: code.gitea.io/gitea/vendor/code.gitea.io/git.parseCommitData(0xc4209f4c00, 0x103, 0x600, 0xc4209f4c00, 0x103, 0x600) 
Jun 18 18:15:54 example.com gitea[13177]:         /var/tmp/portage/www-apps/gitea-1.4.2/work/gitea-1.4.2/src/code.gitea.io/gitea/vendor/code.gitea.io/git/repo_commit.go:69 +0x347
Jun 18 18:15:54 example.com gitea[13177]: code.gitea.io/gitea/vendor/code.gitea.io/git.(*Repository).getCommit(0xc420bd7d20, 0x16c4d394af667a84, 0xd430b22f4b726107, 0xd430b22f92755719, 0x92755719, 0x0, 0x0)
Jun 18 18:15:54 example.com gitea[13177]:         /var/tmp/portage/www-apps/gitea-1.4.2/work/gitea-1.4.2/src/code.gitea.io/gitea/vendor/code.gitea.io/git/repo_commit.go:113 +0x370
Jun 18 18:15:54 example.com gitea[13177]: code.gitea.io/gitea/vendor/code.gitea.io/git.targetedSearch(0xc420c04550, 0xc421860c00)
Jun 18 18:15:54 example.com gitea[13177]:         /var/tmp/portage/www-apps/gitea-1.4.2/work/gitea-1.4.2/src/code.gitea.io/gitea/vendor/code.gitea.io/git/commit_info.go:93 +0x1fa
Jun 18 18:15:54 example.com gitea[13177]: created by code.gitea.io/gitea/vendor/code.gitea.io/git.getCommitsInfo
Jun 18 18:15:54 example.com gitea[13177]:         /var/tmp/portage/www-apps/gitea-1.4.2/work/gitea-1.4.2/src/code.gitea.io/gitea/vendor/code.gitea.io/git/commit_info.go:218 +0x288

This only happens with this individual repository, so there must be somehow an issue with parsing the git metadata. A regular git client can handle the repository without issue.

I could reproduce the issue on try.gitea.io where I created the commitsegv repository a few minutes ago. If you want to check the logs: Jun 19, 2018 ~08:10h CEST.

The git repository which is able to crash gitea is also available here. To reproduce the bug, enter the URL in a new gitea migrate screen and after the repository is migrated, try to access the Web interface.

If you need more information, please let me know.

gitea 1.6.3 and 1.7 throws no error if the repositories dir doesn't have write permissions

Hello, I have struggled to get gitea working, I had stopped when pushing, right after the Total 489 (delta 214), reused 0 (delta 0) line, it was stalling. I tried looking in the logs but there was no error or anything, so it took me a few hours to figure it out, but the repositories directory wasn't owned by the same user as the gitea executable was running as.

Please add some sort of warning for users who might struggle with this.

I guess to reproduce, you'd chown root:root the repositories directory and try to do a push. For me, it was also a new repository, and I was pushing an existing repository with existing commits. I don't know if that makes a difference or not.

Thanks, cheers.

Test Failures in Debian Build Environment

I'm attempting to build this package for inclusion in Debian so that we can get closer to Gitea being in the Debian repos. I'm, however, having some troubles. During the build, one of the tests fail. I haven't been able to figure out why and my Golang skills are a bit lacking so I was hoping I could reach out for some help here.

The build is running in a pretty typical pbuilder environment and generating this error:

root@forge:/tmp/buildd/golang-code.gitea-git-0.0~git20170321.0.5b41327# go test -run TestBlob_Data
--- FAIL: TestBlob_Data (0.00s)
        Error Trace:    blob_test.go:44
        Error:          Received unexpected error exit status 128 - fatal: Not a git repository (or any of the parent directories): .git

        Error Trace:    blob_test.go:45
        Error:          Expected value not to be nil.

panic: runtime error: invalid memory address or nil pointer dereference [recovered]
        panic: runtime error: invalid memory address or nil pointer dereference [recovered]
        panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x4aade4] 

goroutine 18 [running]:
panic(0x658140, 0xc420010130)
        /usr/lib/go-1.7/src/runtime/panic.go:500 +0x1a1
testing.tRunner.func1(0xc4201840c0)
        /usr/lib/go-1.7/src/testing/testing.go:579 +0x25d
panic(0x658140, 0xc420010130)
        /usr/lib/go-1.7/src/runtime/panic.go:458 +0x243
io/ioutil.readAll.func1(0xc420045e90)
        /usr/lib/go-1.7/src/io/ioutil/ioutil.go:30 +0x13e
panic(0x658140, 0xc420010130)
        /usr/lib/go-1.7/src/runtime/panic.go:458 +0x243
bytes.(*Buffer).ReadFrom(0xc420034df0, 0x0, 0x0, 0xc42018e200, 0x0, 0x200)
        /usr/lib/go-1.7/src/bytes/buffer.go:176 +0x134
io/ioutil.readAll(0x0, 0x0, 0x200, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/lib/go-1.7/src/io/ioutil/ioutil.go:33 +0x147
io/ioutil.ReadAll(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/lib/go-1.7/src/io/ioutil/ioutil.go:42 +0x3e
_/tmp/buildd/golang-code%2egitea-git-0%2e0~git20170321%2e0%2e5b41327.TestBlob_Data(0xc4201840c0)
        /tmp/buildd/golang-code.gitea-git-0.0~git20170321.0.5b41327/blob_test.go:47 +0x11b
testing.tRunner(0xc4201840c0, 0x6c7508)
        /usr/lib/go-1.7/src/testing/testing.go:610 +0x81
created by testing.(*T).Run
        /usr/lib/go-1.7/src/testing/testing.go:646 +0x2ec
exit status 2
FAIL    _/tmp/buildd/golang-code.gitea-git-0.0~git20170321.0.5b41327    0.011s

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Make the linter happy

Currently we get a lot of issues with the linter, we should fix that.

# make lint
for PKG in code.gitea.io/git; do golint -set_exit_status $PKG || exit 1; done;
/Users/thomas/.golang/src/code.gitea.io/git/blob.go:28:1: exported method Blob.DataPipeline should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/command.go:43:7: don't use ALL_CAPS in Go names; use CamelCase
/Users/thomas/.golang/src/code.gitea.io/git/command.go:43:7: exported const DEFAULT_TIMEOUT should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/command.go:109:1: comment on exported method Command.RunInDirBytes should be of the form "RunInDirBytes ..."
/Users/thomas/.golang/src/code.gitea.io/git/commit.go:42:35: exported method ParentID returns unexported type git.sha1, which can be annoying to use
/Users/thomas/.golang/src/code.gitea.io/git/commit.go:76:1: exported method Commit.IsImageFile should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/commit.go:98:1: comment on exported function AddChanges should be of the form "AddChanges ..."
/Users/thomas/.golang/src/code.gitea.io/git/commit.go:108:6: exported type CommitChangesOptions should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/commit.go:169:1: exported method Commit.CommitsCount should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/commit.go:173:1: exported method Commit.CommitsByRange should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/commit.go:177:1: exported method Commit.CommitsBefore should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/commit.go:181:1: exported method Commit.CommitsBeforeLimit should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/commit.go:185:1: exported method Commit.CommitsBeforeUntil should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/commit.go:193:1: exported method Commit.SearchCommits should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/commit.go:197:1: exported method Commit.GetFilesChangedSinceCommit should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/commit.go:201:1: exported method Commit.GetSubModules should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/commit.go:201:35: exported method GetSubModules returns unexported type *git.objectCache, which can be annoying to use
/Users/thomas/.golang/src/code.gitea.io/git/commit.go:239:1: exported method Commit.GetSubModule should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/commit_archive.go:13:6: exported type ArchiveType should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/commit_archive.go:16:2: exported const ZIP should have comment (or a comment on this block) or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/commit_archive.go:20:1: exported method Commit.CreateArchive should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/error.go:12:6: exported type ErrExecTimeout should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/error.go:16:1: exported function IsErrExecTimeout should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/error.go:25:6: exported type ErrNotExist should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/error.go:30:1: exported function IsErrNotExist should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/error.go:39:6: exported type ErrUnsupportedVersion should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/error.go:43:1: exported function IsErrUnsupportedVersion should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/git.go:13:7: don't use ALL_CAPS in Go names; use CamelCase
/Users/thomas/.golang/src/code.gitea.io/git/git.go:15:1: exported function Version should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/git.go:23:2: exported var Prefix should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/git.go:41:1: comment on exported function BinVersion should be of the form "BinVersion ..."
/Users/thomas/.golang/src/code.gitea.io/git/hook.go:25:2: exported var ErrNotValidHook should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/hook.go:73:1: exported method Hook.Name should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/hook.go:105:2: exported const HookPathUpdate should have comment (or a comment on this block) or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/repo.go:25:7: don't use ALL_CAPS in Go names; use CamelCase
/Users/thomas/.golang/src/code.gitea.io/git/repo.go:35:9: range var commitId should be commitID
/Users/thomas/.golang/src/code.gitea.io/git/repo.go:83:6: exported type CloneRepoOptions should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/repo.go:121:6: exported type PullRemoteOptions should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/repo.go:156:6: exported type CheckoutOptions should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/repo_branch.go:14:7: don't use ALL_CAPS in Go names; use CamelCase
/Users/thomas/.golang/src/code.gitea.io/git/repo_branch.go:14:7: exported const BRANCH_PREFIX should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/repo_branch.go:27:1: exported method Repository.IsBranchExist should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/repo_branch.go:84:1: comment on exported type DeleteBranchOptions should be of the form "DeleteBranchOptions ..." (with optional leading article)
/Users/thomas/.golang/src/code.gitea.io/git/repo_commit.go:145:1: exported method Repository.GetTagCommit should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/repo_commit.go:186:5: exported var CommitsRangeSize should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/repo_commit.go:213:1: exported method Repository.FileCommitsCount should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/repo_commit.go:217:1: exported method Repository.CommitsByFileAndRange should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/repo_commit.go:226:1: exported method Repository.FilesCountBetween should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/repo_commit.go:269:1: exported method Repository.CommitsBetweenIDs should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/repo_commit.go:281:1: exported method Repository.CommitsCountBetween should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/repo_hook.go:7:1: exported method Repository.GetHook should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/repo_hook.go:11:1: exported method Repository.Hooks should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/repo_object.go:7:6: exported type ObjectType should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/repo_object.go:10:2: don't use ALL_CAPS in Go names; use CamelCase
/Users/thomas/.golang/src/code.gitea.io/git/repo_object.go:10:2: exported const OBJECT_COMMIT should have comment (or a comment on this block) or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/repo_object.go:11:2: don't use ALL_CAPS in Go names; use CamelCase
/Users/thomas/.golang/src/code.gitea.io/git/repo_object.go:12:2: don't use ALL_CAPS in Go names; use CamelCase
/Users/thomas/.golang/src/code.gitea.io/git/repo_object.go:13:2: don't use ALL_CAPS in Go names; use CamelCase
/Users/thomas/.golang/src/code.gitea.io/git/repo_tag.go:13:7: don't use ALL_CAPS in Go names; use CamelCase
/Users/thomas/.golang/src/code.gitea.io/git/repo_tag.go:13:7: exported const TAG_PREFIX should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/repo_tag.go:20:1: exported method Repository.IsTagExist should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/repo_tag.go:24:1: exported method Repository.CreateTag should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/repo_tree.go:19:1: comment on exported method Repository.GetTree should be of the form "GetTree ..."
/Users/thomas/.golang/src/code.gitea.io/git/sha1.go:13:7: don't use ALL_CAPS in Go names; use CamelCase
/Users/thomas/.golang/src/code.gitea.io/git/sha1.go:13:7: exported const EMPTY_SHA should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/sha1.go:48:1: receiver name s should be consistent with previous receiver name id for sha1
/Users/thomas/.golang/src/code.gitea.io/git/sha1.go:59:23: exported func MustID returns unexported type git.sha1, which can be annoying to use
/Users/thomas/.golang/src/code.gitea.io/git/sha1.go:68:23: exported func NewID returns unexported type git.sha1, which can be annoying to use
/Users/thomas/.golang/src/code.gitea.io/git/sha1.go:76:33: exported func MustIDFromString returns unexported type git.sha1, which can be annoying to use
/Users/thomas/.golang/src/code.gitea.io/git/sha1.go:82:33: exported func NewIDFromString returns unexported type git.sha1, which can be annoying to use
/Users/thomas/.golang/src/code.gitea.io/git/submodule.go:9:6: exported type SubModule should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/submodule.go:22:1: exported function NewSubModuleFile should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/submodule.go:67:10: if block ends with a return statement, so drop this else and outdent its block
/Users/thomas/.golang/src/code.gitea.io/git/tag.go:20:1: exported method Tag.Commit should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/tree.go:25:1: exported function NewTree should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/tree.go:110:1: exported method Tree.SubTree should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/tree_blob.go:12:1: exported method Tree.GetTreeEntryByPath should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/tree_blob.go:46:1: exported method Tree.GetBlobByPath should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/tree_entry.go:17:6: exported type EntryMode should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/tree_entry.go:22:2: don't use ALL_CAPS in Go names; use CamelCase
/Users/thomas/.golang/src/code.gitea.io/git/tree_entry.go:23:2: don't use ALL_CAPS in Go names; use CamelCase
/Users/thomas/.golang/src/code.gitea.io/git/tree_entry.go:24:2: don't use ALL_CAPS in Go names; use CamelCase
/Users/thomas/.golang/src/code.gitea.io/git/tree_entry.go:25:2: don't use ALL_CAPS in Go names; use CamelCase
/Users/thomas/.golang/src/code.gitea.io/git/tree_entry.go:26:2: don't use ALL_CAPS in Go names; use CamelCase
/Users/thomas/.golang/src/code.gitea.io/git/tree_entry.go:29:6: exported type TreeEntry should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/tree_entry.go:44:1: exported method TreeEntry.Name should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/tree_entry.go:48:1: exported method TreeEntry.Size should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/tree_entry.go:65:1: exported method TreeEntry.IsSubModule should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/tree_entry.go:69:1: exported method TreeEntry.IsDir should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/tree_entry.go:73:1: exported method TreeEntry.Blob should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/tree_entry.go:80:6: exported type Entries should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/tree_entry.go:108:1: exported method Entries.Sort should have comment or be unexported
/Users/thomas/.golang/src/code.gitea.io/git/utlis.go:83:1: exported function RefEndName should have comment or be unexported
Found 93 lint suggestions; failing.
make: *** [lint] Error 1

Feature question

I am needing to be able to easily manage git repository but also fork them make changes and push them.

With standard git CLI there is a pretty standard song and dance to go through for the maintainer and the contributor.

So I figured why not wrap up this flow as a golang tool and get some commonality amount teams.

Is this a reasonable use case to built on top of this lib ?


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.