summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Annex/Direct.hs2
-rw-r--r--Git/FileMode.hs20
-rw-r--r--debian/changelog2
3 files changed, 23 insertions, 1 deletions
diff --git a/Annex/Direct.hs b/Annex/Direct.hs
index d2e2cdc00..b66b2fdfd 100644
--- a/Annex/Direct.hs
+++ b/Annex/Direct.hs
@@ -15,7 +15,7 @@ import qualified Git.DiffTree as DiffTree
import Git.Sha
import Git.Types
import Annex.CatFile
-import Utility.FileMode
+import Git.FileMode
import qualified Annex.Queue
import Logs.Location
import Backend
diff --git a/Git/FileMode.hs b/Git/FileMode.hs
new file mode 100644
index 000000000..d42df9833
--- /dev/null
+++ b/Git/FileMode.hs
@@ -0,0 +1,20 @@
+{- git file modes
+ -
+ - Copyright 2013 Joey Hess <joey@kitenet.net>
+ -
+ - Licensed under the GNU GPL version 3 or higher.
+ -}
+
+{-# LANGUAGE CPP #-}
+
+module Git.FileMode where
+
+import Utility.FileMode
+
+import System.PosixCompat.Types
+
+{- Git uses a special file mode to indicate a symlink. This is the case
+ - even on Windows, so we hard code the valuse here, rather than using
+ - System.Posix.Files.symbolicLinkMode. -}
+isSymLink :: FileMode -> Bool
+isSymLink = checkMode 40960
diff --git a/debian/changelog b/debian/changelog
index 514d84a2f..8a92e7042 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,6 +6,8 @@ git-annex (4.20130912) UNRELEASED; urgency=low
(Thanks, anarcat for display code and mastensg for inspiration.)
* fsck: Fix detection and fixing of present direct mode files that are
wrongly represented as standin symlinks on crippled filesystems.
+ * sync: Fix bug that caused direct mode mappings to not be updated
+ when merging files into the tree on Windows.
-- Joey Hess <joeyh@debian.org> Thu, 12 Sep 2013 12:14:46 -0400