github.com/stffabi/git-lfs@v2.3.5-0.20180214015214-8eeaa8d88902+incompatible/lfsapi/netrc.go (about) 1 package lfsapi 2 3 import ( 4 "os" 5 "path/filepath" 6 7 "github.com/bgentry/go-netrc/netrc" 8 "github.com/git-lfs/git-lfs/config" 9 ) 10 11 type NetrcFinder interface { 12 FindMachine(string) *netrc.Machine 13 } 14 15 func ParseNetrc(osEnv config.Environment) (NetrcFinder, string, error) { 16 home, _ := osEnv.Get("HOME") 17 if len(home) == 0 { 18 return &noFinder{}, "", nil 19 } 20 21 nrcfilename := filepath.Join(home, netrcBasename) 22 if _, err := os.Stat(nrcfilename); err != nil { 23 return &noFinder{}, nrcfilename, nil 24 } 25 26 f, err := netrc.ParseFile(nrcfilename) 27 return f, nrcfilename, err 28 } 29 30 type noFinder struct{} 31 32 func (f *noFinder) FindMachine(host string) *netrc.Machine { 33 return nil 34 }