{"id":13694317,"url":"https://github.com/rvflash/goup","last_synced_at":"2025-05-07T03:10:18.318Z","repository":{"id":45466522,"uuid":"236830299","full_name":"rvflash/goup","owner":"rvflash","description":"Checks if there are any updates for imports in your module.","archived":false,"fork":false,"pushed_at":"2025-02-01T08:32:21.000Z","size":217,"stargazers_count":39,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-31T05:41:28.442Z","etag":null,"topics":["golint","gomod","gotools"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rvflash.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-28T20:07:56.000Z","updated_at":"2025-02-01T08:29:06.000Z","dependencies_parsed_at":"2022-07-14T15:00:31.472Z","dependency_job_id":"5e015d16-aeb4-41b9-b6d0-575b6e988e2f","html_url":"https://github.com/rvflash/goup","commit_stats":null,"previous_names":["rvflash/gomod"],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rvflash%2Fgoup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rvflash%2Fgoup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rvflash%2Fgoup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rvflash%2Fgoup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rvflash","download_url":"https://codeload.github.com/rvflash/goup/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252804219,"owners_count":21806771,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golint","gomod","gotools"],"created_at":"2024-08-02T17:01:29.252Z","updated_at":"2025-05-07T03:10:18.298Z","avatar_url":"https://github.com/rvflash.png","language":"Go","funding_links":[],"categories":["开源类库","Open source library"],"sub_categories":["依赖管理","Dependency Management"],"readme":"# Go Up\n\n[![GoDoc](https://godoc.org/github.com/rvflash/goup?status.svg)](https://godoc.org/github.com/rvflash/goup)\n[![Build Status](https://github.com/rvflash/goup/workflows/build/badge.svg)](https://github.com/rvflash/goup/actions?workflow=build)\n[![Code Coverage](https://codecov.io/gh/rvflash/goup/branch/master/graph/badge.svg)](https://codecov.io/gh/rvflash/goup)\n[![Go Report Card](https://goreportcard.com/badge/github.com/rvflash/goup?)](https://goreportcard.com/report/github.com/rvflash/goup)\n\n\n`goup` checks if there are any updates for imports in your module.\nIt parses `go.mod` files to get dependencies with their version, uses [go-git](https://github.com/src-d/go-git) \nto retrieve the list of remote tags and performs comparisons to advise to update if necessary.\nThe main purpose is using it as a linter in continuous integration or in development process,\nbut you can also use it to keep updated the `go.mod` files, see the `-f` option.\n\n\n## Features\n\n1. No dependency. Pure Go tool designed to be used as a linter. Zero call to `go` or `git` command line tools.\n1. As `go.mod` uses the semantic versioning for module version, `goup` does the same and provides 3 modes: major, \nmajor+minor and by default, path. \n1. Takes care of each part of a mod file: `require`, `exclude` and `replace`.\n1. Allows the capacity to force some modules to only use release tag, no prerelease.\n1. Manages one or more `go.mod` files, for example with `./...` as parameter. \n1. As with go1.14, you can use the `GOINSECURE` environment variable to skip certificate validation and do\nnot require an HTTPS connection. Since version `v0.3.0`, `GOPRIVATE` has the same behavior. \n1. Can amend on demand `go.mod` files with deprecated dependencies to update them.\n1. Since version `v0.4.0`, a colorized output in a TTY. \n1. Allows to fetch Go modules from private repositories using `~/.netrc` file or `NETRC` environment variable (https://go.dev/doc/faq#git_https).\n\n\n## Demo\n\n```shell\n$ goup -v -m ./...\n$ goup: github.com/rvflash/goup: golang.org/x/mod v0.2.1-0.20200121190230-accd165b1659 is up to date\n$ goup: github.com/rvflash/goup: github.com/matryer/is v1.1.0 must be updated with v1.2.0\n$ goup: github.com/rvflash/goup: github.com/golang/mock v1.4.0 is up to date\n$ goup: github.com/rvflash/goup: gopkg.in/src-d/go-git.v4 v4.13.1 is up to date\n```\n\n## Installation\n\nIt's important to have reproducible CI, so it's recommended to install a specific version of `goup` available\non the [releases page](https://github.com/rvflash/goup/releases).\n\n\n### Go\n\n```shell\nGO111MODULE=on go get github.com/rvflash/goup@v0.4.3\n```\n\n### Docker\n\n```shell\ndocker run --rm -v $(pwd):/pkg rvflash/goup:latest goup -V\n```\n\n## Usage\n\n```shell\ngoup [flags] [modfiles]\n```\n\nThe `goup` command checks updates of any dependencies in the go.mod file.\nIt supports the following flags:\n\n* `-M`: ensures to have the latest major version. By default, only the path is challenged.\n* `-m`: ensures to have the latest couple major with minor version. By default, only the path is challenged.\n* `-V`: prints the version of the tool.\n* `-f`: force the update of the go.mod file as advised\n* `-i`: allows excluding indirect modules.\n* `-r`: it's a comma-separated list of glob patterns to match the repository paths where to force tag usage.\nFor example with `github.com/group/*` as value, any modules in this repository group must have a release tag,\nno prerelease. \n* `-s`: forces the process to exit on first error occurred.\n* `-t`: defines the maximum time duration to perform the check. By default, 10s. \n* `-v`: verbose output\n\n`[modfiles]` can be one or more direct path to `go.mod` files, `.` or `./...` to get all those in the tree.\n\nUsing example with an auto-signed local git repository:\n\n```shell\nGOINSECURE=\"gitlab.example.lan/*/*\" goup -v .\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frvflash%2Fgoup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frvflash%2Fgoup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frvflash%2Fgoup/lists"}