From ab9dd6d8a08a3d3119b4bdf64032a193ec784edb Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 13 Sep 2013 13:49:28 -0400 Subject: [PATCH] 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 d2e2cdc00a..b66b2fdfd8 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 0000000000..d42df98333 --- /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 514d84a2fa..8a92e70421 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