aboutsummaryrefslogtreecommitdiffstats
path: root/worktree_plan9.go
diff options
context:
space:
mode:
authorMáximo Cuadros <mcuadros@gmail.com>2020-03-09 23:55:25 +0100
committerGitHub <noreply@github.com>2020-03-09 23:55:25 +0100
commit18a858b38ca4197987a6da7058ab0397255fa82c (patch)
treee3ed8f892f54ee09af0eb9b829357e2409d4e9fb /worktree_plan9.go
parent17dbd886616f82be2a59c0d02fd93d3d69f2392c (diff)
parentcbc339b60d5b25ad2b2685de4303f78d0efa51fe (diff)
downloadgo-git-18a858b38ca4197987a6da7058ab0397255fa82c.tar.gz
Merge pull request #1 from go-git/pr-1269
*: add Plan 9 support
Diffstat (limited to 'worktree_plan9.go')
-rw-r--r--worktree_plan9.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/worktree_plan9.go b/worktree_plan9.go
new file mode 100644
index 0000000..16d3915
--- /dev/null
+++ b/worktree_plan9.go
@@ -0,0 +1,31 @@
+package git
+
+import (
+ "syscall"
+ "time"
+
+ "gopkg.in/src-d/go-git.v4/plumbing/format/index"
+)
+
+func init() {
+ fillSystemInfo = func(e *index.Entry, sys interface{}) {
+ if os, ok := sys.(*syscall.Dir); ok {
+ // Plan 9 doesn't have a CreatedAt field.
+ e.CreatedAt = time.Unix(int64(os.Mtime), 0)
+
+ e.Dev = uint32(os.Dev)
+
+ // Plan 9 has no Inode.
+ // ext2srv(4) appears to store Inode in Qid.Path.
+ e.Inode = uint32(os.Qid.Path)
+
+ // Plan 9 has string UID/GID
+ e.GID = 0
+ e.UID = 0
+ }
+ }
+}
+
+func isSymlinkWindowsNonAdmin(err error) bool {
+ return true
+}