Windows: Fix an over-long temp directory name.

This commit is contained in:
Joey Hess 2016-05-06 12:49:41 -04:00
parent e08082ce72
commit c456833179
Failed to extract signature
4 changed files with 22 additions and 0 deletions

View file

@ -5,6 +5,8 @@
- Licensed under the GNU GPL version 3 or higher. - Licensed under the GNU GPL version 3 or higher.
-} -}
{-# LANGUAGE CPP #-}
module Annex.ReplaceFile where module Annex.ReplaceFile where
import Annex.Common import Annex.Common
@ -27,8 +29,17 @@ replaceFile :: FilePath -> (FilePath -> Annex ()) -> Annex ()
replaceFile file action = do replaceFile file action = do
misctmpdir <- fromRepo gitAnnexTmpMiscDir misctmpdir <- fromRepo gitAnnexTmpMiscDir
void $ createAnnexDirectory misctmpdir void $ createAnnexDirectory misctmpdir
#ifndef mingw32_HOST_OS
-- Use part of the filename as the template for the temp
-- directory. This does not need to be unique, but it
-- makes it more clear what this temp directory is for.
filemax <- liftIO $ fileNameLengthLimit misctmpdir filemax <- liftIO $ fileNameLengthLimit misctmpdir
let basetmp = take (filemax `div` 2) (takeFileName file) let basetmp = take (filemax `div` 2) (takeFileName file)
#else
-- Windows has limits on the whole path length, so keep
-- it short.
let basetmp = "t"
#endif
withTmpDirIn misctmpdir basetmp $ \tmpdir -> do withTmpDirIn misctmpdir basetmp $ \tmpdir -> do
let tmpfile = tmpdir </> basetmp let tmpfile = tmpdir </> basetmp
action tmpfile action tmpfile

1
debian/changelog vendored
View file

@ -13,6 +13,7 @@ git-annex (6.20160420) UNRELEASED; urgency=medium
* stack.yaml: Enable explicit-setup-deps. * stack.yaml: Enable explicit-setup-deps.
* Windows: Fix several bugs in propigation of changes from the adjusted * Windows: Fix several bugs in propigation of changes from the adjusted
branch back to the master branch. branch back to the master branch.
* Windows: Fix an over-long temp directory name.
* map: Hide dead repositories that are not connected to the graph. * map: Hide dead repositories that are not connected to the graph.
* map: Changed colors; red is used for untrusted repositories and grey * map: Changed colors; red is used for untrusted repositories and grey
for dead. for dead.

View file

@ -35,3 +35,5 @@ OS: Windows 10
### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders) ### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)
Yes, managing 30000 files, on operating systems other than Windows though... Yes, managing 30000 files, on operating systems other than Windows though...
> [[fixed|done]] --[[Joey]]

View file

@ -0,0 +1,8 @@
[[!comment format=mdwn
username="joey"
subject="""comment 1"""
date="2016-05-06T16:46:22Z"
content="""
Thanks for reporting this. I can't fix all the too long path problems
on windows currently, but I can fix this particular one at least.
"""]]