diff options
Diffstat (limited to 'examples/progress/main.go')
-rw-r--r-- | examples/progress/main.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/examples/progress/main.go b/examples/progress/main.go new file mode 100644 index 0000000..e0e4c1d --- /dev/null +++ b/examples/progress/main.go @@ -0,0 +1,32 @@ +package main + +import ( + "os" + + "gopkg.in/src-d/go-git.v4" + . "gopkg.in/src-d/go-git.v4/examples" +) + +func main() { + CheckArgs("<url>", "<directory>") + url := os.Args[1] + directory := os.Args[2] + + r, err := git.NewFilesystemRepository(directory) + CheckIfError(err) + + // as git does, when you make a clone, pull or some other operations, the + // server sends information via the sideband, this information can being + // collected provinding a io.Writer to the repository + r.Progress = os.Stdout + + // Clone the given repository to the given directory + Info("git clone %s %s", url, directory) + + err = r.Clone(&git.CloneOptions{ + URL: url, + Depth: 1, + }) + + CheckIfError(err) +} |