From 252b5d240274e99eec8a63e4906b54f097c5f693 Mon Sep 17 00:00:00 2001 From: ricci2511 Date: Thu, 6 Jul 2023 18:18:38 +0200 Subject: *: Handle paths starting with tilde --- repository.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'repository.go') diff --git a/repository.go b/repository.go index dd822a5..168303f 100644 --- a/repository.go +++ b/repository.go @@ -322,8 +322,16 @@ func PlainOpenWithOptions(path string, o *PlainOpenOptions) (*Repository, error) } func dotGitToOSFilesystems(path string, detect bool) (dot, wt billy.Filesystem, err error) { - if path, err = filepath.Abs(path); err != nil { - return nil, nil, err + if strings.HasPrefix(path, "~/") { + home, err := os.UserHomeDir() + if err != nil { + return nil, nil, err + } + path = filepath.Join(home, path[2:]) + } else { + if path, err = filepath.Abs(path); err != nil { + return nil, nil, err + } } var fs billy.Filesystem -- cgit