aboutsummaryrefslogtreecommitdiffstats
path: root/examples/fs_implementation/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'examples/fs_implementation/main.go')
-rw-r--r--examples/fs_implementation/main.go118
1 files changed, 0 insertions, 118 deletions
diff --git a/examples/fs_implementation/main.go b/examples/fs_implementation/main.go
deleted file mode 100644
index e5d2851..0000000
--- a/examples/fs_implementation/main.go
+++ /dev/null
@@ -1,118 +0,0 @@
-package main
-
-import "fmt"
-
-func main() {
- fmt.Println("example to be fixed")
-}
-
-/*
-import (
- "fmt"
- "io"
- "io/ioutil"
- "os"
- "path/filepath"
- "strings"
-
- "gopkg.in/src-d/go-git.v4"
- "gopkg.in/src-d/go-git.v4/storage/filesystem"
- "gopkg.in/src-d/go-git.v4/utils/fs"
-)
-
-func main() {
- if len(os.Args) != 2 {
- usage()
- os.Exit(1)
- }
-
- fs := NewCustomFS(os.Args[1])
-
- s, err := filesystem.NewStorage(fs, ".git")
- if err != nil {
- fmt.Fprint(os.Stderr, err)
- os.Exit(1)
- }
-
- repo, err := git.NewRepository(s)
- if err != nil {
- fmt.Fprint(os.Stderr, err)
- os.Exit(1)
- }
-
- iter, err := repo.Commits()
- if err != nil {
- fmt.Fprint(os.Stderr, err)
- os.Exit(1)
- }
- defer iter.Close()
-
- for {
- commit, err := iter.Next()
- if err != nil {
- if err == io.EOF {
- break
- }
-
- fmt.Fprint(os.Stderr, err)
- os.Exit(1)
- }
-
- fmt.Println(commit)
- }
-}
-
-func usage() {
- fmt.Fprintf(os.Stderr, "%s <path to .git dir>", os.Args[0])
-}
-
-// A simple proxy filesystem example: It mimics local filesystems, using
-// 'base' as its root and a funny path separator ("--").
-//
-// Example: when constructed with 'newFS("tmp")', a path like 'foo--bar'
-// will represent the local path "/tmp/foo/bar".
-type CustomFS struct {
- base string
-}
-
-const separator = "--"
-
-func NewCustomFS(path string) *CustomFS {
- return &CustomFS{
- base: path,
- }
-}
-
-func (fs *CustomFS) Stat(path string) (info os.FileInfo, err error) {
- f, err := os.Open(fs.ToReal(path))
- if err != nil {
- return nil, err
- }
-
- defer func() {
- errClose := f.Close()
- if err == nil {
- err = errClose
- }
- }()
-
- return f.Stat()
-}
-
-func (fs *CustomFS) ToReal(path string) string {
- parts := strings.Split(path, separator)
- return filepath.Join(fs.base, filepath.Join(parts...))
-}
-
-func (fs *CustomFS) Open(path string) (fs.ReadSeekCloser, error) {
- return os.Open(fs.ToReal(path))
-}
-
-func (fs *CustomFS) ReadDir(path string) ([]os.FileInfo, error) {
- return ioutil.ReadDir(fs.ToReal(path))
-}
-
-func (fs *CustomFS) Join(elem ...string) string {
- return strings.Join(elem, separator)
-}
-*/