{"id":13764121,"url":"https://github.com/shurcooL/gostatus","last_synced_at":"2025-05-10T17:31:41.958Z","repository":{"id":12144004,"uuid":"14737022","full_name":"shurcooL/gostatus","owner":"shurcooL","description":"A command line tool that shows the status of Go repositories.","archived":false,"fork":false,"pushed_at":"2023-11-26T05:22:27.000Z","size":105,"stargazers_count":244,"open_issues_count":1,"forks_count":10,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-05-06T03:58:42.297Z","etag":null,"topics":[],"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/shurcooL.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}},"created_at":"2013-11-27T04:06:35.000Z","updated_at":"2025-03-25T12:31:28.000Z","dependencies_parsed_at":"2024-01-08T16:08:58.854Z","dependency_job_id":null,"html_url":"https://github.com/shurcooL/gostatus","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shurcooL%2Fgostatus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shurcooL%2Fgostatus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shurcooL%2Fgostatus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shurcooL%2Fgostatus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shurcooL","download_url":"https://codeload.github.com/shurcooL/gostatus/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253453358,"owners_count":21911082,"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":[],"created_at":"2024-08-03T15:01:14.640Z","updated_at":"2025-05-10T17:31:41.637Z","avatar_url":"https://github.com/shurcooL.png","language":"Go","funding_links":[],"categories":["Code Analysis","代码分析","相关工具","Libraries for creating HTTP middlewares","相关工具`go相关工具和插件`"],"sub_categories":["Routers","路由器","代码分析","Middlewares","Contents"],"readme":"gostatus\n========\n\n[![Go Reference](https://pkg.go.dev/badge/github.com/shurcooL/gostatus.svg)](https://pkg.go.dev/github.com/shurcooL/gostatus)\n\ngostatus is a command line tool that shows the status of Go repositories.\n\nInstallation\n------------\n\n```sh\ngo install github.com/shurcooL/gostatus@latest\n```\n\nUsage\n-----\n\n```sh\nUsage: gostatus [flags] [packages]\n       [newline separated packages] | gostatus -stdin [flags]\n  -c\tCompact output with inline notation.\n  -debug\n    \tCause the repository data to be printed in verbose debug format.\n  -f\tForce not to verify that each package has been checked out from the source control repository implied by its import path. This can be useful if the source is a local fork of the original.\n  -stdin\n    \tRead the list of newline separated Go packages from stdin.\n  -v\tVerbose mode. Show all Go packages, not just ones with notable status.\n\nExamples:\n  # Show status of all packages.\n  gostatus all\n\n  # Show status of package in current directory.\n  gostatus\n\n  # Show status of all dependencies (recursive) of package in current dir.\n  go list -deps | gostatus -stdin -v\n\nLegend:\n  ? - Not under version control or unreachable remote\n  b - Non-default branch checked out\n  * - Uncommited changes in working dir\n  + - Update available\n  - - Local revision is ahead of remote revision\n  ± - Update available; local revision is ahead of remote revision\n  ! - No remote\n  / - Remote repository not found (was it deleted? made private?)\n  # - Remote path doesn't match import path\n  $ - Stash exists\n```\n\nExamples\n--------\n\n```sh\n# Show status of all packages.\n$ gostatus all\n\n# Show status of package in current directory.\n$ gostatus\n\n# Show status of specified package.\n$ gostatus import/path\n\n# Show status of all dependencies (recursive) of package in current dir.\n$ go list -deps | gostatus -stdin -v\n\n# Show status of all dependencies (recursive) of specified package.\n$ go list -deps import/path | gostatus -stdin -v\n```\n\nSample Output\n-------------\n\n```sh\n$ gostatus all\n  +  github.com/dchest/uniuri/...\n\t+ Update available\n  +  github.com/syndtr/goleveldb/...\n\t+ Update available\nb    github.com/shurcooL/go-goon/...\n\tb Non-default branch checked out\n *   github.com/shurcooL/Conception-go/...\n\t* Uncommited changes in working dir\n  #  github.com/russross/blackfriday/...\n\t# Remote path doesn't match import path\n   $ github.com/microcosm-cc/bluemonday/...\n\t$ Stash exists\n  /  github.com/go-forks/go-pkg-xmlx/...\n\t/ Remote repository not found (was it deleted? made private?):\n\t\tremote repository not found:\n\t\texit status 128: remote: Repository not found.\n\t\tfatal: repository 'https://github.com/go-forks/go-pkg-xmlx/' not found\n```\n\nThere are a few observations that can be made from that sample output.\n\n-\t`uniuri` and `goleveldb` repos are ***out of date***, I should update them via `go get -u`.\n-\t`go-goon` repo has a ***non-default*** branch checked out, I should be aware of that.\n-\t`Conception-go` repo has ***uncommited changes***. I should remember to commit or discard the changes.\n-\t`blackfriday` repo has a ***remote that doesn't match its import path***. It's likely my fork in place of the original repo for temporary development purposes.\n-\t`bluemonday` repo has a ***stash***. Perhaps I have some unfinished and uncommited work that I should take care of.\n-\t`go-pkg-xmlx` repo was ***not found***. Perhaps the repository was deleted or made private.\n-\tAll other repos are ***up to date*** and looking good (they're not displayed unless `-v` is used).\n\nDirectories\n-----------\n\n| Path                                                             | Synopsis                                                                                          |\n|------------------------------------------------------------------|---------------------------------------------------------------------------------------------------|\n| [status](https://pkg.go.dev/github.com/shurcooL/gostatus/status) | Package status provides a func to check if two repo URLs are equal in the context of Go packages. |\n\nLicense\n-------\n\n-\t[MIT License](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FshurcooL%2Fgostatus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FshurcooL%2Fgostatus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FshurcooL%2Fgostatus/lists"}