From 7ca1389ca8a8786e7ddb3ae8954efbffb97a7713 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 13 Sep 2013 13:49:28 -0400 Subject: sync: Fix bug that caused direct mode mappings to not be updated when merging files into the tree on Windows. --- Annex/Direct.hs | 2 +- Git/FileMode.hs | 20 ++++++++++++++++++++ debian/changelog | 2 ++ 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 Git/FileMode.hs 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 + - + - 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 Thu, 12 Sep 2013 12:14:46 -0400 -- cgit v1.2.3