summaryrefslogtreecommitdiff
path: root/Branch.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Branch.hs')
-rw-r--r--Branch.hs13
1 files changed, 11 insertions, 2 deletions
diff --git a/Branch.hs b/Branch.hs
index ad9b805d0..e6896aa84 100644
--- a/Branch.hs
+++ b/Branch.hs
@@ -10,7 +10,8 @@ module Branch (
update,
get,
change,
- commit
+ commit,
+ shortref
) where
import Control.Monad (unless, when, liftM)
@@ -20,6 +21,7 @@ import System.Directory
import Data.String.Utils
import System.Cmd.Utils
import Data.Maybe
+import Data.List
import Types.BranchState
import qualified GitRepo as Git
@@ -37,6 +39,13 @@ name = "git-annex"
fullname :: String
fullname = "refs/heads/" ++ name
+shortref :: String -> String
+shortref = remove "refs/heads/" . remove "refs/remotes/"
+ where
+ remove prefix s
+ | prefix `isPrefixOf` s = drop (length prefix) s
+ | otherwise = s
+
{- A separate index file for the branch. -}
index :: Git.Repo -> FilePath
index g = Git.workTree g </> Git.gitDir g </> "index." ++ name
@@ -151,7 +160,7 @@ updateRef ref
if (null diffs)
then return Nothing
else do
- showSideAction $ "merging " ++ ref ++ " into " ++ name ++ "..."
+ showSideAction $ "merging " ++ shortref ref ++ " into " ++ name ++ "..."
-- By passing only one ref, it is actually
-- merged into the index, preserving any
-- changes that may already be staged.