aboutsummaryrefslogtreecommitdiffstats
path: root/examples/storage/main.go
diff options
context:
space:
mode:
authorMáximo Cuadros <mcuadros@gmail.com>2016-12-12 15:50:03 +0100
committerGitHub <noreply@github.com>2016-12-12 15:50:03 +0100
commit3967812bd0de40330dfbb9e1a7d14d4073cc1b10 (patch)
treedbd5df2a66bdd50df40fd773e1d1ec284483ecfe /examples/storage/main.go
parent6f701ecc18909959364b708b8efddd03cf4e809c (diff)
downloadgo-git-3967812bd0de40330dfbb9e1a7d14d4073cc1b10.tar.gz
examples: review, testing and documentation (#176)
* examples reviews, testing and documentation * including the execution on travis, and fix readme * fix example link * including the execution on travis
Diffstat (limited to 'examples/storage/main.go')
-rw-r--r--examples/storage/main.go41
1 files changed, 12 insertions, 29 deletions
diff --git a/examples/storage/main.go b/examples/storage/main.go
index d85f8e9..b047e43 100644
--- a/examples/storage/main.go
+++ b/examples/storage/main.go
@@ -6,29 +6,29 @@ import (
"strings"
"gopkg.in/src-d/go-git.v4"
+ . "gopkg.in/src-d/go-git.v4/examples"
"gopkg.in/src-d/go-git.v4/examples/storage/aerospike"
driver "github.com/aerospike/aerospike-client-go"
- "github.com/fatih/color"
)
func main() {
- checkArgs()
+ CheckArgs("<clone|log>", "<url>")
action := os.Args[1]
url := os.Args[2]
// Aerospike client to be used by the custom storage
client, err := driver.NewClient("127.0.0.1", 3000)
- checkIfError(err)
+ CheckIfError(err)
// New instance of the custom aerospike storage, all the objects,
// references and configuration is saved to aerospike
s, err := aerospike.NewStorage(client, "test", url)
- checkIfError(err)
+ CheckIfError(err)
// A new repository instance using as storage the custom implementation
r, err := git.NewRepository(s)
- checkIfError(err)
+ CheckIfError(err)
switch action {
case "clone":
@@ -43,24 +43,23 @@ func main() {
func clone(r *git.Repository, url string) {
// Clone the given repository, all the objects, references and
// configuration sush as remotes, are save into the Aerospike database.
- // > git clone <url>
- color.Blue("git clone %s", url)
+ Info("git clone %s", url)
+
err := r.Clone(&git.CloneOptions{URL: url})
- checkIfError(err)
+ CheckIfError(err)
}
func log(r *git.Repository) {
// Prints the history of the repository starting in the current HEAD, the
// objects are retrieved from Aerospike database.
- // > git log --oneline
- color.Blue("git log --oneline")
+ Info("git log --oneline")
ref, err := r.Head()
- checkIfError(err)
+ CheckIfError(err)
commit, err := r.Commit(ref.Hash())
- checkIfError(err)
+ CheckIfError(err)
commits, err := commit.History()
- checkIfError(err)
+ CheckIfError(err)
for _, c := range commits {
hash := c.Hash.String()
@@ -68,19 +67,3 @@ func log(r *git.Repository) {
fmt.Println(hash[:7], line[0])
}
}
-
-func checkIfError(err error) {
- if err == nil {
- return
- }
-
- color.Red("error: %s", err)
- os.Exit(1)
-}
-
-func checkArgs() {
- if len(os.Args) < 3 {
- color.Cyan("Usage: %s <clone|log> <url>", os.Args[0])
- os.Exit(1)
- }
-}