diff options
-rw-r--r-- | Git.hs | 19 | ||||
-rw-r--r-- | debian/changelog | 31 | ||||
-rw-r--r-- | debian/control | 2 |
3 files changed, 35 insertions, 17 deletions
@@ -547,36 +547,23 @@ configMap = config {- Efficiently looks up a gitattributes value for each file in a list. -} checkAttr :: Repo -> String -> [FilePath] -> IO [(FilePath, String)] checkAttr repo attr files = do - -- git check-attr wants files that are absolute (or relative to the - -- top of the repo). But we're passed files relative to the current - -- directory. Convert to absolute, and then convert the filenames - -- in its output back to relative. - cwd <- getCurrentDirectory - let top = workTree repo - let absfiles = map (absPathFrom cwd) files (_, fromh, toh) <- hPipeBoth "git" (toCommand params) _ <- forkProcess $ do hClose fromh - hPutStr toh $ join "\0" absfiles + hPutStr toh $ join "\0" files hClose toh exitSuccess hClose toh - s <- hGetContents fromh - return $ map (topair cwd top) $ lines s + (map topair . lines) <$> hGetContents fromh where params = gitCommandLine repo [Param "check-attr", Param attr, Params "-z --stdin"] - topair cwd top l = (relfile, value) + topair l = (file, value) where - relfile - | startswith cwd' file = drop (length cwd') file - | otherwise = relPathDirToFile top' file file = decodeGitFile $ join sep $ take end bits value = bits !! end end = length bits - 1 bits = split sep l sep = ": " ++ attr ++ ": " - cwd' = cwd ++ "/" - top' = top ++ "/" {- Some git commands output encoded filenames. Decode that (annoyingly - complex) encoding. -} diff --git a/debian/changelog b/debian/changelog index 9bcaa4046..85506655f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@ git-annex (3.20110929) UNRELEASED; urgency=low +<<<<<<< * Fix referring to remotes by uuid. * New or changed repository descriptions in uuid.log now have a timestamp, which is used to ensure the newest description is used when the uuid.log @@ -21,6 +22,36 @@ git-annex (3.20110929) UNRELEASED; urgency=low * Add locking to avoid races when changing the git-annex branch. * Various speed improvements gained by using ByteStrings. * Contain the zombie hordes. +======= + * This version of git-annex only works with git 1.7.7 and newer. + The breakage with old versions is subtle, and affects + annex.numcopies .gitattributes settings, so be sure to upgrade git + to 1.7.7. (Debian package now depends on that version.) + * Don't pass absolute paths to git show-attr, as it started following + symlinks when that's done in 1.7.7. Instead, use relative paths, + which show-attr only handles 100% correctly in 1.7.7. Closes: #645046 + * Various speed improvements gained by using ByteStrings. + * Fix referring to remotes by uuid. + * status: List all known repositories. + * When displaying a list of repositories, show git remote names + in addition to their descriptions. + * Contain the zombie hordes. + * Add locking to avoid races when changing the git-annex branch. + * New or changed repository descriptions in uuid.log now have a timestamp, + which is used to ensure the newest description is used when the uuid.log + has been merged. + * Note that older versions of git-annex will display the timestamp as part + of the repository description, which is ugly but otherwise harmless. + * Add timestamps to trust.log and remote.log too. + * git-annex-shell: Added the --uuid option. + * git-annex now asks git-annex-shell to verify that it's operating in + the expected repository. + * Note that this git-annex will not interoperate with remotes using + older versions of git-annex-shell. + * Now supports git's insteadOf configuration, to modify the url + used to access a remote. Note that pushInsteadOf is not used; + that and pushurl are reserved for actual git pushes. Closes: #644278 +>>>>>>> -- Joey Hess <joeyh@debian.org> Thu, 29 Sep 2011 18:58:53 -0400 diff --git a/debian/control b/debian/control index cb5a8212a..49f564fdb 100644 --- a/debian/control +++ b/debian/control @@ -29,7 +29,7 @@ Package: git-annex Architecture: any Section: utils Depends: ${misc:Depends}, ${shlibs:Depends}, - git | git-core, + git (>= 1:1.7.7), uuid, rsync, wget | curl, |