diff options
-rw-r--r-- | Annex/Transfer.hs | 4 | ||||
-rw-r--r-- | CmdLine/Seek.hs | 3 | ||||
-rw-r--r-- | Messages.hs | 14 | ||||
-rw-r--r-- | Types/Messages.hs | 5 | ||||
-rw-r--r-- | debian/changelog | 4 | ||||
-rw-r--r-- | doc/bugs/Assistant_removed_all_references_to_files.mdwn | 3 | ||||
-rw-r--r-- | doc/bugs/Windows_build_has_hardcoded_paths.mdwn | 14 | ||||
-rw-r--r-- | doc/bugs/__39__git_annex_get__39___returns_success_when_file_not_found.mdwn | 4 | ||||
-rw-r--r-- | doc/bugs/cotinually_prompting_for_gpg_passphrase.mdwn | 12 | ||||
-rw-r--r-- | doc/bugs/too_many_open_files_on_OSX.mdwn | 4 | ||||
-rw-r--r-- | doc/install/Windows.mdwn | 3 |
11 files changed, 47 insertions, 23 deletions
diff --git a/Annex/Transfer.hs b/Annex/Transfer.hs index 448b5b3d7..d33d3073b 100644 --- a/Annex/Transfer.hs +++ b/Annex/Transfer.hs @@ -85,7 +85,9 @@ runTransfer' ignorelock t file shouldretry a = do locked <- catchMaybeIO $ setLock fd (WriteLock, AbsoluteSeek, 0, 0) if isNothing locked - then return (Nothing, True) + then do + closeFd fd + return (Nothing, True) else do void $ tryIO $ writeTransferInfoFile info tfile return (mfd, False) diff --git a/CmdLine/Seek.hs b/CmdLine/Seek.hs index 431b2e118..397a48118 100644 --- a/CmdLine/Seek.hs +++ b/CmdLine/Seek.hs @@ -189,10 +189,9 @@ seekHelper :: ([FilePath] -> Git.Repo -> IO ([FilePath], IO Bool)) -> [FilePath] seekHelper a params = do ll <- inRepo $ \g -> runSegmentPaths (\fs -> Git.Command.leaveZombie <$> a fs g) params - {- Show warnings only for files/directories that do not exist. -} forM_ (map fst $ filter (null . snd) $ zip params ll) $ \p -> unlessM (isJust <$> liftIO (catchMaybeIO $ getSymbolicLinkStatus p)) $ - fileNotFound p + error $ p ++ " not found" return $ concat ll notSymlink :: FilePath -> IO Bool diff --git a/Messages.hs b/Messages.hs index f27755f3a..3ffa14814 100644 --- a/Messages.hs +++ b/Messages.hs @@ -25,7 +25,6 @@ module Messages ( showErr, warning, warningIO, - fileNotFound, indent, maybeShowJSON, showFullJSON, @@ -45,7 +44,6 @@ import System.Log.Logger import System.Log.Formatter import System.Log.Handler (setFormatter, LogHandler) import System.Log.Handler.Simple -import qualified Data.Set as S import Common hiding (handle) import Types @@ -172,18 +170,6 @@ warningIO w = do hFlush stdout hPutStrLn stderr w -{- Displays a warning one time about a file the user specified not existing. -} -fileNotFound :: FilePath -> Annex () -fileNotFound file = do - st <- Annex.getState Annex.output - let shown = fileNotFoundShown st - when (S.notMember file shown) $ do - let shown' = S.insert file shown - let st' = st { fileNotFoundShown = shown' } - Annex.changeState $ \s -> s { Annex.output = st' } - liftIO $ hPutStrLn stderr $ unwords - [ "git-annex:", file, "not found" ] - indent :: String -> String indent = intercalate "\n" . map (\l -> " " ++ l) . lines diff --git a/Types/Messages.hs b/Types/Messages.hs index 4fcce79f8..2196028e3 100644 --- a/Types/Messages.hs +++ b/Types/Messages.hs @@ -7,8 +7,6 @@ module Types.Messages where -import qualified Data.Set as S - data OutputType = NormalOutput | QuietOutput | JSONOutput data SideActionBlock = NoBlock | StartBlock | InBlock @@ -17,8 +15,7 @@ data SideActionBlock = NoBlock | StartBlock | InBlock data MessageState = MessageState { outputType :: OutputType , sideActionBlock :: SideActionBlock - , fileNotFoundShown :: S.Set FilePath } defaultMessageState :: MessageState -defaultMessageState = MessageState NormalOutput NoBlock S.empty +defaultMessageState = MessageState NormalOutput NoBlock diff --git a/debian/changelog b/debian/changelog index c5cde761c..22eaf0bae 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,6 +10,10 @@ git-annex (5.20140832) UNRELEASED; urgency=medium * The annex-rsync-transport configuration is now also used when checking if a key is present on a rsync remote, and when dropping a key from the remote. + * Promote file not found warning message to an error. + * Fix transfer lock file FD leak that could occur when two separate + git-annex processes were both working to perform the same set of + transfers. -- Joey Hess <joeyh@debian.org> Thu, 04 Sep 2014 16:17:22 -0400 diff --git a/doc/bugs/Assistant_removed_all_references_to_files.mdwn b/doc/bugs/Assistant_removed_all_references_to_files.mdwn index 44be4aef2..4014bc729 100644 --- a/doc/bugs/Assistant_removed_all_references_to_files.mdwn +++ b/doc/bugs/Assistant_removed_all_references_to_files.mdwn @@ -1300,3 +1300,6 @@ fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. """]] + +> This is due to using an old and buggy version of git-annex. This bug was +> fixed 3 full months ago, in version 5.20140709. [[done]] --[[Joey]] diff --git a/doc/bugs/Windows_build_has_hardcoded_paths.mdwn b/doc/bugs/Windows_build_has_hardcoded_paths.mdwn index c4ab9a00f..199d00b03 100644 --- a/doc/bugs/Windows_build_has_hardcoded_paths.mdwn +++ b/doc/bugs/Windows_build_has_hardcoded_paths.mdwn @@ -24,4 +24,16 @@ Windows XP. # End of transcript or log. """]] -[[!meta title="git-annex on windows does not find msgit if user does not let msgit add itsselt to PATH"]] +[[!meta title="git-annex on windows does not find msgit if user does not let msysgit add itsselt to PATH"]] + +> I don't think it's any better for git-annex's installer to prompt for the +> path to git, than it is for msysgit's installer to prompt for adding it +> to the system path. +> +> The best fix would be to bundle msysgit into the git-annex installer +> along with all the other stuff. But, that adds build-time complications +> I would rather avoid. +> +> For now, I am going to treat this as a documentation problem; +> I've updated the install page to be clear that msysgit needs to be +> installed into PATH. [[done]] --[[Joey]] diff --git a/doc/bugs/__39__git_annex_get__39___returns_success_when_file_not_found.mdwn b/doc/bugs/__39__git_annex_get__39___returns_success_when_file_not_found.mdwn index 3c6220cf6..93f2a8fd9 100644 --- a/doc/bugs/__39__git_annex_get__39___returns_success_when_file_not_found.mdwn +++ b/doc/bugs/__39__git_annex_get__39___returns_success_when_file_not_found.mdwn @@ -24,3 +24,7 @@ henry@commsbox:~/work/tmp/test$ echo $? """]] + +> Ok, I can find no reason why it was implemented as a warning in +> 5f3661238de9f31e6fed0be74fca9d5f1659278c in the bug report associated +> with that commit. So, promoted to error. [[done]] --[[Joey]] diff --git a/doc/bugs/cotinually_prompting_for_gpg_passphrase.mdwn b/doc/bugs/cotinually_prompting_for_gpg_passphrase.mdwn index 35c588055..c017cf1a6 100644 --- a/doc/bugs/cotinually_prompting_for_gpg_passphrase.mdwn +++ b/doc/bugs/cotinually_prompting_for_gpg_passphrase.mdwn @@ -63,3 +63,15 @@ error: failed to push some refs to 'gcrypt::/autofs/ext/wdpassport0/annexes/user """]] The section above I clicked cancel on the pinentry dialog as can be seen. The question is, why was it asking me anyway? + +> gpg: anonymous recipient; trying secret key 7426266D ... +> +> That means that you have git-remote-gcrypt configured to use anonymous +> recipients. This causes gpg to try a bunch of gpg keys until it finds one +> that works, rather than immediately trying the right key. +> +> I modified git-remote-gcrypt in July so you can configure +> gcrypt.publish-participants to avoid this problem. +> +> There may also be a local confguration problem; I don't know. In any +> case, it's not git-annex responsible, but git-remote-gcrypt. [[done]] --[[Joey]] diff --git a/doc/bugs/too_many_open_files_on_OSX.mdwn b/doc/bugs/too_many_open_files_on_OSX.mdwn index d30870a3b..2ca89fcf0 100644 --- a/doc/bugs/too_many_open_files_on_OSX.mdwn +++ b/doc/bugs/too_many_open_files_on_OSX.mdwn @@ -36,3 +36,7 @@ lsof -p <my annex process> .../.git/annex/ssh/myserver.lock .../.git/annex/transfer/upload/b4d67c4f-8cca-423c-9363-f3063b7fe3e4/lck.SHA256E-s10448418--4f61fab4... ~200 different files. """]] + +> Thanks for a very clear bug report! Was easy from that to find +> where the lock file was not being closed in this situation. +> [[fixed|done]] --[[Joey]] diff --git a/doc/install/Windows.mdwn b/doc/install/Windows.mdwn index 79aaace92..8cf7a0c3d 100644 --- a/doc/install/Windows.mdwn +++ b/doc/install/Windows.mdwn @@ -1,6 +1,7 @@ git-annex now does Windows! -* First, [install git](http://git-scm.com/downloads) (msysgit 1.9 or newer is needed) +* First, [install git](http://git-scm.com/downloads) (msysgit 1.9 or newer is needed) + ** Be sure to tell the msysgit installer to add git to the PATH. ** * Then, [install git-annex](https://downloads.kitenet.net/git-annex/windows/current/) This port is now in reasonably good shape for command-line use of |