• Stars
    star
    141
  • Rank 259,971 (Top 6 %)
  • Language
    Go
  • Created over 9 years ago
  • Updated over 8 years ago

Reviews

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

Repository Details

Keep your Go package dependencies fresh. Console tool for checking and updating package dependencies (imports).

GoFresh

Build Status

Keep your Go package dependencies fresh. Console tool for checking and updating package dependencies (imports).

Introduction

GoFresh checks if there are any updates for imports in your package. It doesn't update packages, unless asked explicitly.

Demo

gofresh

Installation

Just run go get:

go get github.com/divan/gofresh

Usage

Simply invoke gofresh inside a directory containing Go source files and it will tell you if you have any updates for your imports.

gofresh

To check a package in your $GOPATH, you can specify the exact package by name:

gofresh golang.org/x/tools/go/vcs

By default, it shows first 3 commits, but you can expand commits list using -expand flag. See -help for more details.

$ gofresh -h
gofresh [-options]
gofresh [-options] [package(s)]
Options:
  -dry-run
		Dry run
  -expand
		Expand list of commits
  -f	Use force while updating packages
  -update
		Update all packages

Using -update flag you can update automatically all packages.

If you want to update them manually, use following flags to see the commands to invoke:

gofresh -update -dry-run

gofresh

Workflow

Typically, you simply invoke gofresh in your package dir to see what dependencies has been changed. Then you might want to see all new commits for the specific package and update it manually or update all automatically:

$ cd src/github.com/myusername/myproject/
$ gofresh
$ gofresh -expand github.com/howeyc/fsnotify
$ gofresh -update

gofresh

Using with vendoring tools

If you use vendoring tool, such as Godep, your workflow doesn't change much:

  • First, use gofresh to inspect updates and update if needed
  • Second, run godep save or similar to update vendor dir from your GOPATH
  • Commit update

Issues

  • No support for Bazaar & SVN (how to check new commits on them?)
  • Missing/failed repositories are not reported (no way to identify error from vcs.RepoRootForImportPath)
  • Subpackages from the same repo will be checked all anyway (TODO: optimize)

Alternatives

  • Go-Package-Store - displays updates for the Go packages in your GOPATH and shows with a nice Web UI.

License

This program is under WTFPL license

More Repositories

1

txqr

Transfer data via animated QR codes
Go
2,917
star
2

expvarmon

TermUI based monitor for Go apps using expvars (/debug/vars). Quickest way to monitor your Go app(s).
Go
2,017
star
3

gotrace

Concurrency tracer and visualizer for Go (Golang) programming language
JavaScript
1,960
star
4

gobenchui

UI for overview of your Golang package benchmarks progress.
Go
532
star
5

depscheck

Dependency checker for Golang (Go) packages. Prints stats and suggests to remove small LeftPad-like imports if any.
Go
428
star
6

txqr-reader

TXQR (Animated QR data transfer) demo reader app for iOS
Swift
92
star
7

gorilla-xmlrpc

Gorilla XML RPC implementation (Golang/Go)
Go
69
star
8

qrlogo

QR with logo overlay generator for Go (Golang)
Go
67
star
9

num2words

num2words - Numbers to words converter in Go (Golang)
Go
52
star
10

whispervis

Whisper p2p messaging visualizing and analysis tool
Go
42
star
11

goabm

Go ABM (Agent-Based Modelling) library
Go
26
star
12

graphx

Graph layout and display library.
Go
19
star
13

divan.github.io

Personal blog
JavaScript
19
star
14

go2nodebinding

Go 2 Node.js Addon C++ bindings generator
Go
13
star
15

psh

Пщ - комманд аліас фо Go
Go
12
star
16

blog

Personal blog sources
JavaScript
10
star
17

ankiqml

Anki QML
Python
8
star
18

txqr-tester-ios

iOS version of txqr-tester client
Swift
8
star
19

hackertyper

HackerTyper for Maemo/Harmattan
Python
6
star
20

qechoprint

Qt-based music identify app powered by EchoNest
C++
4
star
21

talks

JavaScript
3
star
22

wgames

WebOS Games Manager for Maemo
C
3
star
23

dotfiles

.dotfiles
Vim Script
3
star
24

errfreq

Disttribution of 'if err !=' checks per function counter
Go
3
star
25

hclust

Quick rewrite of Agglomerative hierarchical clustering for Node JS
Go
2
star
26

status_flutter

PoC of Flutter version of Status UI
Dart
2
star
27

qt-worldclock

WIP Simple Qt fullscreen worldclock app
QMake
2
star
28

kyivcity

Demo repository for working on documents
HTML
2
star
29

incognito

Incognito Color Scheme for Vim
Vim Script
2
star
30

simulation

Misc simulation code for p2p messaging protocols
Go
2
star
31

vkontakteqml

Vkontante QML client
JavaScript
2
star
32

locust2graphite

Send Locust metrics to Graphite
Go
2
star
33

dep-issue-example

Simple CGo program with .c files in src/, for dep issue demonstration.
Go
1
star
34

graph-experiments

Misc graph related experiments and snippets
JavaScript
1
star
35

interviews

Convert txt to xls for interviews
Go
1
star
36

skating.science

Skating.science website stub
HTML
1
star
37

go-gce-debug-demo

Demo project to test GCE Debugger for Go
Go
1
star
38

whisper-gopherjs

Demo POC of WhisperV6 encryption converted to JS using GopherJS
JavaScript
1
star
39

qml-screens

Screens implementation for QT-podcast contest
1
star
40

vecty-visibility-demo

Small vecty project to check visibilitychange event handler in vecty programs
JavaScript
1
star