aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--worktree_linux.go1
-rw-r--r--worktree_windows.go20
2 files changed, 20 insertions, 1 deletions
diff --git a/worktree_linux.go b/worktree_linux.go
index 7209d7d..a33cd2f 100644
--- a/worktree_linux.go
+++ b/worktree_linux.go
@@ -12,7 +12,6 @@ import (
func init() {
fillSystemInfo = func(e *index.Entry, sys interface{}) {
if os, ok := sys.(*syscall.Stat_t); ok {
-
e.CreatedAt = time.Unix(int64(os.Ctim.Sec), int64(os.Ctim.Nsec))
e.Dev = uint32(os.Dev)
e.Inode = uint32(os.Ino)
diff --git a/worktree_windows.go b/worktree_windows.go
new file mode 100644
index 0000000..d59448e
--- /dev/null
+++ b/worktree_windows.go
@@ -0,0 +1,20 @@
+// +build windows
+
+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.Win32FileAttributeData); ok {
+ seconds := os.CreationTime.Nanoseconds() / 1000000000
+ nanoseconds := os.CreationTime.Nanoseconds() - seconds*1000000000
+ e.CreatedAt = time.Unix(seconds, nanoseconds)
+ }
+ }
+}