summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Annex/Transfer.hs4
-rw-r--r--CmdLine/Seek.hs3
-rw-r--r--Messages.hs14
-rw-r--r--Types/Messages.hs5
-rw-r--r--debian/changelog4
-rw-r--r--doc/bugs/Assistant_removed_all_references_to_files.mdwn3
-rw-r--r--doc/bugs/Windows_build_has_hardcoded_paths.mdwn14
-rw-r--r--doc/bugs/__39__git_annex_get__39___returns_success_when_file_not_found.mdwn4
-rw-r--r--doc/bugs/cotinually_prompting_for_gpg_passphrase.mdwn12
-rw-r--r--doc/bugs/too_many_open_files_on_OSX.mdwn4
-rw-r--r--doc/install/Windows.mdwn3
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