diff --git a/.gitignore b/.gitignore index 76671bd..b8151a3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ -Gopkg.lock coverage.out rrh vendor diff --git a/Gopkg.lock b/Gopkg.lock new file mode 100644 index 0000000..48b25eb --- /dev/null +++ b/Gopkg.lock @@ -0,0 +1,292 @@ +# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. + + +[[projects]] + digest = "1:c47f4964978e211c6e566596ec6246c329912ea92e9bb99c00798bb4564c5b09" + name = "github.com/armon/go-radix" + packages = ["."] + pruneopts = "UT" + revision = "1a2de0c21c94309923825da3df33a4381872c795" + version = "v1.0.0" + +[[projects]] + digest = "1:1343a2963481a305ca4d051e84bc2abd16b601ee22ed324f8d605de1adb291b0" + name = "github.com/bgentry/speakeasy" + packages = ["."] + pruneopts = "UT" + revision = "4aabc24848ce5fd31929f7d1e4ea74d3709c14cd" + version = "v0.1.0" + +[[projects]] + digest = "1:6f9339c912bbdda81302633ad7e99a28dfa5a639c864061f1929510a9a64aa74" + name = "github.com/dustin/go-humanize" + packages = ["."] + pruneopts = "UT" + revision = "9f541cc9db5d55bce703bd99987c9d5cb8eea45e" + version = "v1.0.0" + +[[projects]] + digest = "1:b498b36dbb2b306d1c5205ee5236c9e60352be8f9eea9bf08186723a9f75b4f3" + name = "github.com/emirpasic/gods" + packages = [ + "containers", + "lists", + "lists/arraylist", + "trees", + "trees/binaryheap", + "utils", + ] + pruneopts = "UT" + revision = "1615341f118ae12f353cc8a983f35b584342c9b3" + version = "v1.12.0" + +[[projects]] + digest = "1:865079840386857c809b72ce300be7580cb50d3d3129ce11bf9aa6ca2bc1934a" + name = "github.com/fatih/color" + packages = ["."] + pruneopts = "UT" + revision = "5b77d2a35fb0ede96d138fc9a99f5c9b6aef11b4" + version = "v1.7.0" + +[[projects]] + digest = "1:0ade334594e69404d80d9d323445d2297ff8161637f9b2d347cc6973d2d6f05b" + name = "github.com/hashicorp/errwrap" + packages = ["."] + pruneopts = "UT" + revision = "8a6fb523712970c966eefc6b39ed2c5e74880354" + version = "v1.0.0" + +[[projects]] + digest = "1:f668349b83f7d779567c880550534addeca7ebadfdcf44b0b9c39be61864b4b7" + name = "github.com/hashicorp/go-multierror" + packages = ["."] + pruneopts = "UT" + revision = "886a7fbe3eb1c874d46f623bfa70af45f425b3d1" + version = "v1.0.0" + +[[projects]] + branch = "master" + digest = "1:62fe3a7ea2050ecbd753a71889026f83d73329337ada66325cbafd5dea5f713d" + name = "github.com/jbenet/go-context" + packages = ["io"] + pruneopts = "UT" + revision = "d14ea06fba99483203c19d92cfcd13ebe73135f4" + +[[projects]] + digest = "1:ae5f4d0779a45e2cb3075d8b3ece6c623e171407f4aac83521392ff06d188871" + name = "github.com/kevinburke/ssh_config" + packages = ["."] + pruneopts = "UT" + revision = "81db2a75821ed34e682567d48be488a1c3121088" + version = "0.5" + +[[projects]] + digest = "1:c658e84ad3916da105a761660dcaeb01e63416c8ec7bc62256a9b411a05fcd67" + name = "github.com/mattn/go-colorable" + packages = ["."] + pruneopts = "UT" + revision = "167de6bfdfba052fa6b2d3664c8f5272e23c9072" + version = "v0.0.9" + +[[projects]] + digest = "1:e150b5fafbd7607e2d638e4e5cf43aa4100124e5593385147b0a74e2733d8b0d" + name = "github.com/mattn/go-isatty" + packages = ["."] + pruneopts = "UT" + revision = "c2a7a6ca930a4cd0bc33a3f298eb71960732a3a7" + version = "v0.0.7" + +[[projects]] + digest = "1:dac0667a3fcdd4102a5da07abeddc89eb2f125b1e91af1ea9544c80eaff19c9a" + name = "github.com/mitchellh/cli" + packages = ["."] + pruneopts = "UT" + revision = "3d22a244be8aa6fb16ac24af0e195c08b7d973aa" + version = "v1.0.0" + +[[projects]] + digest = "1:5d231480e1c64a726869bc4142d270184c419749d34f167646baa21008eb0a79" + name = "github.com/mitchellh/go-homedir" + packages = ["."] + pruneopts = "UT" + revision = "af06845cf3004701891bf4fdb884bfe4920b3727" + version = "v1.1.0" + +[[projects]] + digest = "1:b2ee62e09bec113cf086d2ce0769efcc7bf79481aba8373fd8f7884e94df3462" + name = "github.com/pelletier/go-buffruneio" + packages = ["."] + pruneopts = "UT" + revision = "c37440a7cf42ac63b919c752ca73a85067e05992" + version = "v0.2.0" + +[[projects]] + digest = "1:57e168c6dfcc02c1c53bdf1589afbef59694d819cac65bfd3a855de2256d4950" + name = "github.com/posener/complete" + packages = [ + ".", + "cmd", + "cmd/install", + "match", + ] + pruneopts = "UT" + revision = "3ef9b31a6a0613ae832e7ecf208374027c3b2343" + version = "v1.2.1" + +[[projects]] + digest = "1:d917313f309bda80d27274d53985bc65651f81a5b66b820749ac7f8ef061fd04" + name = "github.com/sergi/go-diff" + packages = ["diffmatchpatch"] + pruneopts = "UT" + revision = "1744e2970ca51c86172c8190fadad617561ed6e7" + version = "v1.0.0" + +[[projects]] + digest = "1:e4ed0afd67bf7be353921665cdac50834c867ff1bba153efc0745b755a7f5905" + name = "github.com/src-d/gcfg" + packages = [ + ".", + "scanner", + "token", + "types", + ] + pruneopts = "UT" + revision = "1ac3a1ac202429a54835fe8408a92880156b489d" + version = "v1.4.0" + +[[projects]] + digest = "1:172f94a6b3644a8f9e6b5e5b7fc9fe1e42d424f52a0300b2e7ab1e57db73f85d" + name = "github.com/xanzy/ssh-agent" + packages = ["."] + pruneopts = "UT" + revision = "6a3e2ff9e7c564f36873c2e36413f634534f1c44" + version = "v0.2.1" + +[[projects]] + branch = "master" + digest = "1:064d74d9e136de7ce5c4a47ab251a887fb69e2ada13db9cce2687e54f8784596" + name = "golang.org/x/crypto" + packages = [ + "cast5", + "curve25519", + "ed25519", + "ed25519/internal/edwards25519", + "internal/chacha20", + "internal/subtle", + "openpgp", + "openpgp/armor", + "openpgp/elgamal", + "openpgp/errors", + "openpgp/packet", + "openpgp/s2k", + "poly1305", + "ssh", + "ssh/agent", + "ssh/knownhosts", + ] + pruneopts = "UT" + revision = "b7391e95e576cacdcdd422573063bc057239113d" + +[[projects]] + branch = "master" + digest = "1:76ee51c3f468493aff39dbacc401e8831fbb765104cbf613b89bef01cf4bad70" + name = "golang.org/x/net" + packages = ["context"] + pruneopts = "UT" + revision = "1272bf9dcd53ea65c09668fb4c76e65deb740072" + +[[projects]] + branch = "master" + digest = "1:51e9c8a64ecddbba456f24b2119aade9dc8e062fc6d10b30548f75f483e08b76" + name = "golang.org/x/sys" + packages = [ + "cpu", + "unix", + "windows", + ] + pruneopts = "UT" + revision = "f7bb7a8bee54210937e93ec56d007d892c1f0580" + +[[projects]] + digest = "1:866df945fc92cd221d2b384dca7de5f3131a6113b9f72a7a8019ae5046abe828" + name = "gopkg.in/src-d/go-billy.v4" + packages = [ + ".", + "helper/chroot", + "helper/polyfill", + "osfs", + "util", + ] + pruneopts = "UT" + revision = "982626487c60a5252e7d0b695ca23fb0fa2fd670" + version = "v4.3.0" + +[[projects]] + digest = "1:44801e4be7066a82dc7a7f608d31f99c5c0f5a65a0215b37401a5657ce52940d" + name = "gopkg.in/src-d/go-git.v4" + packages = [ + ".", + "config", + "internal/revision", + "internal/url", + "plumbing", + "plumbing/cache", + "plumbing/filemode", + "plumbing/format/config", + "plumbing/format/diff", + "plumbing/format/gitignore", + "plumbing/format/idxfile", + "plumbing/format/index", + "plumbing/format/objfile", + "plumbing/format/packfile", + "plumbing/format/pktline", + "plumbing/object", + "plumbing/protocol/packp", + "plumbing/protocol/packp/capability", + "plumbing/protocol/packp/sideband", + "plumbing/revlist", + "plumbing/storer", + "plumbing/transport", + "plumbing/transport/client", + "plumbing/transport/file", + "plumbing/transport/git", + "plumbing/transport/http", + "plumbing/transport/internal/common", + "plumbing/transport/server", + "plumbing/transport/ssh", + "storage", + "storage/filesystem", + "storage/filesystem/dotgit", + "storage/memory", + "utils/binary", + "utils/diff", + "utils/ioutil", + "utils/merkletrie", + "utils/merkletrie/filesystem", + "utils/merkletrie/index", + "utils/merkletrie/internal/frame", + "utils/merkletrie/noder", + ] + pruneopts = "UT" + revision = "db6c41c156481962abf9a55a324858674c25ab08" + version = "v4.10.0" + +[[projects]] + digest = "1:78d374b493e747afa9fbb2119687e3740a7fb8d0ebabddfef0a012593aaecbb3" + name = "gopkg.in/warnings.v0" + packages = ["."] + pruneopts = "UT" + revision = "ec4a0fea49c7b46c2aeb0b51aac55779c607e52b" + version = "v0.1.2" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + input-imports = [ + "github.com/dustin/go-humanize", + "github.com/mitchellh/cli", + "gopkg.in/src-d/go-git.v4", + "gopkg.in/src-d/go-git.v4/plumbing", + ] + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/Makefile b/Makefile index d6ffb38..80c2931 100644 --- a/Makefile +++ b/Makefile @@ -9,19 +9,17 @@ setup: go get golang.org/x/tools/cmd/goimports go get github.com/golang/dep/cmd/dep - go get github.com/mitchellh/cli - go get gopkg.in/src-d/go-git.v4 - go get github.com/dustin/go-humanize go get github.com/posener/complete/gocomplete go get golang.org/x/tools/cmd/cover go get github.com/mattn/goveralls + dep ensure -vendor-only + test: update go test -covermode=count -coverprofile=coverage.out $$(go list ./... | grep -v vendor) git checkout -- testdata update: setup - dep ensure git submodule update --init build: update test diff --git a/README.md b/README.md index 9c00a6a..c1adadd 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ [![Build Status](https://travis-ci.org/tamada/rrh.svg?branch=master)](https://travis-ci.org/tamada/rrh) [![Coverage Status](https://coveralls.io/repos/github/tamada/rrh/badge.svg?branch=master)](https://coveralls.io/github/tamada/rrh?branch=master) [![codebeat badge](https://codebeat.co/badges/15e04551-d448-4ad3-be1d-e98b1e586f1a)](https://codebeat.co/projects/github-com-tamada-rrh-master) +[![go report](https://goreportcard.com/badge/github.com/tamada/rrh)](https://goreportcard.com/report/github.com/tamada/rrh) [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) # RRH @@ -51,6 +52,18 @@ RRH is now growing. Please hack RRH itself. # Installation +## Homebrew + +Install rrh via [Homebrew](https://brew.sh), simply run: + +```sh +$ brew tap tamada/rrh +$ brew install rrh +``` + + +## Go lang + To install cli, simply run: ``` diff --git a/clone/clone_cmd.go b/clone/clone_cmd.go index 7cdb500..d04a5b6 100644 --- a/clone/clone_cmd.go +++ b/clone/clone_cmd.go @@ -28,7 +28,7 @@ Help function shows the help message. func (clone *CloneCommand) Help() string { return `rrh clone [OPTIONS] OPTIONS - -g, --group print managed repositories categoried in the group. + -g, --group print managed repositories categorized in the group. -d, --dest specify the destination. -v, --verbose verbose mode. ARGUMENTS diff --git a/clone/clone_test.go b/clone/clone_test.go index 6d9add6..345c7e6 100644 --- a/clone/clone_test.go +++ b/clone/clone_test.go @@ -154,7 +154,7 @@ func TestCloneNotGitRepository(t *testing.T) { func TestHelpAndSynopsis(t *testing.T) { var helpMessage = `rrh clone [OPTIONS] OPTIONS - -g, --group print managed repositories categoried in the group. + -g, --group print managed repositories categorized in the group. -d, --dest specify the destination. -v, --verbose verbose mode. ARGUMENTS diff --git a/common/database_test.go b/common/database_test.go index ff714ea..4ace030 100644 --- a/common/database_test.go +++ b/common/database_test.go @@ -151,7 +151,7 @@ func TestCreateRepository(t *testing.T) { t.Error(err1.Error()) } - var r2, err2 = db.CreateRepository("somerepo", "unknown", []Remote{Remote{"name1", "url1"}, Remote{"name2", "url2"}}) + var r2, err2 = db.CreateRepository("somerepo", "unknown", []Remote{{"name1", "url1"}, {"name2", "url2"}}) if r2 == nil && err2 != nil { t.Error("somerepo: cannot create repository") } @@ -265,9 +265,9 @@ func TestHasGroup(t *testing.T) { t.Error("rrh: no relation with no-group") } if db.HasRelation("unknown", "rrh") { - t.Error("rrh: unknown relatin found!") + t.Error("rrh: unknown relation found!") } if db.HasRelation("no-group", "unknown") { - t.Error("unknown relatin in no-group found!") + t.Error("unknown relation in no-group found!") } } diff --git a/common/util.go b/common/util.go index d68a008..dbe5edf 100644 --- a/common/util.go +++ b/common/util.go @@ -55,7 +55,7 @@ func Strftime(before time.Time, config *Config) string { } /* -CaptureStdout is refered from https://qiita.com/kami_zh/items/ff636f15da87dabebe6c. +CaptureStdout is referred from https://qiita.com/kami_zh/items/ff636f15da87dabebe6c. */ func CaptureStdout(f func()) (string, error) { r, w, err := os.Pipe() diff --git a/list/list_test.go b/list/list_test.go index f12a005..18df871 100644 --- a/list/list_test.go +++ b/list/list_test.go @@ -81,7 +81,7 @@ func TestFindResults(t *testing.T) { targets []string want []ListResult }{ - {[]string{"group1"}, []ListResult{ListResult{"group1", "desc1", []Repo{Repo{"repo1", "path1", []common.Remote{}}}}}}, + {[]string{"group1"}, []ListResult{ListResult{"group1", "desc1", []Repo{{"repo1", "path1", []common.Remote{}}}}}}, {[]string{"group2"}, []ListResult{ListResult{"group2", "desc2", []Repo{}}}}, }