• Stars
    star
    244
  • Rank 165,858 (Top 4 %)
  • Language
    Go
  • License
    MIT License
  • Created almost 11 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A command line tool that shows the status of Go repositories.

gostatus

Go Reference

gostatus is a command line tool that shows the status of Go repositories.

Installation

go install github.com/shurcooL/gostatus@latest

Usage

Usage: gostatus [flags] [packages]
       [newline separated packages] | gostatus -stdin [flags]
  -c	Compact output with inline notation.
  -debug
    	Cause the repository data to be printed in verbose debug format.
  -f	Force 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.
  -stdin
    	Read the list of newline separated Go packages from stdin.
  -v	Verbose mode. Show all Go packages, not just ones with notable status.

Examples:
  # Show status of all packages.
  gostatus all

  # Show status of package in current directory.
  gostatus

  # Show status of all dependencies (recursive) of package in current dir.
  go list -deps | gostatus -stdin -v

Legend:
  ? - Not under version control or unreachable remote
  b - Non-default branch checked out
  * - Uncommited changes in working dir
  + - Update available
  - - Local revision is ahead of remote revision
  ± - Update available; local revision is ahead of remote revision
  ! - No remote
  / - Remote repository not found (was it deleted? made private?)
  # - Remote path doesn't match import path
  $ - Stash exists

Examples

# Show status of all packages.
$ gostatus all

# Show status of package in current directory.
$ gostatus

# Show status of specified package.
$ gostatus import/path

# Show status of all dependencies (recursive) of package in current dir.
$ go list -deps | gostatus -stdin -v

# Show status of all dependencies (recursive) of specified package.
$ go list -deps import/path | gostatus -stdin -v

Sample Output

$ gostatus all
  +  github.com/dchest/uniuri/...
	+ Update available
  +  github.com/syndtr/goleveldb/...
	+ Update available
b    github.com/shurcooL/go-goon/...
	b Non-default branch checked out
 *   github.com/shurcooL/Conception-go/...
	* Uncommited changes in working dir
  #  github.com/russross/blackfriday/...
	# Remote path doesn't match import path
   $ github.com/microcosm-cc/bluemonday/...
	$ Stash exists
  /  github.com/go-forks/go-pkg-xmlx/...
	/ Remote repository not found (was it deleted? made private?):
		remote repository not found:
		exit status 128: remote: Repository not found.
		fatal: repository 'https://github.com/go-forks/go-pkg-xmlx/' not found

There are a few observations that can be made from that sample output.

  • uniuri and goleveldb repos are out of date, I should update them via go get -u.
  • go-goon repo has a non-default branch checked out, I should be aware of that.
  • Conception-go repo has uncommited changes. I should remember to commit or discard the changes.
  • 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.
  • bluemonday repo has a stash. Perhaps I have some unfinished and uncommited work that I should take care of.
  • go-pkg-xmlx repo was not found. Perhaps the repository was deleted or made private.
  • All other repos are up to date and looking good (they're not displayed unless -v is used).

Directories

Path Synopsis
status Package status provides a func to check if two repo URLs are equal in the context of Go packages.

License

More Repositories

1

githubv4

Package githubv4 is a client library for accessing GitHub GraphQL API v4 (https://docs.github.com/en/graphql).
Go
1,118
star
2

vfsgen

Takes an input http.FileSystem (likely at go generate time) and generates Go code that statically implements it.
Go
982
star
3

Go-Package-Store

An app that displays updates for the Go packages in your GOPATH.
Go
899
star
4

markdownfmt

Like gofmt, but for Markdown.
Go
796
star
5

graphql

Package graphql provides a GraphQL client implementation.
Go
702
star
6

goexec

A command line tool to execute Go functions.
Go
374
star
7

github_flavored_markdown

GitHub Flavored Markdown renderer with fenced code block highlighting, clickable header anchor links.
Go
159
star
8

binstale

binstale tells you whether the binaries in your GOPATH/bin are stale or up to date.
Go
146
star
9

go

Common Go code.
Go
127
star
10

home

home is Dmitri Shuralyov's personal website.
Go
76
star
11

httpfs

Collection of Go packages for working with the http.FileSystem interface.
Go
62
star
12

Hover

A work-in-progress source port of Hover.
C++
59
star
13

eX0

Unfinished multiplayer tactical 2D shooter indie game.
C++
50
star
14

git-branches

git-branches prints the commit behind/ahead counts for branches.
Go
42
star
15

play

Short experimental programs for playing with and learning new things. No importable Go packages here.
JavaScript
38
star
16

gtdo

The source for gotools.org.
Go
36
star
17

tictactoe

Package tictactoe defines the game of tic-tac-toe.
Go
31
star
18

sanitized_anchor_name

Package sanitized_anchor_name provides a func to create sanitized anchor names.
Go
27
star
19

httpgzip

Package httpgzip provides net/http-like primitives that use gzip compression when serving HTTP requests.
Go
24
star
20

issuesapp

Package issuesapp is a web frontend for an issues service.
Go
23
star
21

godecl

A godecl experiment. Like cdecl, but for Go.
Go
20
star
22

cmd

Various small command-line utilities.
Go
18
star
23

frontend

Common frontend code.
HTML
13
star
24

notifications

Package notifications provides a notifications service definition.
Go
11
star
25

issues

Package issues provides an issues service definition.
Go
11
star
26

resume

resume is Dmitri Shuralyov's résumé.
Go
9
star
27

highlight_go

Syntax highlighter for Go, using go/scanner.
Go
8
star
28

octicon

Package octicon provides GitHub Octicons.
Go
8
star
29

webdavfs

Collection of Go packages for working with the webdav.FileSystem interface.
Go
8
star
30

notificationsapp

Package notificationsapp is a web frontend for a notifications service.
Go
8
star
31

events

Package events provides an events service definition.
Go
7
star
32

ivybrowser

A port of Rob Pike's ivy that runs in the browser.
Go
7
star
33

SLA

Service-level agreement for Go packages.
6
star
34

gofontwoff

Package gofontwoff provides the Go font family in Web Open Font Format.
CSS
5
star
35

vcsstate

Package vcsstate allows getting the state of version control system repositories.
Go
5
star
36

htmlg

Package for generating and rendering HTML nodes with context-aware escaping.
Go
5
star
37

reactions

Package reactions provides a reactions service definition.
HTML
3
star
38

highlight_diff

Syntax highlighter for diff format, with inner diff highlighting.
Go
2
star
39

users

Package users provides a users service definition.
Go
2
star
40

httperror

Package httperror provides common basic building blocks for custom HTTP frameworks.
Go
1
star